aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/imports/calendar/DayOfWeekRow.qml71
-rw-r--r--src/imports/calendar/MonthGrid.qml73
-rw-r--r--src/imports/calendar/WeekNumberColumn.qml71
-rw-r--r--src/imports/calendar/calendar.pri24
-rw-r--r--src/imports/calendar/calendar.pro23
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-calendarmodel.pngbin5724 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow-layout.pngbin7455 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow.pngbin2017 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-monthgrid-layout.pngbin8876 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-monthgrid.pngbin3827 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn-layout.pngbin4986 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn.pngbin1453 -> 0 bytes
-rw-r--r--src/imports/calendar/doc/qtlabscalendar.qdocconf41
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml57
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml47
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml35
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml61
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml37
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml49
-rw-r--r--src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml37
-rw-r--r--src/imports/calendar/doc/src/qtlabscalendar-index.qdoc51
-rw-r--r--src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc58
-rw-r--r--src/imports/calendar/plugins.qmltypes161
-rw-r--r--src/imports/calendar/qmldir6
-rw-r--r--src/imports/calendar/qquickcalendar.cpp78
-rw-r--r--src/imports/calendar/qquickcalendar_p.h85
-rw-r--r--src/imports/calendar/qquickcalendarmodel.cpp276
-rw-r--r--src/imports/calendar/qquickcalendarmodel_p.h109
-rw-r--r--src/imports/calendar/qquickdayofweekmodel.cpp121
-rw-r--r--src/imports/calendar/qquickdayofweekmodel_p.h96
-rw-r--r--src/imports/calendar/qquickdayofweekrow.cpp193
-rw-r--r--src/imports/calendar/qquickdayofweekrow_p.h92
-rw-r--r--src/imports/calendar/qquickmonthgrid.cpp449
-rw-r--r--src/imports/calendar/qquickmonthgrid_p.h115
-rw-r--r--src/imports/calendar/qquickmonthmodel.cpp226
-rw-r--r--src/imports/calendar/qquickmonthmodel_p.h115
-rw-r--r--src/imports/calendar/qquickweeknumbercolumn.cpp261
-rw-r--r--src/imports/calendar/qquickweeknumbercolumn_p.h102
-rw-r--r--src/imports/calendar/qquickweeknumbermodel.cpp180
-rw-r--r--src/imports/calendar/qquickweeknumbermodel_p.h104
-rw-r--r--src/imports/calendar/qtlabscalendarplugin.cpp79
-rw-r--r--src/imports/controls/AbstractButton.qml47
-rw-r--r--src/imports/controls/Action.qml40
-rw-r--r--src/imports/controls/ActionGroup.qml40
-rw-r--r--src/imports/controls/ApplicationWindow.qml55
-rw-r--r--src/imports/controls/BusyIndicator.qml63
-rw-r--r--src/imports/controls/Button.qml80
-rw-r--r--src/imports/controls/ButtonGroup.qml40
-rw-r--r--src/imports/controls/CheckBox.qml93
-rw-r--r--src/imports/controls/CheckDelegate.qml110
-rw-r--r--src/imports/controls/ComboBox.qml141
-rw-r--r--src/imports/controls/Container.qml47
-rw-r--r--src/imports/controls/Control.qml47
-rw-r--r--src/imports/controls/DelayButton.qml105
-rw-r--r--src/imports/controls/Dial.qml79
-rw-r--r--src/imports/controls/Dialog.qml86
-rw-r--r--src/imports/controls/DialogButtonBox.qml72
-rw-r--r--src/imports/controls/Drawer.qml79
-rw-r--r--src/imports/controls/Frame.qml56
-rw-r--r--src/imports/controls/GroupBox.qml74
-rw-r--r--src/imports/controls/ItemDelegate.qml77
-rw-r--r--src/imports/controls/Label.qml47
-rw-r--r--src/imports/controls/Menu.qml80
-rw-r--r--src/imports/controls/MenuBar.qml63
-rw-r--r--src/imports/controls/MenuBarItem.qml77
-rw-r--r--src/imports/controls/MenuItem.qml105
-rw-r--r--src/imports/controls/MenuSeparator.qml58
-rw-r--r--src/imports/controls/Page.qml57
-rw-r--r--src/imports/controls/PageIndicator.qml72
-rw-r--r--src/imports/controls/Pane.qml55
-rw-r--r--src/imports/controls/Popup.qml64
-rw-r--r--src/imports/controls/ProgressBar.qml67
-rw-r--r--src/imports/controls/RadioButton.qml86
-rw-r--r--src/imports/controls/RadioDelegate.qml103
-rw-r--r--src/imports/controls/RangeSlider.qml96
-rw-r--r--src/imports/controls/RoundButton.qml81
-rw-r--r--src/imports/controls/ScrollBar.qml76
-rw-r--r--src/imports/controls/ScrollIndicator.qml76
-rw-r--r--src/imports/controls/ScrollView.qml65
-rw-r--r--src/imports/controls/Slider.qml83
-rw-r--r--src/imports/controls/SpinBox.qml135
-rw-r--r--src/imports/controls/SplitView.qml55
-rw-r--r--src/imports/controls/StackView.qml67
-rw-r--r--src/imports/controls/SwipeDelegate.qml78
-rw-r--r--src/imports/controls/SwipeView.qml65
-rw-r--r--src/imports/controls/Switch.qml92
-rw-r--r--src/imports/controls/SwitchDelegate.qml109
-rw-r--r--src/imports/controls/TabBar.qml69
-rw-r--r--src/imports/controls/TabButton.qml73
-rw-r--r--src/imports/controls/TextArea.qml75
-rw-r--r--src/imports/controls/TextField.qml83
-rw-r--r--src/imports/controls/ToolBar.qml54
-rw-r--r--src/imports/controls/ToolButton.qml75
-rw-r--r--src/imports/controls/ToolSeparator.qml58
-rw-r--r--src/imports/controls/ToolTip.qml69
-rw-r--r--src/imports/controls/Tumbler.qml75
-rw-r--r--src/imports/controls/controls.pri70
-rw-r--r--src/imports/controls/controls.pro28
-rw-r--r--src/imports/controls/dependencies.json17
-rw-r--r--src/imports/controls/designer/AbstractButtonSection.qml118
-rw-r--r--src/imports/controls/designer/BusyIndicatorSpecifics.qml74
-rw-r--r--src/imports/controls/designer/ButtonSection.qml80
-rw-r--r--src/imports/controls/designer/ButtonSpecifics.qml63
-rw-r--r--src/imports/controls/designer/CheckBoxSpecifics.qml64
-rw-r--r--src/imports/controls/designer/CheckDelegateSpecifics.qml68
-rw-r--r--src/imports/controls/designer/CheckSection.qml68
-rw-r--r--src/imports/controls/designer/ComboBoxSpecifics.qml119
-rw-r--r--src/imports/controls/designer/ContainerSection.qml59
-rw-r--r--src/imports/controls/designer/ControlSection.qml108
-rw-r--r--src/imports/controls/designer/ControlSpecifics.qml55
-rw-r--r--src/imports/controls/designer/DelayButtonSpecifics.qml81
-rw-r--r--src/imports/controls/designer/DialSpecifics.qml160
-rw-r--r--src/imports/controls/designer/FrameSpecifics.qml59
-rw-r--r--src/imports/controls/designer/GroupBoxSpecifics.qml77
-rw-r--r--src/imports/controls/designer/ItemDelegateSection.qml58
-rw-r--r--src/imports/controls/designer/ItemDelegateSpecifics.qml63
-rw-r--r--src/imports/controls/designer/LabelSpecifics.qml82
-rw-r--r--src/imports/controls/designer/PaddingSection.qml101
-rw-r--r--src/imports/controls/designer/PageIndicatorSpecifics.qml90
-rw-r--r--src/imports/controls/designer/PageSpecifics.qml101
-rw-r--r--src/imports/controls/designer/PaneSection.qml73
-rw-r--r--src/imports/controls/designer/PaneSpecifics.qml59
-rw-r--r--src/imports/controls/designer/ProgressBarSpecifics.qml119
-rw-r--r--src/imports/controls/designer/RadioButtonSpecifics.qml59
-rw-r--r--src/imports/controls/designer/RadioDelegateSpecifics.qml63
-rw-r--r--src/imports/controls/designer/RangeSliderSpecifics.qml175
-rw-r--r--src/imports/controls/designer/RoundButtonSpecifics.qml83
-rw-r--r--src/imports/controls/designer/ScrollViewSpecifics.qml90
-rw-r--r--src/imports/controls/designer/SliderSpecifics.qml160
-rw-r--r--src/imports/controls/designer/SpinBoxSpecifics.qml130
-rw-r--r--src/imports/controls/designer/StackViewSpecifics.qml55
-rw-r--r--src/imports/controls/designer/SwipeDelegateSpecifics.qml63
-rw-r--r--src/imports/controls/designer/SwipeViewSpecifics.qml91
-rw-r--r--src/imports/controls/designer/SwitchDelegateSpecifics.qml59
-rw-r--r--src/imports/controls/designer/SwitchSpecifics.qml59
-rw-r--r--src/imports/controls/designer/TabBarSpecifics.qml107
-rw-r--r--src/imports/controls/designer/TabButtonSpecifics.qml59
-rw-r--r--src/imports/controls/designer/TextAreaSpecifics.qml77
-rw-r--r--src/imports/controls/designer/TextFieldSpecifics.qml74
-rw-r--r--src/imports/controls/designer/ToolBarSpecifics.qml79
-rw-r--r--src/imports/controls/designer/ToolButtonSpecifics.qml63
-rw-r--r--src/imports/controls/designer/ToolSeparatorSpecifics.qml71
-rw-r--r--src/imports/controls/designer/TumblerSpecifics.qml102
-rw-r--r--src/imports/controls/designer/designer.pri51
-rw-r--r--src/imports/controls/designer/images/busyindicator-icon.pngbin320 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/busyindicator-icon16.pngbin229 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/busyindicator-icon@2x.pngbin643 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/button-icon.pngbin162 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/button-icon16.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/button-icon@2x.pngbin259 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/checkbox-icon.pngbin258 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/checkbox-icon16.pngbin230 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/checkbox-icon@2x.pngbin336 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/combobox-icon.pngbin156 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/combobox-icon16.pngbin155 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/combobox-icon@2x.pngbin185 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/delaybutton-icon.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/delaybutton-icon16.pngbin160 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/delaybutton-icon@2x.pngbin286 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/dial-icon.pngbin267 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/dial-icon16.pngbin243 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/dial-icon@2x.pngbin505 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/frame-icon.pngbin121 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/frame-icon16.pngbin117 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/frame-icon@2x.pngbin125 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/groupbox-icon.pngbin133 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/groupbox-icon16.pngbin125 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/groupbox-icon@2x.pngbin136 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/itemdelegate-icon.pngbin127 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/itemdelegate-icon16.pngbin124 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/itemdelegate-icon@2x.pngbin133 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/label-icon.pngbin206 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/label-icon16.pngbin182 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/label-icon@2x.pngbin284 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/page-icon.pngbin190 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/page-icon16.pngbin148 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/page-icon@2x.pngbin195 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/pageindicator-icon.pngbin179 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/pageindicator-icon16.pngbin158 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/pageindicator-icon@2x.pngbin207 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/pane-icon.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/pane-icon16.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/pane-icon@2x.pngbin96 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/progressbar-icon.pngbin101 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/progressbar-icon16.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/progressbar-icon@2x.pngbin127 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/radiobutton-icon.pngbin279 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/radiobutton-icon16.pngbin218 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/radiobutton-icon@2x.pngbin482 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/rangeslider-icon.pngbin269 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/rangeslider-icon16.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/rangeslider-icon@2x.pngbin282 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/roundbutton-icon.pngbin229 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/roundbutton-icon16.pngbin186 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/roundbutton-icon@2x.pngbin381 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/scrollview-icon.pngbin110 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/scrollview-icon16.pngbin116 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/scrollview-icon@2x.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/slider-icon.pngbin190 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/slider-icon16.pngbin156 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/slider-icon@2x.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/spinbox-icon.pngbin144 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/spinbox-icon16.pngbin151 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/spinbox-icon@2x.pngbin178 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/stackview-icon.pngbin162 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/stackview-icon16.pngbin151 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/stackview-icon@2x.pngbin167 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/swipeview-icon.pngbin163 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/swipeview-icon16.pngbin152 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/swipeview-icon@2x.pngbin184 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/switch-icon.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/switch-icon16.pngbin160 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/switch-icon@2x.pngbin314 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/textarea-icon.pngbin149 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/textarea-icon16.pngbin133 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/textarea-icon@2x.pngbin163 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/textfield-icon.pngbin154 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/textfield-icon16.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/textfield-icon@2x.pngbin172 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolbar-icon.pngbin131 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolbar-icon16.pngbin114 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolbar-icon@2x.pngbin140 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolbutton-icon.pngbin141 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolbutton-icon16.pngbin128 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolbutton-icon@2x.pngbin158 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolseparator-icon.pngbin111 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolseparator-icon16.pngbin123 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/toolseparator-icon@2x.pngbin131 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/tumbler-icon.pngbin132 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/tumbler-icon16.pngbin127 -> 0 bytes
-rw-r--r--src/imports/controls/designer/images/tumbler-icon@2x.pngbin153 -> 0 bytes
-rw-r--r--src/imports/controls/designer/qtquickcontrols2.metainfo522
-rw-r--r--src/imports/controls/doc/doc.pri7
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-applicationwindow-wireframe.pngbin8518 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-busyindicator-custom.pngbin1502 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-busyindicator.gifbin17357 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-busyindicator.pngbin1713 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-custom.pngbin1512 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-flat.gifbin2388 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-highlighted.gifbin1856 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-icononly.pngbin626 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-textbesideicon.pngbin1827 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-textonly.pngbin1470 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-textundericon.pngbin5980 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button.gifbin4140 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkbox-custom.pngbin2268 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkbox-group.pngbin3675 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gifbin8784 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkbox.gifbin6403 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-custom.pngbin2619 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-tristate.gifbin10487 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-checkdelegate.gifbin15290 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-combobox-custom.pngbin1169 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-combobox-delegate.pngbin1343 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-combobox-popup.pngbin1343 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-combobox.gifbin7873 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-control.pngbin53439 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-control.svg936
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-customize-buttons.pngbin3224 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-default-thumbnail.pngbin6159 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-default.pngbin16855 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-delaybutton-custom.pngbin7340 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-delaybutton.gifbin12595 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial-custom.pngbin6274 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial-handle.pngbin5703 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial-inputMode.svgzbin2753 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial-inputmode.pngbin12922 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial-no-wrap.gifbin52372 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial-wrap.gifbin70792 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dial.pngbin7204 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox-attached.pngbin1993 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox.pngbin1987 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-drawer-expanded-wireframe.pngbin3004 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-drawer-wireframe.pngbin3956 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-drawer.gifbin55780 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-frame-custom.pngbin2261 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-frame.pngbin3824 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-fusion-palettes.pngbin12467 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-fusion-thumbnail.pngbin7522 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-fusion-violet.pngbin3763 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-fusion.pngbin12316 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-groupbox-checkable.pngbin6388 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-groupbox-custom.pngbin3551 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-groupbox-label.pngbin2052 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-groupbox.pngbin5682 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-4x.pngbin6210 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset-boundaries.pngbin7797 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset.pngbin2435 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-padding.pngbin27813 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-stretchable.pngbin24222 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-size.pngbin7982 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch.svgzbin7598 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-customization-dark.pngbin4542 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-customization.svgzbin2215 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine-thumbnail.pngbin5192 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-imagine.pngbin10113 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-itemdelegate-custom.pngbin1812 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.gifbin16287 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.pngbin7029 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-label-custom.pngbin963 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-label.pngbin946 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-accent.pngbin1633 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-attributes.pngbin8934 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-background.pngbin1883 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-dark.pngbin14996 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-elevation.pngbin3087 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-foreground.pngbin1726 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-light.pngbin14682 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-purple.pngbin4981 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-theme.pngbin2002 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-thumbnail.pngbin12572 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-variant-dense.pngbin21059 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-material-variant-normal.pngbin22897 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menu-custom.pngbin8745 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menu.gifbin4683 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menu.pngbin4821 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menubar-custom.pngbin3392 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menubar.pngbin10188 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menuseparator-custom.pngbin5574 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-menuseparator.pngbin5614 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-page-wireframe.pngbin1795 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-pageindicator-custom.pngbin396 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-pageindicator-delegate.pngbin498 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-pageindicator.pngbin416 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-pane-custom.pngbin2244 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-pane.pngbin3561 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-popup-custom.pngbin630 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-popup-settings.pngbin12440 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-popup-transformorigin.pngbin8927 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-popup.pngbin67730 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-popup.svg712
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-progressbar-custom.pngbin226 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-progressbar-indeterminate.gifbin5882 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-progressbar.gifbin2072 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-radiobutton-custom.pngbin2868 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-radiobutton.gifbin7993 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-radiodelegate-custom.pngbin3135 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-radiodelegate.gifbin16859 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-rangeslider-custom.pngbin1077 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-rangeslider.gifbin24125 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-roundbutton.pngbin1001 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollbar-custom.pngbin236 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollbar-non-attached.pngbin5459 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollbar-nosnap.gifbin5271 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snapalways.gifbin4707 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snaponrelease.gifbin5646 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollbar.gifbin32067 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-custom.pngbin123 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-non-attached.pngbin5280 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollindicator.gifbin42352 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollview-custom.pngbin5909 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollview-wireframe.pngbin1343 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-scrollview.pngbin5922 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-slider-custom.pngbin954 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-slider-handle.pngbin967 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-slider-nosnap.gifbin18138 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-slider-snapalways.gifbin7201 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-slider-snaponrelease.gifbin18377 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-slider.gifbin13697 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-spinbox-custom.pngbin1175 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-spinbox-double.pngbin933 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-spinbox-down.pngbin984 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-spinbox-textual.pngbin1505 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-spinbox-up.pngbin995 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-spinbox.pngbin989 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-splitview-custom.pngbin383 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-custom.pngbin200 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-pop.gifbin23801 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-push.gifbin42790 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-replace.gifbin28882 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-unwind.gifbin23744 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-visible.pngbin1083 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-stackview-wireframe.pngbin646 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-styles.pngbin115398 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-behind.gifbin248344 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-custom.pngbin2434 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-leading-trailing.gifbin132134 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipedelegate.gifbin123494 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipeview-indicator.pngbin695 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipeview-wireframe.pngbin1583 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-swipeview.gifbin35983 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch-checked.pngbin2427 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch-custom.pngbin2251 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch.gifbin3466 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch.pngbin2669 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switchdelegate-custom.pngbin3567 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switchdelegate.gifbin38688 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbar-custom.pngbin3568 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbar-explicit.pngbin2701 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbar-flickable.pngbin3349 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbar-wireframe.pngbin609 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbar.gifbin8590 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbar.pngbin3882 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tabbutton.pngbin3597 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textarea-custom.pngbin1974 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textarea-scrollable.pngbin1942 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textarea.pngbin2238 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textfield-custom.pngbin2387 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textfield-disabled.pngbin1282 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textfield-focused.pngbin1633 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textfield-normal.pngbin1325 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-textfield.pngbin2088 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-toolbar-custom.pngbin1531 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-toolbar.pngbin1186 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-toolbutton-custom.pngbin1419 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-toolbutton.pngbin1683 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-toolseparator-custom.pngbin4729 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-toolseparator.pngbin7148 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tooltip-delay.pngbin1278 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tooltip-hover.pngbin1205 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tooltip-pressandhold.pngbin1205 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tooltip-slider.pngbin2057 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tooltip.pngbin6315 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tumbler-custom.pngbin2282 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tumbler-delegate.pngbin1176 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tumbler-wrap.gifbin54328 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-tumbler.pngbin1123 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-accent.pngbin1079 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-attributes.pngbin6181 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-background.pngbin1326 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-button.pngbin674 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-dark.pngbin12152 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-foreground.pngbin1027 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-light.pngbin12564 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-theme.pngbin1386 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-thumbnail.pngbin9512 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-universal-violet.pngbin2894 -> 0 bytes
-rw-r--r--src/imports/controls/doc/manifest-meta.qdocconf35
-rw-r--r--src/imports/controls/doc/qtquickcontrols.qdocconf104
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-action.qml56
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-busyindicator-custom.qml88
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-button-custom.qml55
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-button-icononly.qml34
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-button-textbesideicon.qml35
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-button-textonly.qml34
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml65
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-group.qml58
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml74
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-combobox-accepted.qml45
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml112
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-combobox-valuerole.qml58
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-delaybutton-custom.qml82
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-dial-custom.qml67
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modal.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modeless.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-dialog.qml44
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox-attached.qml42
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox.qml38
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-frame-custom.qml43
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-frame.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-checkable.qml48
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-custom.qml57
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-groupbox.qml42
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml59
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate.qml46
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-label-custom.qml36
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-label.qml35
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-material-accent.qml43
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-material-background.qml42
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-material-elevation.qml51
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-material-foreground.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-material-theme.qml44
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-material-variant.qml212
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-menu-custom.qml133
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-menubar-custom.qml84
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-menubar.qml67
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator-custom.qml69
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator.qml60
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modal.qml55
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modeless.qml55
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-custom.qml53
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-interactive.qml58
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator.qml35
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-pane-custom.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-pane.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-popup-custom.qml53
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-popup.qml46
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-progressbar-custom.qml56
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml65
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml74
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-rangeslider-custom.qml76
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-roundbutton.qml36
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-active.qml46
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-custom.qml46
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-non-attached.qml80
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-policy.qml38
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-active.qml46
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-custom.qml45
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-non-attached.qml84
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-custom.qml81
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-interactive.qml38
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-listview.qml61
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-policy.qml38
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-scrollview.qml61
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-slider-custom.qml64
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-custom.qml96
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-double.qml56
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml55
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-spinbox.qml35
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-splitview-custom.qml57
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-stackview-custom.qml53
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-stackview-visible.qml76
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml72
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-transition.qml37
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate.qml82
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-custom.qml39
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-indicator.qml63
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml64
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml73
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-custom.qml49
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-explicit.qml52
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-flickable.qml50
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tabbar.qml64
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tabbutton.qml43
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-textarea-custom.qml42
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-textarea-scrollable.qml47
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-textfield-custom.qml43
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-textfield-disabled.qml35
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-textfield-focused.qml35
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-textfield-normal.qml34
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-toolbar-custom.qml59
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-toolbar.qml62
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-toolbutton-custom.qml55
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator-custom.qml69
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator.qml68
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-custom.qml48
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-hover.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-pressandhold.qml39
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml53
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml51
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-custom.qml78
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-listView.qml46
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-pathView.qml57
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-timePicker.qml86
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-universal-accent.qml43
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-universal-background.qml44
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-universal-foreground.qml41
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-universal-theme.qml44
-rw-r--r--src/imports/controls/doc/src/includes/inputmethodhints.qdocinc38
-rw-r--r--src/imports/controls/doc/src/includes/qquickcontrol-background.qdocinc13
-rw-r--r--src/imports/controls/doc/src/includes/qquickcontrol-focusreason.qdocinc15
-rw-r--r--src/imports/controls/doc/src/includes/qquickdial.qdocinc13
-rw-r--r--src/imports/controls/doc/src/includes/qquickicon.qdocinc48
-rw-r--r--src/imports/controls/doc/src/includes/qquickimaginestyle.qdocinc57
-rw-r--r--src/imports/controls/doc/src/includes/qquickmaterialstyle.qdocinc79
-rw-r--r--src/imports/controls/doc/src/includes/qquickoverlay-popup-parent.qdocinc20
-rw-r--r--src/imports/controls/doc/src/includes/qquickpopup-padding.qdocinc10
-rw-r--r--src/imports/controls/doc/src/includes/qquickstackview.qdocinc5
-rw-r--r--src/imports/controls/doc/src/includes/qquickswipedelegate-interaction.qdocinc5
-rw-r--r--src/imports/controls/doc/src/includes/qquickswitch.qdocinc28
-rw-r--r--src/imports/controls/doc/src/includes/qquickuniversalstyle.qdocinc53
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-buttons.qdoc191
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc206
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-containers.qdoc113
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-cppclasses.qdoc54
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc893
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-default.qdoc55
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-delegates.qdoc79
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-deployment.qdoc97
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc689
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-environment.qdoc84
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-examples.qdoc37
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-fileselectors.qdoc141
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-focus.qdoc48
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-fusion.qdoc93
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-gettingstarted.qdoc87
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-guidelines.qdoc46
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-highdpi.qdoc63
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-icons.qdoc170
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc2529
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-index.qdoc188
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-indicators.qdoc83
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-input.qdoc123
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-material.qdoc404
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-menus.qdoc68
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-navigation.qdoc70
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc107
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-popups.qdoc99
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc58
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-separators.qdoc63
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc146
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc288
-rw-r--r--src/imports/controls/fusion/ApplicationWindow.qml55
-rw-r--r--src/imports/controls/fusion/BusyIndicator.qml71
-rw-r--r--src/imports/controls/fusion/Button.qml76
-rw-r--r--src/imports/controls/fusion/ButtonPanel.qml77
-rw-r--r--src/imports/controls/fusion/CheckBox.qml72
-rw-r--r--src/imports/controls/fusion/CheckDelegate.qml87
-rw-r--r--src/imports/controls/fusion/CheckIndicator.qml92
-rw-r--r--src/imports/controls/fusion/ComboBox.qml175
-rw-r--r--src/imports/controls/fusion/DelayButton.qml116
-rw-r--r--src/imports/controls/fusion/Dial.qml76
-rw-r--r--src/imports/controls/fusion/Dialog.qml100
-rw-r--r--src/imports/controls/fusion/DialogButtonBox.qml74
-rw-r--r--src/imports/controls/fusion/Drawer.qml89
-rw-r--r--src/imports/controls/fusion/Frame.qml58
-rw-r--r--src/imports/controls/fusion/GroupBox.qml77
-rw-r--r--src/imports/controls/fusion/ItemDelegate.qml77
-rw-r--r--src/imports/controls/fusion/Label.qml49
-rw-r--r--src/imports/controls/fusion/Menu.qml93
-rw-r--r--src/imports/controls/fusion/MenuBar.qml74
-rw-r--r--src/imports/controls/fusion/MenuBarItem.qml78
-rw-r--r--src/imports/controls/fusion/MenuItem.qml103
-rw-r--r--src/imports/controls/fusion/MenuSeparator.qml60
-rw-r--r--src/imports/controls/fusion/Page.qml59
-rw-r--r--src/imports/controls/fusion/PageIndicator.qml74
-rw-r--r--src/imports/controls/fusion/Pane.qml57
-rw-r--r--src/imports/controls/fusion/Popup.qml67
-rw-r--r--src/imports/controls/fusion/ProgressBar.qml117
-rw-r--r--src/imports/controls/fusion/RadioButton.qml72
-rw-r--r--src/imports/controls/fusion/RadioDelegate.qml87
-rw-r--r--src/imports/controls/fusion/RadioIndicator.qml78
-rw-r--r--src/imports/controls/fusion/RangeSlider.qml82
-rw-r--r--src/imports/controls/fusion/RoundButton.qml99
-rw-r--r--src/imports/controls/fusion/ScrollBar.qml78
-rw-r--r--src/imports/controls/fusion/ScrollIndicator.qml78
-rw-r--r--src/imports/controls/fusion/Slider.qml68
-rw-r--r--src/imports/controls/fusion/SliderGroove.qml94
-rw-r--r--src/imports/controls/fusion/SliderHandle.qml86
-rw-r--r--src/imports/controls/fusion/SpinBox.qml182
-rw-r--r--src/imports/controls/fusion/SplitView.qml56
-rw-r--r--src/imports/controls/fusion/SwipeDelegate.qml79
-rw-r--r--src/imports/controls/fusion/Switch.qml72
-rw-r--r--src/imports/controls/fusion/SwitchDelegate.qml86
-rw-r--r--src/imports/controls/fusion/SwitchIndicator.qml137
-rw-r--r--src/imports/controls/fusion/TabBar.qml80
-rw-r--r--src/imports/controls/fusion/TabButton.qml97
-rw-r--r--src/imports/controls/fusion/TextArea.qml77
-rw-r--r--src/imports/controls/fusion/TextField.qml103
-rw-r--r--src/imports/controls/fusion/ToolBar.qml83
-rw-r--r--src/imports/controls/fusion/ToolButton.qml76
-rw-r--r--src/imports/controls/fusion/ToolSeparator.qml67
-rw-r--r--src/imports/controls/fusion/ToolTip.qml80
-rw-r--r--src/imports/controls/fusion/Tumbler.qml77
-rw-r--r--src/imports/controls/fusion/dependencies.json7
-rw-r--r--src/imports/controls/fusion/fusion.pri67
-rw-r--r--src/imports/controls/fusion/fusion.pro27
-rw-r--r--src/imports/controls/fusion/images/arrow.pngbin195 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/arrow.svg75
-rw-r--r--src/imports/controls/fusion/images/arrow@2x.pngbin219 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/arrow@3x.pngbin245 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/arrow@4x.pngbin290 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/checkmark.pngbin255 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/checkmark.svg72
-rw-r--r--src/imports/controls/fusion/images/checkmark@2x.pngbin390 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/checkmark@3x.pngbin494 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/checkmark@4x.pngbin556 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/progressmask.pngbin383 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/progressmask.svg74
-rw-r--r--src/imports/controls/fusion/images/progressmask@2x.pngbin660 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/progressmask@3x.pngbin866 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/images/progressmask@4x.pngbin1103 -> 0 bytes
-rw-r--r--src/imports/controls/fusion/plugins.qmltypes214
-rw-r--r--src/imports/controls/fusion/qmldir4
-rw-r--r--src/imports/controls/fusion/qquickfusionbusyindicator.cpp111
-rw-r--r--src/imports/controls/fusion/qquickfusionbusyindicator_p.h82
-rw-r--r--src/imports/controls/fusion/qquickfusiondial.cpp151
-rw-r--r--src/imports/controls/fusion/qquickfusiondial_p.h80
-rw-r--r--src/imports/controls/fusion/qquickfusionknob.cpp99
-rw-r--r--src/imports/controls/fusion/qquickfusionknob_p.h75
-rw-r--r--src/imports/controls/fusion/qquickfusionstyle.cpp149
-rw-r--r--src/imports/controls/fusion/qquickfusionstyle_p.h87
-rw-r--r--src/imports/controls/fusion/qquickfusiontheme.cpp55
-rw-r--r--src/imports/controls/fusion/qquickfusiontheme_p.h65
-rw-r--r--src/imports/controls/fusion/qtquickcontrols2fusionstyle.qrc16
-rw-r--r--src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp107
-rw-r--r--src/imports/controls/images/arrow-indicator.pngbin260 -> 0 bytes
-rw-r--r--src/imports/controls/images/arrow-indicator@2x.pngbin343 -> 0 bytes
-rw-r--r--src/imports/controls/images/arrow-indicator@3x.pngbin438 -> 0 bytes
-rw-r--r--src/imports/controls/images/arrow-indicator@4x.pngbin545 -> 0 bytes
-rw-r--r--src/imports/controls/images/check.pngbin424 -> 0 bytes
-rw-r--r--src/imports/controls/images/check@2x.pngbin997 -> 0 bytes
-rw-r--r--src/imports/controls/images/check@3x.pngbin1433 -> 0 bytes
-rw-r--r--src/imports/controls/images/check@4x.pngbin1931 -> 0 bytes
-rw-r--r--src/imports/controls/images/dial-indicator.pngbin214 -> 0 bytes
-rw-r--r--src/imports/controls/images/dial-indicator@2x.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/images/dial-indicator@3x.pngbin384 -> 0 bytes
-rw-r--r--src/imports/controls/images/dial-indicator@4x.pngbin463 -> 0 bytes
-rw-r--r--src/imports/controls/images/double-arrow.pngbin491 -> 0 bytes
-rw-r--r--src/imports/controls/images/double-arrow@2x.pngbin937 -> 0 bytes
-rw-r--r--src/imports/controls/images/double-arrow@3x.pngbin1368 -> 0 bytes
-rw-r--r--src/imports/controls/images/double-arrow@4x.pngbin1833 -> 0 bytes
-rw-r--r--src/imports/controls/images/drop-indicator.pngbin157 -> 0 bytes
-rw-r--r--src/imports/controls/images/drop-indicator@2x.pngbin226 -> 0 bytes
-rw-r--r--src/imports/controls/images/drop-indicator@3x.pngbin297 -> 0 bytes
-rw-r--r--src/imports/controls/images/drop-indicator@4x.pngbin507 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/ApplicationWindow.qml77
-rw-r--r--src/imports/controls/imagine/BusyIndicator.qml88
-rw-r--r--src/imports/controls/imagine/Button.qml99
-rw-r--r--src/imports/controls/imagine/CheckBox.qml106
-rw-r--r--src/imports/controls/imagine/CheckDelegate.qml118
-rw-r--r--src/imports/controls/imagine/ComboBox.qml173
-rw-r--r--src/imports/controls/imagine/DelayButton.qml138
-rw-r--r--src/imports/controls/imagine/Dial.qml104
-rw-r--r--src/imports/controls/imagine/Dialog.qml117
-rw-r--r--src/imports/controls/imagine/DialogButtonBox.qml85
-rw-r--r--src/imports/controls/imagine/Drawer.qml96
-rw-r--r--src/imports/controls/imagine/Frame.qml69
-rw-r--r--src/imports/controls/imagine/GroupBox.qml101
-rw-r--r--src/imports/controls/imagine/ItemDelegate.qml94
-rw-r--r--src/imports/controls/imagine/Label.qml63
-rw-r--r--src/imports/controls/imagine/Menu.qml106
-rw-r--r--src/imports/controls/imagine/MenuItem.qml138
-rw-r--r--src/imports/controls/imagine/MenuSeparator.qml79
-rw-r--r--src/imports/controls/imagine/Page.qml73
-rw-r--r--src/imports/controls/imagine/PageIndicator.qml92
-rw-r--r--src/imports/controls/imagine/Pane.qml69
-rw-r--r--src/imports/controls/imagine/Popup.qml87
-rw-r--r--src/imports/controls/imagine/ProgressBar.qml142
-rw-r--r--src/imports/controls/imagine/RadioButton.qml104
-rw-r--r--src/imports/controls/imagine/RadioDelegate.qml116
-rw-r--r--src/imports/controls/imagine/RangeSlider.qml134
-rw-r--r--src/imports/controls/imagine/RoundButton.qml98
-rw-r--r--src/imports/controls/imagine/ScrollBar.qml119
-rw-r--r--src/imports/controls/imagine/ScrollIndicator.qml111
-rw-r--r--src/imports/controls/imagine/ScrollView.qml86
-rw-r--r--src/imports/controls/imagine/Slider.qml120
-rw-r--r--src/imports/controls/imagine/SpinBox.qml152
-rw-r--r--src/imports/controls/imagine/SplitView.qml63
-rw-r--r--src/imports/controls/imagine/StackView.qml91
-rw-r--r--src/imports/controls/imagine/SwipeDelegate.qml96
-rw-r--r--src/imports/controls/imagine/SwipeView.qml89
-rw-r--r--src/imports/controls/imagine/Switch.qml134
-rw-r--r--src/imports/controls/imagine/SwitchDelegate.qml147
-rw-r--r--src/imports/controls/imagine/TabBar.qml87
-rw-r--r--src/imports/controls/imagine/TabButton.qml92
-rw-r--r--src/imports/controls/imagine/TextArea.qml97
-rw-r--r--src/imports/controls/imagine/TextField.qml96
-rw-r--r--src/imports/controls/imagine/ToolBar.qml71
-rw-r--r--src/imports/controls/imagine/ToolButton.qml95
-rw-r--r--src/imports/controls/imagine/ToolSeparator.qml83
-rw-r--r--src/imports/controls/imagine/ToolTip.qml85
-rw-r--r--src/imports/controls/imagine/Tumbler.qml94
-rw-r--r--src/imports/controls/imagine/dependencies.json7
-rw-r--r--src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/9-patch-export.js24
-rw-r--r--src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/manifest.json19
-rw-r--r--src/imports/controls/imagine/design/imagine.sketchbin164993 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-background.pngbin84 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-background@2x.pngbin91 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-background@3x.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-background@4x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay-modal.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay-modal@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay-modal@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay-modal@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/applicationwindow-overlay@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/busyindicator-animation.webpbin30116 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/busyindicator-animation@2x.webpbin56588 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/busyindicator-animation@3x.webpbin77816 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/busyindicator-animation@4x.webpbin103290 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-disabled.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-disabled@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-disabled@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-disabled@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-focused.9.pngbin355 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-focused@2x.9.pngbin730 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-focused@3x.9.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-focused@4x.9.pngbin1653 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-hovered.9.pngbin355 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-hovered@2x.9.pngbin730 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-hovered@3x.9.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked-hovered@4x.9.pngbin1653 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked.9.pngbin372 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked@2x.9.pngbin694 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked@3x.9.pngbin1170 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-checked@4x.9.pngbin1723 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-disabled.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-disabled@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-disabled@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-disabled@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked-pressed.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked-pressed@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked-pressed@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked-pressed@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-checked@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-disabled.9.pngbin197 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-disabled@2x.9.pngbin308 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-disabled@3x.9.pngbin589 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-disabled@4x.9.pngbin860 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-checked.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-checked@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-checked@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-checked@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-pressed.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted.9.pngbin197 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted@2x.9.pngbin308 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted@3x.9.pngbin589 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-highlighted@4x.9.pngbin860 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-hovered.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-hovered@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-hovered@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-hovered@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-pressed.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-pressed@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-pressed@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat-pressed@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat.9.pngbin197 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat@2x.9.pngbin308 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat@3x.9.pngbin589 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-flat@4x.9.pngbin860 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-focused.9.pngbin341 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-focused@2x.9.pngbin663 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-focused@3x.9.pngbin1120 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-focused@4x.9.pngbin1584 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-checked.9.pngbin342 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-checked@2x.9.pngbin658 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-checked@3x.9.pngbin1122 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-checked@4x.9.pngbin1583 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-disabled.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-disabled@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-disabled@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-disabled@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-focused.9.pngbin342 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-focused@2x.9.pngbin712 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-focused@3x.9.pngbin1075 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-focused@4x.9.pngbin1577 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-hovered.9.pngbin342 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-hovered@2x.9.pngbin712 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-hovered@3x.9.pngbin1075 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-hovered@4x.9.pngbin1577 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-pressed.9.pngbin342 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-pressed@2x.9.pngbin658 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-pressed@3x.9.pngbin1122 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted-pressed@4x.9.pngbin1583 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted.9.pngbin355 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted@2x.9.pngbin727 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted@3x.9.pngbin1145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-highlighted@4x.9.pngbin1686 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-hovered.9.pngbin341 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-hovered@2x.9.pngbin663 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-hovered@3x.9.pngbin1120 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-hovered@4x.9.pngbin1584 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-pressed.9.pngbin372 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-pressed@2x.9.pngbin694 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-pressed@3x.9.pngbin1170 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background-pressed@4x.9.pngbin1723 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background.9.pngbin358 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background@2x.9.pngbin650 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background@3x.9.pngbin1145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/button-background@4x.9.pngbin1600 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-focused.pngbin394 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-focused@2x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-focused@3x.pngbin1059 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-focused@4x.pngbin1514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-hovered.pngbin394 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@2x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@3x.pngbin1059 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@4x.pngbin1514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-pressed.pngbin436 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@2x.pngbin799 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@3x.pngbin1186 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@4x.pngbin1672 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked@2x.pngbin795 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked@3x.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-checked@4x.pngbin1625 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-disabled.pngbin167 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-disabled@2x.pngbin289 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-disabled@3x.pngbin433 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-disabled@4x.pngbin695 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-focused.pngbin165 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-focused@2x.pngbin292 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-focused@3x.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-focused@4x.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-hovered.pngbin165 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-hovered@2x.pngbin292 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-hovered@3x.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-hovered@4x.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused.pngbin185 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@2x.pngbin330 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@3x.pngbin473 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@4x.pngbin702 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered.pngbin185 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@2x.pngbin330 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@3x.pngbin473 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@4x.pngbin702 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed.pngbin191 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@2x.pngbin332 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@3x.pngbin491 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@4x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked.pngbin190 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked@2x.pngbin340 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked@3x.pngbin477 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-partially-checked@4x.pngbin713 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-pressed.pngbin164 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-pressed@2x.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-pressed@3x.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator-pressed@4x.pngbin615 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator.pngbin168 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator@2x.pngbin299 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator@3x.pngbin427 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkbox-indicator@4x.pngbin623 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-disabled.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-disabled@2x.9.pngbin201 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-disabled@3x.9.pngbin228 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-disabled@4x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-focused.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-focused@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-focused@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-focused@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-highlighted.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-highlighted@2x.9.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-highlighted@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-highlighted@4x.9.pngbin307 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-hovered.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-hovered@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-hovered@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-hovered@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-pressed.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-pressed@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-pressed@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background-pressed@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-background@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused.pngbin394 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@2x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@3x.pngbin1059 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@4x.pngbin1514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered.pngbin394 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@2x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@3x.pngbin1059 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@4x.pngbin1514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed.pngbin436 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@2x.pngbin799 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@3x.pngbin1186 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@4x.pngbin1672 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked@2x.pngbin795 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked@3x.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-checked@4x.pngbin1625 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-disabled.pngbin167 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-disabled@2x.pngbin289 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-disabled@3x.pngbin433 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-disabled@4x.pngbin695 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-focused.pngbin165 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-focused@2x.pngbin292 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-focused@3x.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-focused@4x.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-hovered.pngbin165 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-hovered@2x.pngbin292 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-hovered@3x.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-hovered@4x.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused.pngbin185 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@2x.pngbin330 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@3x.pngbin473 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@4x.pngbin702 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered.pngbin185 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@2x.pngbin330 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@3x.pngbin473 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@4x.pngbin702 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed.pngbin191 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@2x.pngbin332 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@3x.pngbin491 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@4x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked.pngbin190 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@2x.pngbin340 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@3x.pngbin477 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@4x.pngbin713 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-pressed.pngbin164 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-pressed@2x.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-pressed@3x.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator-pressed@4x.pngbin615 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator.pngbin168 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator@2x.pngbin299 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator@3x.pngbin427 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/checkdelegate-indicator@4x.pngbin623 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-disabled.9.pngbin450 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-disabled@2x.9.pngbin986 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-disabled@3x.9.pngbin1655 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-disabled@4x.9.pngbin2297 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-disabled.9.pngbin435 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-disabled@2x.9.pngbin993 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-disabled@3x.9.pngbin1652 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-disabled@4x.9.pngbin2400 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-focused.9.pngbin447 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-focused@2x.9.pngbin1114 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-focused@3x.9.pngbin1905 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable-focused@4x.9.pngbin2792 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable.9.pngbin460 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable@2x.9.pngbin1185 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable@3x.9.pngbin1898 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-editable@4x.9.pngbin2750 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-focused.9.pngbin443 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-focused@2x.9.pngbin957 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-focused@3x.9.pngbin1630 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-focused@4x.9.pngbin2392 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-hovered.9.pngbin443 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-hovered@2x.9.pngbin957 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-hovered@3x.9.pngbin1630 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-hovered@4x.9.pngbin2392 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-open.9.pngbin475 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-open@2x.9.pngbin1018 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-open@3x.9.pngbin1693 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-open@4x.9.pngbin2461 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-pressed.9.pngbin475 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-pressed@2x.9.pngbin1018 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-pressed@3x.9.pngbin1693 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background-pressed@4x.9.pngbin2461 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background.9.pngbin461 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background@2x.9.pngbin930 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background@3x.9.pngbin1635 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-background@4x.9.pngbin2273 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-disabled.pngbin215 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-disabled@2x.pngbin261 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-disabled@3x.pngbin426 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-disabled@4x.pngbin530 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-disabled.pngbin316 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-disabled@2x.pngbin559 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-disabled@3x.pngbin937 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-disabled@4x.pngbin1188 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled.pngbin333 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@2x.pngbin544 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@3x.pngbin885 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@4x.pngbin1291 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored.pngbin361 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@2x.pngbin589 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@3x.pngbin939 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@4x.pngbin1350 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable.pngbin346 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable@2x.pngbin558 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable@3x.pngbin971 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator-editable@4x.pngbin1314 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator.pngbin190 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator@2x.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator@3x.pngbin407 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-indicator@4x.pngbin533 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-popup.9.pngbin664 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-popup@2x.9.pngbin1398 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-popup@3x.9.pngbin2438 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/combobox-popup@4x.9.pngbin3448 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-focused.9.pngbin355 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-focused@2x.9.pngbin730 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-focused@3x.9.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-focused@4x.9.pngbin1653 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-hovered.9.pngbin355 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-hovered@2x.9.pngbin730 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-hovered@3x.9.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked-hovered@4x.9.pngbin1653 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked.9.pngbin372 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked@2x.9.pngbin694 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked@3x.9.pngbin1170 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-checked@4x.9.pngbin1723 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled-checked.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled-checked@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled-checked@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled-checked@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled.9.pngbin351 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled@2x.9.pngbin711 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled@3x.9.pngbin1070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-disabled@4x.9.pngbin1696 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-focused.9.pngbin342 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-focused@2x.9.pngbin649 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-focused@3x.9.pngbin1170 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-focused@4x.9.pngbin1687 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-hovered.9.pngbin341 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-hovered@2x.9.pngbin663 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-hovered@3x.9.pngbin1120 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-hovered@4x.9.pngbin1584 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-pressed.9.pngbin372 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-pressed@2x.9.pngbin694 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-pressed@3x.9.pngbin1170 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background-pressed@4x.9.pngbin1723 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background.9.pngbin358 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background@2x.9.pngbin650 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background@3x.9.pngbin1145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-background@4x.9.pngbin1600 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-mask.9.pngbin297 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-mask@2x.9.pngbin645 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-mask@3x.9.pngbin1066 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-mask@4x.9.pngbin1499 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress-disabled.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress-disabled@2x.9.pngbin366 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress-disabled@3x.9.pngbin676 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress-disabled@4x.9.pngbin938 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress.9.pngbin229 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress@2x.9.pngbin368 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress@3x.9.pngbin678 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/delaybutton-progress@4x.9.pngbin940 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-disabled.pngbin6691 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-disabled@2x.pngbin15224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-disabled@3x.pngbin25013 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-disabled@4x.pngbin36000 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-focused.pngbin6852 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-focused@2x.pngbin15317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-focused@3x.pngbin25211 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background-focused@4x.pngbin36274 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background.pngbin6798 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background@2x.pngbin15237 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background@3x.pngbin25121 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-background@4x.pngbin36025 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-disabled.pngbin191 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-disabled@2x.pngbin256 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-disabled@3x.pngbin316 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-disabled@4x.pngbin367 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-hovered.pngbin185 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-hovered@2x.pngbin254 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-hovered@3x.pngbin321 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-hovered@4x.pngbin371 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-pressed.pngbin188 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-pressed@2x.pngbin255 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-pressed@3x.pngbin323 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused-pressed@4x.pngbin386 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused@2x.pngbin263 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused@3x.pngbin320 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-focused@4x.pngbin380 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-hovered.pngbin178 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-hovered@2x.pngbin253 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-hovered@3x.pngbin312 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-hovered@4x.pngbin367 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-pressed.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-pressed@2x.pngbin274 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-pressed@3x.pngbin332 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle-pressed@4x.pngbin398 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle@2x.pngbin253 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle@3x.pngbin320 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dial-handle@4x.pngbin378 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-background.9.pngbin663 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-background@2x.9.pngbin1415 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-background@3x.9.pngbin2438 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-background@4x.9.pngbin3437 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay-modal.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay-modal@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay-modal@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay-modal@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialog-overlay@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialogbuttonbox-background.9.pngbin128 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialogbuttonbox-background@2x.9.pngbin173 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialogbuttonbox-background@3x.9.pngbin232 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/dialogbuttonbox-background@4x.9.pngbin274 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-bottom.9.pngbin315 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-bottom@2x.9.pngbin598 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-bottom@3x.9.pngbin1042 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-bottom@4x.9.pngbin1716 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-left.9.pngbin314 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-left@2x.9.pngbin699 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-left@3x.9.pngbin1001 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-left@4x.9.pngbin1628 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-right.9.pngbin317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-right@2x.9.pngbin710 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-right@3x.9.pngbin1189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-right@4x.9.pngbin1684 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-top.9.pngbin308 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-top@2x.9.pngbin572 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-top@3x.9.pngbin1137 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-background-top@4x.9.pngbin1739 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay-modal.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay-modal@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay-modal@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay-modal@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/drawer-overlay@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/frame-background.9.pngbin307 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/frame-background@2x.9.pngbin604 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/frame-background@3x.9.pngbin889 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/frame-background@4x.9.pngbin1354 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-background.9.pngbin307 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-background@2x.9.pngbin604 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-background@3x.9.pngbin889 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-background@4x.9.pngbin1354 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-title.9.pngbin141 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-title@2x.9.pngbin222 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-title@3x.9.pngbin268 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/groupbox-title@4x.9.pngbin379 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-disabled.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-disabled@2x.9.pngbin201 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-disabled@3x.9.pngbin228 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-disabled@4x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-focused.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-focused@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-focused@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-focused@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-highlighted.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-highlighted@2x.9.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-highlighted@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-highlighted@4x.9.pngbin307 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-hovered.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-hovered@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-hovered@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-hovered@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-pressed.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-pressed@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-pressed@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background-pressed@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/itemdelegate-background@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menu-background.9.pngbin1329 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menu-background@2x.9.pngbin3172 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menu-background@3x.9.pngbin5762 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menu-background@4x.9.pngbin8797 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-disabled.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-disabled@2x.pngbin276 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-disabled@3x.pngbin362 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-disabled@4x.pngbin440 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled.pngbin206 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@2x.pngbin302 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@3x.pngbin392 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@4x.pngbin465 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored.pngbin201 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored@2x.pngbin304 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored@3x.pngbin417 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow-mirrored@4x.pngbin506 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow.pngbin195 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow@2x.pngbin281 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow@3x.pngbin380 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-arrow@4x.pngbin457 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background-highlighted.9.pngbin155 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background-highlighted@2x.9.pngbin211 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background-highlighted@3x.9.pngbin257 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background-highlighted@4x.9.pngbin392 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background.9.pngbin148 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background@2x.9.pngbin211 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background@3x.9.pngbin268 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-background@4x.9.pngbin379 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-focused.pngbin394 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-focused@2x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-focused@3x.pngbin1059 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-focused@4x.pngbin1514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-hovered.pngbin394 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@2x.pngbin709 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@3x.pngbin1059 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@4x.pngbin1514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-pressed.pngbin436 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@2x.pngbin799 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@3x.pngbin1186 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@4x.pngbin1672 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked@2x.pngbin795 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked@3x.pngbin1149 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-checked@4x.pngbin1625 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-disabled.pngbin167 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-disabled@2x.pngbin289 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-disabled@3x.pngbin433 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-disabled@4x.pngbin695 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-focused.pngbin165 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-focused@2x.pngbin292 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-focused@3x.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-focused@4x.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-hovered.pngbin165 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-hovered@2x.pngbin292 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-hovered@3x.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-hovered@4x.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-pressed.pngbin164 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-pressed@2x.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-pressed@3x.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator-pressed@4x.pngbin615 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator.pngbin168 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator@2x.pngbin299 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator@3x.pngbin427 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuitem-indicator@4x.pngbin623 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuseparator-separator.9.pngbin114 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuseparator-separator@2x.9.pngbin131 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuseparator-separator@3x.9.pngbin144 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/menuseparator-separator@4x.9.pngbin168 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/page-background.pngbin84 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/page-background@2x.pngbin91 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/page-background@3x.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/page-background@4x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-current.pngbin198 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-current@2x.pngbin352 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-current@3x.pngbin515 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-current@4x.pngbin727 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled-current.pngbin175 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@2x.pngbin317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@3x.pngbin511 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@4x.pngbin677 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled.pngbin175 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled@2x.pngbin317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled@3x.pngbin511 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-disabled@4x.pngbin677 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-pressed.pngbin198 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-pressed@2x.pngbin352 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-pressed@3x.pngbin515 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate-pressed@4x.pngbin727 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate.pngbin181 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate@2x.pngbin353 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate@3x.pngbin506 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pageindicator-delegate@4x.pngbin701 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pane-background.9.pngbin162 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pane-background@2x.9.pngbin230 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pane-background@3x.9.pngbin270 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/pane-background@4x.9.pngbin392 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-background.9.pngbin663 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-background@2x.9.pngbin1415 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-background@3x.9.pngbin2438 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-background@4x.9.pngbin3437 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay-modal.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay-modal@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay-modal@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay-modal@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay.pngbin86 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay@2x.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay@3x.pngbin94 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/popup-overlay@4x.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-animation.webpbin4760 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-animation@2x.webpbin7932 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-animation@3x.webpbin8154 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-animation@4x.webpbin9646 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-background.9.pngbin424 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-background@2x.9.pngbin875 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-background@3x.9.pngbin1544 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-background@4x.9.pngbin2279 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-mask.9.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-mask@2x.9.pngbin344 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-mask@3x.9.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-mask@4x.9.pngbin673 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-progress.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-progress@2x.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-progress@3x.pngbin101 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/progressbar-progress@4x.pngbin115 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-focused.pngbin451 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@2x.pngbin996 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@3x.pngbin1595 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@4x.pngbin2157 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered.pngbin451 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@2x.pngbin996 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@3x.pngbin1595 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@4x.pngbin2157 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed.pngbin475 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@2x.pngbin1030 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@3x.pngbin1612 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@4x.pngbin2224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked.pngbin471 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked@2x.pngbin1028 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked@3x.pngbin1604 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-checked@4x.pngbin2224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-disabled.pngbin382 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-disabled@2x.pngbin767 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-disabled@3x.pngbin1182 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-disabled@4x.pngbin1737 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-focused.pngbin373 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-focused@2x.pngbin765 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-focused@3x.pngbin1182 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-focused@4x.pngbin1705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-hovered.pngbin373 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-hovered@2x.pngbin765 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-hovered@3x.pngbin1182 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-hovered@4x.pngbin1705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-pressed.pngbin401 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-pressed@2x.pngbin791 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-pressed@3x.pngbin1188 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator-pressed@4x.pngbin1708 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator.pngbin369 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator@2x.pngbin791 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator@3x.pngbin1190 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiobutton-indicator@4x.pngbin1740 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-disabled.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-disabled@2x.9.pngbin201 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-disabled@3x.9.pngbin228 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-disabled@4x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-focused.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-focused@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-focused@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-focused@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-highlighted.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-highlighted@2x.9.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-highlighted@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-highlighted@4x.9.pngbin307 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-hovered.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-hovered@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-hovered@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-hovered@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-pressed.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-pressed@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-pressed@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background-pressed@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-background@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused.pngbin451 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@2x.pngbin996 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@3x.pngbin1595 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@4x.pngbin2157 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered.pngbin451 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@2x.pngbin996 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@3x.pngbin1595 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@4x.pngbin2157 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed.pngbin475 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@2x.pngbin1030 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@3x.pngbin1612 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@4x.pngbin2224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked.pngbin471 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked@2x.pngbin1028 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked@3x.pngbin1604 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-checked@4x.pngbin2224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-disabled.pngbin382 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-disabled@2x.pngbin767 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-disabled@3x.pngbin1182 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-disabled@4x.pngbin1737 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-focused.pngbin373 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-focused@2x.pngbin765 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-focused@3x.pngbin1182 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-focused@4x.pngbin1705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-hovered.pngbin373 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-hovered@2x.pngbin765 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-hovered@3x.pngbin1182 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-hovered@4x.pngbin1705 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-pressed.pngbin401 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-pressed@2x.pngbin791 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-pressed@3x.pngbin1188 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator-pressed@4x.pngbin1708 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator.pngbin369 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator@2x.pngbin791 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator@3x.pngbin1190 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/radiodelegate-indicator@4x.pngbin1740 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-horizontal.9.pngbin360 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-horizontal@2x.9.pngbin792 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-horizontal@3x.9.pngbin1427 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-horizontal@4x.9.pngbin2255 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-vertical.9.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-vertical@2x.9.pngbin1291 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-vertical@3x.9.pngbin2041 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-background-vertical@4x.9.pngbin3159 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-disabled.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-disabled@2x.pngbin1031 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-disabled@3x.pngbin1685 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-disabled@4x.pngbin2514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-hovered.pngbin500 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@2x.pngbin1113 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@3x.pngbin1728 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@4x.pngbin2541 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-pressed.pngbin500 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@2x.pngbin1113 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@3x.pngbin1728 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@4x.pngbin2541 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused.pngbin419 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused@2x.pngbin1008 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused@3x.pngbin1702 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-focused@4x.pngbin2593 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-hovered.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-hovered@2x.pngbin1031 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-hovered@3x.pngbin1685 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-hovered@4x.pngbin2514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-pressed.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-pressed@2x.pngbin1031 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-pressed@3x.pngbin1685 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle-pressed@4x.pngbin2514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle.pngbin441 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle@2x.pngbin1010 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle@3x.pngbin1687 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-handle@4x.pngbin2518 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@2x.9.pngbin316 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@3x.9.pngbin417 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal.9.pngbin195 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal@2x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal@3x.9.pngbin438 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-horizontal@4x.9.pngbin567 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled.9.pngbin206 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@2x.9.pngbin328 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@3x.9.pngbin442 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@4x.9.pngbin607 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical.9.pngbin207 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical@2x.9.pngbin317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical@3x.9.pngbin450 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/rangeslider-progress-vertical@4x.9.pngbin593 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-focused.pngbin829 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-focused@2x.pngbin1748 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-focused@3x.pngbin3070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-focused@4x.pngbin4349 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-hovered.pngbin829 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-hovered@2x.pngbin1748 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-hovered@3x.pngbin3070 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked-hovered@4x.pngbin4349 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked.pngbin890 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked@2x.pngbin1805 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked@3x.pngbin3147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-checked@4x.pngbin4489 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled-checked.pngbin767 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled-checked@2x.pngbin1737 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled-checked@3x.pngbin2990 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled-checked@4x.pngbin4284 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled.pngbin767 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled@2x.pngbin1737 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled@3x.pngbin2990 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-disabled@4x.pngbin4284 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-focused.pngbin779 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-focused@2x.pngbin1731 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-focused@3x.pngbin2999 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-focused@4x.pngbin4278 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-focused.pngbin777 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@2x.pngbin1683 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@3x.pngbin2942 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@4x.pngbin4214 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered.pngbin777 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@2x.pngbin1683 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@3x.pngbin2942 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@4x.pngbin4214 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed.pngbin791 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@2x.pngbin1734 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@3x.pngbin3009 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@4x.pngbin4281 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted.pngbin780 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted@2x.pngbin1734 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted@3x.pngbin3057 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-highlighted@4x.pngbin4263 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-hovered.pngbin779 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-hovered@2x.pngbin1731 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-hovered@3x.pngbin2999 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-hovered@4x.pngbin4278 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-pressed.pngbin890 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-pressed@2x.pngbin1805 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-pressed@3x.pngbin3147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background-pressed@4x.pngbin4489 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background.pngbin791 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background@2x.pngbin1708 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background@3x.pngbin3035 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/roundbutton-background@4x.pngbin4329 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-disabled.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-disabled@2x.pngbin96 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-disabled@3x.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-disabled@4x.pngbin102 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@2x.pngbin109 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@3x.pngbin133 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@4x.pngbin129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@2x.pngbin109 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@3x.pngbin133 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@4x.pngbin129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed.pngbin96 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@2x.pngbin109 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@3x.pngbin132 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@4x.pngbin128 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive@2x.pngbin109 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive@3x.pngbin133 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle-interactive@4x.pngbin129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle@2x.pngbin96 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle@3x.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollbar-handle@4x.pngbin102 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollindicator-handle.pngbin95 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollindicator-handle@2x.pngbin96 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollindicator-handle@3x.pngbin97 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/scrollindicator-handle@4x.pngbin102 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-horizontal.9.pngbin360 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-horizontal@2x.9.pngbin792 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-horizontal@3x.9.pngbin1427 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-horizontal@4x.9.pngbin2255 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-vertical.9.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-vertical@2x.9.pngbin1291 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-vertical@3x.9.pngbin2041 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-background-vertical@4x.9.pngbin3159 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-disabled.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-disabled@2x.pngbin1031 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-disabled@3x.pngbin1685 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-disabled@4x.pngbin2514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-hovered.pngbin500 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-hovered@2x.pngbin1113 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-hovered@3x.pngbin1728 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-hovered@4x.pngbin2541 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-pressed.pngbin500 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-pressed@2x.pngbin1113 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-pressed@3x.pngbin1728 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused-pressed@4x.pngbin2541 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused.pngbin419 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused@2x.pngbin1008 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused@3x.pngbin1702 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-focused@4x.pngbin2593 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-hovered.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-hovered@2x.pngbin1031 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-hovered@3x.pngbin1685 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-hovered@4x.pngbin2514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-pressed.pngbin478 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-pressed@2x.pngbin1031 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-pressed@3x.pngbin1685 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle-pressed@4x.pngbin2514 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle.pngbin441 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle@2x.pngbin1010 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle@3x.pngbin1687 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-handle@4x.pngbin2518 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal-disabled.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal-disabled@2x.9.pngbin316 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal-disabled@3x.9.pngbin417 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal-disabled@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal.9.pngbin195 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal@2x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal@3x.9.pngbin438 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-horizontal@4x.9.pngbin567 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical-disabled.9.pngbin206 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical-disabled@2x.9.pngbin328 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical-disabled@3x.9.pngbin442 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical-disabled@4x.9.pngbin607 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical.9.pngbin207 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical@2x.9.pngbin317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical@3x.9.pngbin450 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/slider-progress-vertical@4x.9.pngbin593 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-disabled.9.pngbin425 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-disabled@2x.9.pngbin955 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-disabled@3x.9.pngbin1600 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-disabled@4x.9.pngbin2303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-editable.9.pngbin481 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-editable@2x.9.pngbin1145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-editable@3x.9.pngbin1922 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-editable@4x.9.pngbin2775 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-focused.9.pngbin468 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-focused@2x.9.pngbin1076 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-focused@3x.9.pngbin1850 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background-focused@4x.9.pngbin2733 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background.9.pngbin454 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background@2x.9.pngbin1087 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background@3x.9.pngbin1892 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-background@4x.9.pngbin2732 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-disabled.9.pngbin226 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-disabled@2x.9.pngbin413 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-disabled@3x.9.pngbin663 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-disabled@4x.9.pngbin1018 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused.9.pngbin224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@2x.9.pngbin410 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@3x.9.pngbin598 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@4x.9.pngbin936 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered.9.pngbin224 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@2x.9.pngbin410 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@3x.9.pngbin598 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@4x.9.pngbin936 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused.9.pngbin237 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@2x.9.pngbin425 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@3x.9.pngbin738 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@4x.9.pngbin965 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered.9.pngbin237 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@2x.9.pngbin425 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@3x.9.pngbin738 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@4x.9.pngbin965 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed.9.pngbin244 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@2x.9.pngbin417 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@3x.9.pngbin745 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@4x.9.pngbin1000 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored.9.pngbin244 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@2x.9.pngbin441 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@3x.9.pngbin741 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@4x.9.pngbin1003 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@2x.9.pngbin418 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@3x.9.pngbin642 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@4x.9.pngbin959 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable@2x.9.pngbin420 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable@3x.9.pngbin740 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-editable@4x.9.pngbin1033 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-focused.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-focused@2x.9.pngbin407 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-focused@3x.9.pngbin608 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-focused@4x.9.pngbin954 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-hovered.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-hovered@2x.9.pngbin407 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-hovered@3x.9.pngbin608 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-hovered@4x.9.pngbin954 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled.9.pngbin242 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@2x.9.pngbin404 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@3x.9.pngbin749 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@4x.9.pngbin971 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused.9.pngbin244 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@2x.9.pngbin417 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@3x.9.pngbin738 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@4x.9.pngbin1005 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered.9.pngbin244 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@2x.9.pngbin417 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@3x.9.pngbin738 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@4x.9.pngbin1005 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed.9.pngbin241 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@2x.9.pngbin432 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@3x.9.pngbin739 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@4x.9.pngbin970 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored.9.pngbin244 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@2x.9.pngbin434 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@3x.9.pngbin729 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@4x.9.pngbin983 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-pressed.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-pressed@2x.9.pngbin432 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-pressed@3x.9.pngbin723 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down-pressed@4x.9.pngbin952 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down.9.pngbin227 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down@2x.9.pngbin422 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down@3x.9.pngbin600 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-down@4x.9.pngbin962 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-disabled.9.pngbin260 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-disabled@2x.9.pngbin429 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-disabled@3x.9.pngbin762 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-disabled@4x.9.pngbin1004 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused.9.pngbin265 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@2x.9.pngbin442 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@3x.9.pngbin756 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@4x.9.pngbin1002 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered.9.pngbin265 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@2x.9.pngbin442 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@3x.9.pngbin756 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@4x.9.pngbin1002 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused.9.pngbin250 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@2x.9.pngbin429 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@3x.9.pngbin719 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@4x.9.pngbin988 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered.9.pngbin250 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@2x.9.pngbin429 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@3x.9.pngbin719 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@4x.9.pngbin988 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed.9.pngbin251 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@2x.9.pngbin437 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@3x.9.pngbin731 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@4x.9.pngbin1010 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored.9.pngbin251 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@2x.9.pngbin448 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@3x.9.pngbin775 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@4x.9.pngbin1044 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed.9.pngbin262 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@2x.9.pngbin444 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@3x.9.pngbin764 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@4x.9.pngbin1022 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable.9.pngbin262 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable@2x.9.pngbin456 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable@3x.9.pngbin758 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-editable@4x.9.pngbin1035 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-focused.9.pngbin262 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-focused@2x.9.pngbin436 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-focused@3x.9.pngbin776 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-focused@4x.9.pngbin1032 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-hovered.9.pngbin262 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-hovered@2x.9.pngbin436 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-hovered@3x.9.pngbin776 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-hovered@4x.9.pngbin1032 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled.9.pngbin249 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@2x.9.pngbin438 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@3x.9.pngbin725 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@4x.9.pngbin1041 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused.9.pngbin251 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@2x.9.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@3x.9.pngbin734 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@4x.9.pngbin1007 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered.9.pngbin251 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@2x.9.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@3x.9.pngbin734 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@4x.9.pngbin1007 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed.9.pngbin250 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@2x.9.pngbin447 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@3x.9.pngbin756 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@4x.9.pngbin1004 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored.9.pngbin251 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@2x.9.pngbin449 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@3x.9.pngbin736 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@4x.9.pngbin1013 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-pressed.9.pngbin259 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-pressed@2x.9.pngbin450 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-pressed@3x.9.pngbin760 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up-pressed@4x.9.pngbin1009 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up.9.pngbin262 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up@2x.9.pngbin462 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up@3x.9.pngbin758 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/spinbox-indicator-up@4x.9.pngbin1010 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-disabled.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-disabled@2x.pngbin99 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-disabled@3x.pngbin112 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-disabled@4x.pngbin130 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-hovered.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-hovered@2x.pngbin99 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-hovered@3x.pngbin112 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-hovered@4x.pngbin130 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-pressed.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-pressed@2x.pngbin99 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-pressed@3x.pngbin112 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle-pressed@4x.pngbin129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle.pngbin93 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle@2x.pngbin99 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle@3x.pngbin112 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/splitview-handle@4x.pngbin130 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-disabled.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-disabled@2x.9.pngbin201 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-disabled@3x.9.pngbin228 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-disabled@4x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-focused.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-focused@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-focused@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-focused@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-highlighted.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-highlighted@2x.9.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-highlighted@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-highlighted@4x.9.pngbin307 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-hovered.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-hovered@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-hovered@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-hovered@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-pressed.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-pressed@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-pressed@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background-pressed@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/swipedelegate-background@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-disabled.pngbin409 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-disabled@2x.pngbin811 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-disabled@3x.pngbin1317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-disabled@4x.pngbin1908 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-pressed.pngbin409 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-pressed@2x.pngbin811 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-pressed@3x.pngbin1317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle-pressed@4x.pngbin1908 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle.pngbin301 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle@2x.pngbin599 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle@3x.pngbin1002 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-handle@4x.pngbin1563 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-focused.pngbin550 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-focused@2x.pngbin1129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-focused@3x.pngbin1984 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-focused@4x.pngbin2835 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-hovered.pngbin550 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-hovered@2x.pngbin1129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-hovered@3x.pngbin1984 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-hovered@4x.pngbin2835 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-pressed.pngbin541 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-pressed@2x.pngbin1090 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-pressed@3x.pngbin2024 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked-pressed@4x.pngbin2919 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked.pngbin546 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked@2x.pngbin1142 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked@3x.pngbin2025 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-checked@4x.pngbin2880 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-disabled.pngbin572 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-disabled@2x.pngbin1155 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-disabled@3x.pngbin2007 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-disabled@4x.pngbin2894 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-focused.pngbin571 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-focused@2x.pngbin1124 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-focused@3x.pngbin2029 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-focused@4x.pngbin2942 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-hovered.pngbin571 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-hovered@2x.pngbin1124 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-hovered@3x.pngbin2029 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-hovered@4x.pngbin2942 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-pressed.pngbin563 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-pressed@2x.pngbin1142 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-pressed@3x.pngbin1996 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator-pressed@4x.pngbin2885 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator.pngbin564 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator@2x.pngbin1086 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator@3x.pngbin2042 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switch-indicator@4x.pngbin2920 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-disabled.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-disabled@2x.9.pngbin201 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-disabled@3x.9.pngbin228 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-disabled@4x.9.pngbin303 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-focused.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-focused@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-focused@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-focused@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-hovered.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-hovered@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-hovered@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-hovered@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-pressed.9.pngbin147 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-pressed@2x.9.pngbin204 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-pressed@3x.9.pngbin231 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background-pressed@4x.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background.9.pngbin145 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background@2x.9.pngbin194 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background@3x.9.pngbin221 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-background@4x.9.pngbin296 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-disabled.pngbin409 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-disabled@2x.pngbin811 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-disabled@3x.pngbin1317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-disabled@4x.pngbin1908 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-pressed.pngbin409 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-pressed@2x.pngbin811 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-pressed@3x.pngbin1317 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle-pressed@4x.pngbin1908 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle.pngbin301 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle@2x.pngbin599 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle@3x.pngbin1002 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-handle@4x.pngbin1563 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused.pngbin550 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@2x.pngbin1129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@3x.pngbin1984 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@4x.pngbin2835 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered.pngbin550 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@2x.pngbin1129 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@3x.pngbin1984 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@4x.pngbin2835 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed.pngbin541 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@2x.pngbin1090 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@3x.pngbin2024 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@4x.pngbin2919 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked.pngbin546 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked@2x.pngbin1142 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked@3x.pngbin2025 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-checked@4x.pngbin2880 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-disabled.pngbin572 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-disabled@2x.pngbin1155 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-disabled@3x.pngbin2007 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-disabled@4x.pngbin2894 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-focused.pngbin571 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-focused@2x.pngbin1124 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-focused@3x.pngbin2029 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-focused@4x.pngbin2942 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-hovered.pngbin571 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-hovered@2x.pngbin1124 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-hovered@3x.pngbin2029 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-hovered@4x.pngbin2942 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-pressed.pngbin563 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-pressed@2x.pngbin1142 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-pressed@3x.pngbin1996 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator-pressed@4x.pngbin2885 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator.pngbin564 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator@2x.pngbin1086 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator@3x.pngbin2042 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/switchdelegate-indicator@4x.pngbin2920 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbar-background.pngbin90 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbar-background@2x.pngbin101 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbar-background@3x.pngbin107 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbar-background@4x.pngbin128 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-checked.9.pngbin210 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-checked@2x.9.pngbin431 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-checked@3x.9.pngbin608 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-checked@4x.9.pngbin924 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled-checked.9.pngbin209 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled-checked@2x.9.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled-checked@3x.9.pngbin608 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled-checked@4x.9.pngbin923 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled.9.pngbin209 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled@2x.9.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled@3x.9.pngbin608 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-disabled@4x.9.pngbin923 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-hovered.9.pngbin209 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-hovered@2x.9.pngbin430 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-hovered@3x.9.pngbin607 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-hovered@4x.9.pngbin923 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-pressed.9.pngbin208 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-pressed@2x.9.pngbin429 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-pressed@3x.9.pngbin606 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background-pressed@4x.9.pngbin922 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background.9.pngbin208 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background@2x.9.pngbin429 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background@3x.9.pngbin606 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tabbutton-background@4x.9.pngbin922 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-disabled.9.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-disabled@2x.9.pngbin527 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-disabled@3x.9.pngbin865 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-disabled@4x.9.pngbin1246 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-focused.9.pngbin331 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-focused@2x.9.pngbin617 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-focused@3x.9.pngbin1017 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background-focused@4x.9.pngbin1598 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background.9.pngbin345 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background@2x.9.pngbin652 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background@3x.9.pngbin1019 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textarea-background@4x.9.pngbin1627 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-disabled.9.pngbin397 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-disabled@2x.9.pngbin829 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-disabled@3x.9.pngbin1349 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-disabled@4x.9.pngbin1940 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-focused.9.pngbin426 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-focused@2x.9.pngbin961 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-focused@3x.9.pngbin1591 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background-focused@4x.9.pngbin2335 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background.9.pngbin437 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background@2x.9.pngbin1011 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background@3x.9.pngbin1655 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/textfield-background@4x.9.pngbin2386 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbar-background.pngbin92 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbar-background@2x.pngbin102 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbar-background@3x.pngbin108 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbar-background@4x.pngbin130 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-focused.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-focused@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-focused@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-focused@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-hovered.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-hovered@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-hovered@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked-hovered@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-checked@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-disabled-checked.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-disabled-checked@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-disabled-checked@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-disabled-checked@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-focused.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-focused@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-focused@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-focused@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-hovered.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-hovered@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-hovered@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-hovered@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-pressed.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-pressed@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-pressed@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background-pressed@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background.9.pngbin189 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background@2x.9.pngbin298 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background@3x.9.pngbin428 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolbutton-background@4x.9.pngbin576 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-horizontal.9.pngbin177 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-horizontal@2x.9.pngbin254 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-horizontal@3x.9.pngbin398 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-horizontal@4x.9.pngbin550 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-vertical.9.pngbin178 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-vertical@2x.9.pngbin250 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-vertical@3x.9.pngbin398 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/toolseparator-separator-vertical@4x.9.pngbin557 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tooltip-background.9.pngbin360 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tooltip-background@2x.9.pngbin651 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tooltip-background@3x.9.pngbin986 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/images/tooltip-background@4x.9.pngbin1515 -> 0 bytes
-rw-r--r--src/imports/controls/imagine/imagine.pri59
-rw-r--r--src/imports/controls/imagine/imagine.pro30
-rw-r--r--src/imports/controls/imagine/plugins.qmltypes60
-rw-r--r--src/imports/controls/imagine/qmldir5
-rw-r--r--src/imports/controls/imagine/qquickimageselector.cpp338
-rw-r--r--src/imports/controls/imagine/qquickimageselector_p.h151
-rw-r--r--src/imports/controls/imagine/qquickimaginestyle.cpp168
-rw-r--r--src/imports/controls/imagine/qquickimaginestyle_p.h93
-rw-r--r--src/imports/controls/imagine/qquickimaginetheme.cpp66
-rw-r--r--src/imports/controls/imagine/qquickimaginetheme_p.h65
-rw-r--r--src/imports/controls/imagine/qquickninepatchimage.cpp440
-rw-r--r--src/imports/controls/imagine/qquickninepatchimage_p.h106
-rw-r--r--src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp94
-rw-r--r--src/imports/controls/material/ApplicationWindow.qml56
-rw-r--r--src/imports/controls/material/BoxShadow.qml70
-rw-r--r--src/imports/controls/material/BusyIndicator.qml61
-rw-r--r--src/imports/controls/material/Button.qml118
-rw-r--r--src/imports/controls/material/CheckBox.qml83
-rw-r--r--src/imports/controls/material/CheckDelegate.qml98
-rw-r--r--src/imports/controls/material/CheckIndicator.qml120
-rw-r--r--src/imports/controls/material/ComboBox.qml179
-rw-r--r--src/imports/controls/material/CursorDelegate.qml65
-rw-r--r--src/imports/controls/material/DelayButton.qml117
-rw-r--r--src/imports/controls/material/Dial.qml85
-rw-r--r--src/imports/controls/material/Dialog.qml113
-rw-r--r--src/imports/controls/material/DialogButtonBox.qml79
-rw-r--r--src/imports/controls/material/Drawer.qml91
-rw-r--r--src/imports/controls/material/ElevationEffect.qml279
-rw-r--r--src/imports/controls/material/Frame.qml63
-rw-r--r--src/imports/controls/material/GroupBox.qml81
-rw-r--r--src/imports/controls/material/ItemDelegate.qml89
-rw-r--r--src/imports/controls/material/LICENSE_ANGULARJS.txt19
-rw-r--r--src/imports/controls/material/Label.qml46
-rw-r--r--src/imports/controls/material/Menu.qml106
-rw-r--r--src/imports/controls/material/MenuBar.qml65
-rw-r--r--src/imports/controls/material/MenuBarItem.qml89
-rw-r--r--src/imports/controls/material/MenuItem.qml112
-rw-r--r--src/imports/controls/material/MenuSeparator.qml56
-rw-r--r--src/imports/controls/material/Page.qml56
-rw-r--r--src/imports/controls/material/PageIndicator.qml71
-rw-r--r--src/imports/controls/material/Pane.qml61
-rw-r--r--src/imports/controls/material/Popup.qml85
-rw-r--r--src/imports/controls/material/ProgressBar.qml67
-rw-r--r--src/imports/controls/material/RadioButton.qml83
-rw-r--r--src/imports/controls/material/RadioDelegate.qml98
-rw-r--r--src/imports/controls/material/RadioIndicator.qml62
-rw-r--r--src/imports/controls/material/RangeSlider.qml91
-rw-r--r--src/imports/controls/material/RectangularGlow.qml240
-rw-r--r--src/imports/controls/material/RoundButton.qml115
-rw-r--r--src/imports/controls/material/ScrollBar.qml89
-rw-r--r--src/imports/controls/material/ScrollIndicator.qml75
-rw-r--r--src/imports/controls/material/Slider.qml80
-rw-r--r--src/imports/controls/material/SliderHandle.qml76
-rw-r--r--src/imports/controls/material/SpinBox.qml156
-rw-r--r--src/imports/controls/material/SplitView.qml74
-rw-r--r--src/imports/controls/material/StackView.qml79
-rw-r--r--src/imports/controls/material/SwipeDelegate.qml99
-rw-r--r--src/imports/controls/material/SwipeView.qml65
-rw-r--r--src/imports/controls/material/Switch.qml79
-rw-r--r--src/imports/controls/material/SwitchDelegate.qml98
-rw-r--r--src/imports/controls/material/SwitchIndicator.qml81
-rw-r--r--src/imports/controls/material/TabBar.qml89
-rw-r--r--src/imports/controls/material/TabButton.qml79
-rw-r--r--src/imports/controls/material/TextArea.qml84
-rw-r--r--src/imports/controls/material/TextField.qml86
-rw-r--r--src/imports/controls/material/ToolBar.qml66
-rw-r--r--src/imports/controls/material/ToolButton.qml87
-rw-r--r--src/imports/controls/material/ToolSeparator.qml57
-rw-r--r--src/imports/controls/material/ToolTip.qml83
-rw-r--r--src/imports/controls/material/Tumbler.qml76
-rw-r--r--src/imports/controls/material/dependencies.json7
-rw-r--r--src/imports/controls/material/images/arrow-indicator.pngbin200 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/arrow-indicator.svg56
-rw-r--r--src/imports/controls/material/images/arrow-indicator@2x.pngbin239 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/arrow-indicator@3x.pngbin277 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/arrow-indicator@4x.pngbin317 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/check.pngbin705 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/check@2x.pngbin1347 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/check@3x.pngbin1982 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/check@4x.pngbin2580 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/drop-indicator.pngbin205 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/drop-indicator.svg5
-rw-r--r--src/imports/controls/material/images/drop-indicator@2x.pngbin255 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/drop-indicator@3x.pngbin306 -> 0 bytes
-rw-r--r--src/imports/controls/material/images/drop-indicator@4x.pngbin331 -> 0 bytes
-rw-r--r--src/imports/controls/material/material.pri71
-rw-r--r--src/imports/controls/material/material.pro27
-rw-r--r--src/imports/controls/material/plugins.qmltypes282
-rw-r--r--src/imports/controls/material/qmldir4
-rw-r--r--src/imports/controls/material/qquickmaterialbusyindicator.cpp245
-rw-r--r--src/imports/controls/material/qquickmaterialbusyindicator_p.h86
-rw-r--r--src/imports/controls/material/qquickmaterialprogressbar.cpp245
-rw-r--r--src/imports/controls/material/qquickmaterialprogressbar_p.h89
-rw-r--r--src/imports/controls/material/qquickmaterialripple.cpp442
-rw-r--r--src/imports/controls/material/qquickmaterialripple_p.h118
-rw-r--r--src/imports/controls/material/qquickmaterialstyle.cpp1334
-rw-r--r--src/imports/controls/material/qquickmaterialstyle_p.h313
-rw-r--r--src/imports/controls/material/qquickmaterialtheme.cpp112
-rw-r--r--src/imports/controls/material/qquickmaterialtheme_p.h65
-rw-r--r--src/imports/controls/material/qt_attribution.json13
-rw-r--r--src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp102
-rw-r--r--src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc20
-rw-r--r--src/imports/controls/material/shaders/+glslcore/RectangularGlow.frag25
-rw-r--r--src/imports/controls/material/shaders/+hlsl/RectangularGlow.frag21
-rw-r--r--src/imports/controls/material/shaders/+qsb/RectangularGlow.fragbin2321 -> 0 bytes
-rw-r--r--src/imports/controls/material/shaders/RectangularGlow.frag19
-rw-r--r--src/imports/controls/material/shaders/RectangularGlow_rhi.frag28
-rw-r--r--src/imports/controls/plugins.qmltypes660
-rw-r--r--src/imports/controls/qmldir5
-rw-r--r--src/imports/controls/qquickdefaultbusyindicator.cpp223
-rw-r--r--src/imports/controls/qquickdefaultbusyindicator_p.h91
-rw-r--r--src/imports/controls/qquickdefaultdial.cpp122
-rw-r--r--src/imports/controls/qquickdefaultdial_p.h80
-rw-r--r--src/imports/controls/qquickdefaultprogressbar.cpp280
-rw-r--r--src/imports/controls/qquickdefaultprogressbar_p.h89
-rw-r--r--src/imports/controls/qquickdefaultstyle.cpp246
-rw-r--r--src/imports/controls/qquickdefaultstyle_p.h147
-rw-r--r--src/imports/controls/qquickdefaulttheme.cpp89
-rw-r--r--src/imports/controls/qquickdefaulttheme_p.h65
-rw-r--r--src/imports/controls/qtquickcontrols2plugin.cpp320
-rw-r--r--src/imports/controls/qtquickcontrols2plugin.qrc24
-rw-r--r--src/imports/controls/universal/ApplicationWindow.qml62
-rw-r--r--src/imports/controls/universal/BusyIndicator.qml60
-rw-r--r--src/imports/controls/universal/Button.qml90
-rw-r--r--src/imports/controls/universal/CheckBox.qml74
-rw-r--r--src/imports/controls/universal/CheckDelegate.qml97
-rw-r--r--src/imports/controls/universal/CheckIndicator.qml82
-rw-r--r--src/imports/controls/universal/ComboBox.qml158
-rw-r--r--src/imports/controls/universal/DelayButton.qml94
-rw-r--r--src/imports/controls/universal/Dial.qml86
-rw-r--r--src/imports/controls/universal/Dialog.qml91
-rw-r--r--src/imports/controls/universal/DialogButtonBox.qml76
-rw-r--r--src/imports/controls/universal/Drawer.qml78
-rw-r--r--src/imports/controls/universal/Frame.qml55
-rw-r--r--src/imports/controls/universal/GroupBox.qml75
-rw-r--r--src/imports/controls/universal/ItemDelegate.qml87
-rw-r--r--src/imports/controls/universal/Label.qml47
-rw-r--r--src/imports/controls/universal/Menu.qml81
-rw-r--r--src/imports/controls/universal/MenuBar.qml64
-rw-r--r--src/imports/controls/universal/MenuBarItem.qml91
-rw-r--r--src/imports/controls/universal/MenuItem.qml115
-rw-r--r--src/imports/controls/universal/MenuSeparator.qml62
-rw-r--r--src/imports/controls/universal/Page.qml56
-rw-r--r--src/imports/controls/universal/PageIndicator.qml69
-rw-r--r--src/imports/controls/universal/Pane.qml54
-rw-r--r--src/imports/controls/universal/Popup.qml64
-rw-r--r--src/imports/controls/universal/ProgressBar.qml68
-rw-r--r--src/imports/controls/universal/README.md9
-rw-r--r--src/imports/controls/universal/RadioButton.qml74
-rw-r--r--src/imports/controls/universal/RadioDelegate.qml97
-rw-r--r--src/imports/controls/universal/RadioIndicator.qml80
-rw-r--r--src/imports/controls/universal/RangeSlider.qml109
-rw-r--r--src/imports/controls/universal/RoundButton.qml91
-rw-r--r--src/imports/controls/universal/ScrollBar.qml93
-rw-r--r--src/imports/controls/universal/ScrollIndicator.qml78
-rw-r--r--src/imports/controls/universal/Slider.qml96
-rw-r--r--src/imports/controls/universal/SpinBox.qml148
-rw-r--r--src/imports/controls/universal/SplitView.qml56
-rw-r--r--src/imports/controls/universal/StackView.qml76
-rw-r--r--src/imports/controls/universal/SwipeDelegate.qml93
-rw-r--r--src/imports/controls/universal/Switch.qml74
-rw-r--r--src/imports/controls/universal/SwitchDelegate.qml97
-rw-r--r--src/imports/controls/universal/SwitchIndicator.qml81
-rw-r--r--src/imports/controls/universal/TabBar.qml73
-rw-r--r--src/imports/controls/universal/TabButton.qml70
-rw-r--r--src/imports/controls/universal/TextArea.qml94
-rw-r--r--src/imports/controls/universal/TextField.qml94
-rw-r--r--src/imports/controls/universal/ToolBar.qml53
-rw-r--r--src/imports/controls/universal/ToolButton.qml84
-rw-r--r--src/imports/controls/universal/ToolSeparator.qml59
-rw-r--r--src/imports/controls/universal/ToolTip.qml72
-rw-r--r--src/imports/controls/universal/Tumbler.qml76
-rw-r--r--src/imports/controls/universal/dependencies.json7
-rw-r--r--src/imports/controls/universal/images/checkmark.pngbin243 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/checkmark@2x.pngbin367 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/checkmark@3x.pngbin817 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/checkmark@4x.pngbin634 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/downarrow.pngbin233 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/downarrow@2x.pngbin325 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/downarrow@3x.pngbin387 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/downarrow@4x.pngbin423 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/leftarrow.pngbin179 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/leftarrow@2x.pngbin243 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/leftarrow@3x.pngbin304 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/leftarrow@4x.pngbin343 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/rightarrow.pngbin173 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/rightarrow@2x.pngbin247 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/rightarrow@3x.pngbin279 -> 0 bytes
-rw-r--r--src/imports/controls/universal/images/rightarrow@4x.pngbin359 -> 0 bytes
-rw-r--r--src/imports/controls/universal/plugins.qmltypes140
-rw-r--r--src/imports/controls/universal/qmldir4
-rw-r--r--src/imports/controls/universal/qquickuniversalbusyindicator.cpp251
-rw-r--r--src/imports/controls/universal/qquickuniversalbusyindicator_p.h87
-rw-r--r--src/imports/controls/universal/qquickuniversalfocusrectangle.cpp84
-rw-r--r--src/imports/controls/universal/qquickuniversalfocusrectangle_p.h67
-rw-r--r--src/imports/controls/universal/qquickuniversalprogressbar.cpp338
-rw-r--r--src/imports/controls/universal/qquickuniversalprogressbar_p.h89
-rw-r--r--src/imports/controls/universal/qquickuniversalstyle.cpp618
-rw-r--r--src/imports/controls/universal/qquickuniversalstyle_p.h241
-rw-r--r--src/imports/controls/universal/qquickuniversaltheme.cpp70
-rw-r--r--src/imports/controls/universal/qquickuniversaltheme_p.h65
-rw-r--r--src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp95
-rw-r--r--src/imports/controls/universal/qtquickcontrols2universalstyleplugin.qrc20
-rw-r--r--src/imports/controls/universal/universal.pri65
-rw-r--r--src/imports/controls/universal/universal.pro27
-rw-r--r--src/imports/imports.pro12
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-colordialog-gtk.pngbin11057 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-filedialog-gtk.pngbin49506 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-folderdialog-gtk.pngbin49092 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-fontdialog-gtk.pngbin43653 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-menu.pngbin6377 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-menubar.pngbin71036 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-messagedialog-android.pngbin7946 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-messagedialog-informative-android.pngbin15759 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-menu.pngbin24016 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-message.pngbin36932 -> 0 bytes
-rw-r--r--src/imports/platform/doc/images/qtlabsplatform-systemtrayicon.pngbin19927 -> 0 bytes
-rw-r--r--src/imports/platform/doc/qtlabsplatform.qdocconf41
-rw-r--r--src/imports/platform/doc/src/includes/widgets.qdocinc29
-rw-r--r--src/imports/platform/doc/src/qtlabsplatform-index.qdoc50
-rw-r--r--src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc58
-rw-r--r--src/imports/platform/platform.pri39
-rw-r--r--src/imports/platform/platform.pro22
-rw-r--r--src/imports/platform/plugins.qmltypes489
-rw-r--r--src/imports/platform/qmldir3
-rw-r--r--src/imports/platform/qquickplatformcolordialog.cpp206
-rw-r--r--src/imports/platform/qquickplatformcolordialog_p.h98
-rw-r--r--src/imports/platform/qquickplatformdialog.cpp409
-rw-r--r--src/imports/platform/qquickplatformdialog_p.h153
-rw-r--r--src/imports/platform/qquickplatformfiledialog.cpp664
-rw-r--r--src/imports/platform/qquickplatformfiledialog_p.h197
-rw-r--r--src/imports/platform/qquickplatformfolderdialog.cpp281
-rw-r--r--src/imports/platform/qquickplatformfolderdialog_p.h110
-rw-r--r--src/imports/platform/qquickplatformfontdialog.cpp208
-rw-r--r--src/imports/platform/qquickplatformfontdialog_p.h98
-rw-r--r--src/imports/platform/qquickplatformicon.cpp81
-rw-r--r--src/imports/platform/qquickplatformicon_p.h86
-rw-r--r--src/imports/platform/qquickplatformiconloader.cpp101
-rw-r--r--src/imports/platform/qquickplatformiconloader_p.h86
-rw-r--r--src/imports/platform/qquickplatformmenu.cpp940
-rw-r--r--src/imports/platform/qquickplatformmenu_p.h223
-rw-r--r--src/imports/platform/qquickplatformmenubar.cpp330
-rw-r--r--src/imports/platform/qquickplatformmenubar_p.h120
-rw-r--r--src/imports/platform/qquickplatformmenuitem.cpp625
-rw-r--r--src/imports/platform/qquickplatformmenuitem_p.h199
-rw-r--r--src/imports/platform/qquickplatformmenuitemgroup.cpp390
-rw-r--r--src/imports/platform/qquickplatformmenuitemgroup_p.h123
-rw-r--r--src/imports/platform/qquickplatformmenuseparator.cpp65
-rw-r--r--src/imports/platform/qquickplatformmenuseparator_p.h67
-rw-r--r--src/imports/platform/qquickplatformmessagedialog.cpp383
-rw-r--r--src/imports/platform/qquickplatformmessagedialog_p.h121
-rw-r--r--src/imports/platform/qquickplatformstandardpaths.cpp159
-rw-r--r--src/imports/platform/qquickplatformstandardpaths_p.h92
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon.cpp484
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon_p.h155
-rw-r--r--src/imports/platform/qtlabsplatformplugin.cpp116
-rw-r--r--src/imports/platform/widgets/qwidgetplatform_p.h170
-rw-r--r--src/imports/platform/widgets/qwidgetplatformcolordialog.cpp87
-rw-r--r--src/imports/platform/widgets/qwidgetplatformcolordialog_p.h78
-rw-r--r--src/imports/platform/widgets/qwidgetplatformdialog.cpp58
-rw-r--r--src/imports/platform/widgets/qwidgetplatformdialog_p.h66
-rw-r--r--src/imports/platform/widgets/qwidgetplatformfiledialog.cpp140
-rw-r--r--src/imports/platform/widgets/qwidgetplatformfiledialog_p.h84
-rw-r--r--src/imports/platform/widgets/qwidgetplatformfontdialog.cpp87
-rw-r--r--src/imports/platform/widgets/qwidgetplatformfontdialog_p.h78
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmenu.cpp183
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmenu_p.h98
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmenuitem.cpp125
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmenuitem_p.h88
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmessagedialog.cpp87
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmessagedialog_p.h75
-rw-r--r--src/imports/platform/widgets/qwidgetplatformsystemtrayicon.cpp118
-rw-r--r--src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h87
-rw-r--r--src/imports/platform/widgets/widgets.pri56
-rw-r--r--src/imports/templates/dependencies.json12
-rw-r--r--src/imports/templates/doc/src/qtquicktemplates2-index.qdoc54
-rw-r--r--src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc63
-rw-r--r--src/imports/templates/plugins.qmltypes1876
-rw-r--r--src/imports/templates/qmldir4
-rw-r--r--src/imports/templates/qtquicktemplates2plugin.cpp361
-rw-r--r--src/imports/templates/templates.pro17
-rw-r--r--src/quickcontrols2/configure.json60
-rw-r--r--src/quickcontrols2/qquickanimatednode.cpp167
-rw-r--r--src/quickcontrols2/qquickanimatednode_p.h112
-rw-r--r--src/quickcontrols2/qquickattachedobject.cpp274
-rw-r--r--src/quickcontrols2/qquickattachedobject_p.h84
-rw-r--r--src/quickcontrols2/qquickchecklabel.cpp49
-rw-r--r--src/quickcontrols2/qquickchecklabel_p.h68
-rw-r--r--src/quickcontrols2/qquickclippedtext.cpp116
-rw-r--r--src/quickcontrols2/qquickclippedtext_p.h96
-rw-r--r--src/quickcontrols2/qquickcolor.cpp66
-rw-r--r--src/quickcontrols2/qquickcolor_p.h70
-rw-r--r--src/quickcontrols2/qquickcolorimage.cpp103
-rw-r--r--src/quickcontrols2/qquickcolorimage_p.h88
-rw-r--r--src/quickcontrols2/qquickiconimage.cpp213
-rw-r--r--src/quickcontrols2/qquickiconimage_p.h94
-rw-r--r--src/quickcontrols2/qquickiconimage_p_p.h77
-rw-r--r--src/quickcontrols2/qquickiconlabel.cpp642
-rw-r--r--src/quickcontrols2/qquickiconlabel_p.h140
-rw-r--r--src/quickcontrols2/qquickiconlabel_p_p.h111
-rw-r--r--src/quickcontrols2/qquickitemgroup.cpp122
-rw-r--r--src/quickcontrols2/qquickitemgroup_p.h83
-rw-r--r--src/quickcontrols2/qquickmnemoniclabel.cpp132
-rw-r--r--src/quickcontrols2/qquickmnemoniclabel_p.h82
-rw-r--r--src/quickcontrols2/qquickpaddedrectangle.cpp211
-rw-r--r--src/quickcontrols2/qquickpaddedrectangle_p.h119
-rw-r--r--src/quickcontrols2/qquickplaceholdertext.cpp73
-rw-r--r--src/quickcontrols2/qquickplaceholdertext_p.h74
-rw-r--r--src/quickcontrols2/qquickstyle.cpp662
-rw-r--r--src/quickcontrols2/qquickstyle.h60
-rw-r--r--src/quickcontrols2/qquickstyle_p.h76
-rw-r--r--src/quickcontrols2/qquickstyleplugin.cpp91
-rw-r--r--src/quickcontrols2/qquickstyleplugin_p.h80
-rw-r--r--src/quickcontrols2/qquickstyleselector.cpp157
-rw-r--r--src/quickcontrols2/qquickstyleselector_p.h86
-rw-r--r--src/quickcontrols2/qquickstyleselector_p_p.h70
-rw-r--r--src/quickcontrols2/qquicktumblerview.cpp317
-rw-r--r--src/quickcontrols2/qquicktumblerview_p.h109
-rw-r--r--src/quickcontrols2/qtquickcontrols2global.h56
-rw-r--r--src/quickcontrols2/qtquickcontrols2global_p.h56
-rw-r--r--src/quickcontrols2/quickcontrols2.pri44
-rw-r--r--src/quickcontrols2/quickcontrols2.pro14
-rw-r--r--src/quicktemplates2/configure.json28
-rw-r--r--src/quicktemplates2/qquickabstractbutton.cpp1172
-rw-r--r--src/quicktemplates2/qquickabstractbutton_p.h223
-rw-r--r--src/quicktemplates2/qquickabstractbutton_p_p.h148
-rw-r--r--src/quicktemplates2/qquickaction.cpp577
-rw-r--r--src/quicktemplates2/qquickaction_p.h128
-rw-r--r--src/quicktemplates2/qquickaction_p_p.h133
-rw-r--r--src/quicktemplates2/qquickactiongroup.cpp471
-rw-r--r--src/quicktemplates2/qquickactiongroup_p.h130
-rw-r--r--src/quicktemplates2/qquickapplicationwindow.cpp1078
-rw-r--r--src/quicktemplates2/qquickapplicationwindow_p.h184
-rw-r--r--src/quicktemplates2/qquickbusyindicator.cpp130
-rw-r--r--src/quicktemplates2/qquickbusyindicator_p.h89
-rw-r--r--src/quicktemplates2/qquickbutton.cpp162
-rw-r--r--src/quicktemplates2/qquickbutton_p.h91
-rw-r--r--src/quicktemplates2/qquickbutton_p_p.h66
-rw-r--r--src/quicktemplates2/qquickbuttongroup.cpp547
-rw-r--r--src/quicktemplates2/qquickbuttongroup_p.h141
-rw-r--r--src/quicktemplates2/qquickcheckbox.cpp248
-rw-r--r--src/quicktemplates2/qquickcheckbox_p.h96
-rw-r--r--src/quicktemplates2/qquickcheckdelegate.cpp242
-rw-r--r--src/quicktemplates2/qquickcheckdelegate_p.h100
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp1979
-rw-r--r--src/quicktemplates2/qquickcombobox_p.h242
-rw-r--r--src/quicktemplates2/qquickcontainer.cpp929
-rw-r--r--src/quicktemplates2/qquickcontainer_p.h140
-rw-r--r--src/quicktemplates2/qquickcontainer_p_p.h109
-rw-r--r--src/quicktemplates2/qquickcontentitem.cpp61
-rw-r--r--src/quicktemplates2/qquickcontentitem_p.h70
-rw-r--r--src/quicktemplates2/qquickcontrol.cpp2308
-rw-r--r--src/quicktemplates2/qquickcontrol_p.h304
-rw-r--r--src/quicktemplates2/qquickcontrol_p_p.h245
-rw-r--r--src/quicktemplates2/qquickdeferredexecute.cpp149
-rw-r--r--src/quicktemplates2/qquickdeferredexecute_p_p.h93
-rw-r--r--src/quicktemplates2/qquickdeferredpointer_p_p.h188
-rw-r--r--src/quicktemplates2/qquickdelaybutton.cpp267
-rw-r--r--src/quicktemplates2/qquickdelaybutton_p.h99
-rw-r--r--src/quicktemplates2/qquickdial.cpp828
-rw-r--r--src/quicktemplates2/qquickdial_p.h181
-rw-r--r--src/quicktemplates2/qquickdialog.cpp543
-rw-r--r--src/quicktemplates2/qquickdialog_p.h144
-rw-r--r--src/quicktemplates2/qquickdialog_p_p.h82
-rw-r--r--src/quicktemplates2/qquickdialogbuttonbox.cpp860
-rw-r--r--src/quicktemplates2/qquickdialogbuttonbox_p.h169
-rw-r--r--src/quicktemplates2/qquickdialogbuttonbox_p_p.h109
-rw-r--r--src/quicktemplates2/qquickdrawer.cpp809
-rw-r--r--src/quicktemplates2/qquickdrawer_p.h109
-rw-r--r--src/quicktemplates2/qquickdrawer_p_p.h101
-rw-r--r--src/quicktemplates2/qquickframe.cpp88
-rw-r--r--src/quicktemplates2/qquickframe_p.h80
-rw-r--r--src/quicktemplates2/qquickframe_p_p.h63
-rw-r--r--src/quicktemplates2/qquickgroupbox.cpp290
-rw-r--r--src/quicktemplates2/qquickgroupbox_p.h108
-rw-r--r--src/quicktemplates2/qquickicon.cpp263
-rw-r--r--src/quicktemplates2/qquickicon_p.h115
-rw-r--r--src/quicktemplates2/qquickitemdelegate.cpp135
-rw-r--r--src/quicktemplates2/qquickitemdelegate_p.h91
-rw-r--r--src/quicktemplates2/qquickitemdelegate_p_p.h65
-rw-r--r--src/quicktemplates2/qquicklabel.cpp650
-rw-r--r--src/quicktemplates2/qquicklabel_p.h140
-rw-r--r--src/quicktemplates2/qquicklabel_p_p.h147
-rw-r--r--src/quicktemplates2/qquickmenu.cpp1514
-rw-r--r--src/quicktemplates2/qquickmenu_p.h162
-rw-r--r--src/quicktemplates2/qquickmenu_p_p.h140
-rw-r--r--src/quicktemplates2/qquickmenubar.cpp581
-rw-r--r--src/quicktemplates2/qquickmenubar_p.h110
-rw-r--r--src/quicktemplates2/qquickmenubar_p_p.h107
-rw-r--r--src/quicktemplates2/qquickmenubaritem.cpp185
-rw-r--r--src/quicktemplates2/qquickmenubaritem_p.h102
-rw-r--r--src/quicktemplates2/qquickmenubaritem_p_p.h78
-rw-r--r--src/quicktemplates2/qquickmenuitem.cpp279
-rw-r--r--src/quicktemplates2/qquickmenuitem_p.h108
-rw-r--r--src/quicktemplates2/qquickmenuitem_p_p.h86
-rw-r--r--src/quicktemplates2/qquickmenuseparator.cpp91
-rw-r--r--src/quicktemplates2/qquickmenuseparator_p.h78
-rw-r--r--src/quicktemplates2/qquickoverlay.cpp711
-rw-r--r--src/quicktemplates2/qquickoverlay_p.h143
-rw-r--r--src/quicktemplates2/qquickoverlay_p_p.h101
-rw-r--r--src/quicktemplates2/qquickpage.cpp480
-rw-r--r--src/quicktemplates2/qquickpage_p.h124
-rw-r--r--src/quicktemplates2/qquickpage_p_p.h79
-rw-r--r--src/quicktemplates2/qquickpageindicator.cpp346
-rw-r--r--src/quicktemplates2/qquickpageindicator_p.h107
-rw-r--r--src/quicktemplates2/qquickpalette.cpp326
-rw-r--r--src/quicktemplates2/qquickpalette_p.h163
-rw-r--r--src/quicktemplates2/qquickpaletteprovider.cpp175
-rw-r--r--src/quicktemplates2/qquickpaletteprovider_p.h72
-rw-r--r--src/quicktemplates2/qquickpane.cpp426
-rw-r--r--src/quicktemplates2/qquickpane_p.h105
-rw-r--r--src/quicktemplates2/qquickpane_p_p.h90
-rw-r--r--src/quicktemplates2/qquickpopup.cpp2706
-rw-r--r--src/quicktemplates2/qquickpopup_p.h481
-rw-r--r--src/quicktemplates2/qquickpopup_p_p.h205
-rw-r--r--src/quicktemplates2/qquickpopupanchors.cpp72
-rw-r--r--src/quicktemplates2/qquickpopupanchors_p.h85
-rw-r--r--src/quicktemplates2/qquickpopupanchors_p_p.h75
-rw-r--r--src/quicktemplates2/qquickpopupitem.cpp409
-rw-r--r--src/quicktemplates2/qquickpopupitem_p_p.h116
-rw-r--r--src/quicktemplates2/qquickpopuppositioner.cpp308
-rw-r--r--src/quicktemplates2/qquickpopuppositioner_p_p.h86
-rw-r--r--src/quicktemplates2/qquickpresshandler.cpp144
-rw-r--r--src/quicktemplates2/qquickpresshandler_p_p.h84
-rw-r--r--src/quicktemplates2/qquickprogressbar.cpp271
-rw-r--r--src/quicktemplates2/qquickprogressbar_p.h110
-rw-r--r--src/quicktemplates2/qquickradiobutton.cpp117
-rw-r--r--src/quicktemplates2/qquickradiobutton_p.h75
-rw-r--r--src/quicktemplates2/qquickradiodelegate.cpp118
-rw-r--r--src/quicktemplates2/qquickradiodelegate_p.h77
-rw-r--r--src/quicktemplates2/qquickrangeslider.cpp1319
-rw-r--r--src/quicktemplates2/qquickrangeslider_p.h225
-rw-r--r--src/quicktemplates2/qquickroundbutton.cpp135
-rw-r--r--src/quicktemplates2/qquickroundbutton_p.h84
-rw-r--r--src/quicktemplates2/qquickscrollbar.cpp1080
-rw-r--r--src/quicktemplates2/qquickscrollbar_p.h206
-rw-r--r--src/quicktemplates2/qquickscrollbar_p_p.h143
-rw-r--r--src/quicktemplates2/qquickscrollindicator.cpp665
-rw-r--r--src/quicktemplates2/qquickscrollindicator_p.h159
-rw-r--r--src/quicktemplates2/qquickscrollview.cpp604
-rw-r--r--src/quicktemplates2/qquickscrollview_p.h87
-rw-r--r--src/quicktemplates2/qquickshortcutcontext.cpp98
-rw-r--r--src/quicktemplates2/qquickshortcutcontext_p_p.h65
-rw-r--r--src/quicktemplates2/qquickslider.cpp886
-rw-r--r--src/quicktemplates2/qquickslider_p.h188
-rw-r--r--src/quicktemplates2/qquickspinbox.cpp1178
-rw-r--r--src/quicktemplates2/qquickspinbox_p.h226
-rw-r--r--src/quicktemplates2/qquicksplitview.cpp2049
-rw-r--r--src/quicktemplates2/qquicksplitview_p.h218
-rw-r--r--src/quicktemplates2/qquicksplitview_p_p.h178
-rw-r--r--src/quicktemplates2/qquickstackelement.cpp325
-rw-r--r--src/quicktemplates2/qquickstackelement_p_p.h106
-rw-r--r--src/quicktemplates2/qquickstacktransition.cpp150
-rw-r--r--src/quicktemplates2/qquickstacktransition_p_p.h79
-rw-r--r--src/quicktemplates2/qquickstackview.cpp1363
-rw-r--r--src/quicktemplates2/qquickstackview_p.cpp310
-rw-r--r--src/quicktemplates2/qquickstackview_p.h221
-rw-r--r--src/quicktemplates2/qquickstackview_p_p.h124
-rw-r--r--src/quicktemplates2/qquickswipe_p.h140
-rw-r--r--src/quicktemplates2/qquickswipedelegate.cpp1385
-rw-r--r--src/quicktemplates2/qquickswipedelegate_p.h123
-rw-r--r--src/quicktemplates2/qquickswipedelegate_p_p.h76
-rw-r--r--src/quicktemplates2/qquickswipeview.cpp476
-rw-r--r--src/quicktemplates2/qquickswipeview_p.h148
-rw-r--r--src/quicktemplates2/qquickswitch.cpp242
-rw-r--r--src/quicktemplates2/qquickswitch_p.h98
-rw-r--r--src/quicktemplates2/qquickswitchdelegate.cpp239
-rw-r--r--src/quicktemplates2/qquickswitchdelegate_p.h98
-rw-r--r--src/quicktemplates2/qquicktabbar.cpp484
-rw-r--r--src/quicktemplates2/qquicktabbar_p.h134
-rw-r--r--src/quicktemplates2/qquicktabbutton.cpp90
-rw-r--r--src/quicktemplates2/qquicktabbutton_p.h75
-rw-r--r--src/quicktemplates2/qquicktextarea.cpp1229
-rw-r--r--src/quicktemplates2/qquicktextarea_p.h221
-rw-r--r--src/quicktemplates2/qquicktextarea_p_p.h179
-rw-r--r--src/quicktemplates2/qquicktextfield.cpp1017
-rw-r--r--src/quicktemplates2/qquicktextfield_p.h194
-rw-r--r--src/quicktemplates2/qquicktextfield_p_p.h168
-rw-r--r--src/quicktemplates2/qquicktheme.cpp178
-rw-r--r--src/quicktemplates2/qquicktheme_p.h104
-rw-r--r--src/quicktemplates2/qquicktheme_p_p.h78
-rw-r--r--src/quicktemplates2/qquicktoolbar.cpp159
-rw-r--r--src/quicktemplates2/qquicktoolbar_p.h94
-rw-r--r--src/quicktemplates2/qquicktoolbutton.cpp82
-rw-r--r--src/quicktemplates2/qquicktoolbutton_p.h71
-rw-r--r--src/quicktemplates2/qquicktoolseparator.cpp151
-rw-r--r--src/quicktemplates2/qquicktoolseparator_p.h93
-rw-r--r--src/quicktemplates2/qquicktooltip.cpp563
-rw-r--r--src/quicktemplates2/qquicktooltip_p.h154
-rw-r--r--src/quicktemplates2/qquicktumbler.cpp1045
-rw-r--r--src/quicktemplates2/qquicktumbler_p.h177
-rw-r--r--src/quicktemplates2/qquicktumbler_p_p.h153
-rw-r--r--src/quicktemplates2/qquickvelocitycalculator.cpp102
-rw-r--r--src/quicktemplates2/qquickvelocitycalculator_p_p.h76
-rw-r--r--src/quicktemplates2/qtquicktemplates2global_p.h69
-rw-r--r--src/quicktemplates2/quicktemplates2.pri179
-rw-r--r--src/quicktemplates2/quicktemplates2.pro14
-rw-r--r--src/src.pro8
2523 files changed, 0 insertions, 130515 deletions
diff --git a/src/imports/calendar/DayOfWeekRow.qml b/src/imports/calendar/DayOfWeekRow.qml
deleted file mode 100644
index 2fc0d6f7..00000000
--- a/src/imports/calendar/DayOfWeekRow.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-
-AbstractDayOfWeekRow {
- id: control
-
- implicitWidth: Math.max(background ? background.implicitWidth : 0,
- contentItem.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(background ? background.implicitHeight : 0,
- contentItem.implicitHeight + topPadding + bottomPadding)
-
- spacing: 6
- topPadding: 6
- bottomPadding: 6
- font.bold: true
-
- //! [delegate]
- delegate: Text {
- text: model.shortName
- font: control.font
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
- //! [delegate]
-
- //! [contentItem]
- contentItem: Row {
- spacing: control.spacing
- Repeater {
- model: control.source
- delegate: control.delegate
- }
- }
- //! [contentItem]
-}
diff --git a/src/imports/calendar/MonthGrid.qml b/src/imports/calendar/MonthGrid.qml
deleted file mode 100644
index 884ce65f..00000000
--- a/src/imports/calendar/MonthGrid.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-
-AbstractMonthGrid {
- id: control
-
- implicitWidth: Math.max(background ? background.implicitWidth : 0,
- contentItem.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(background ? background.implicitHeight : 0,
- contentItem.implicitHeight + topPadding + bottomPadding)
-
- spacing: 6
-
- //! [delegate]
- delegate: Text {
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- opacity: model.month === control.month ? 1 : 0
- text: model.day
- font: control.font
- }
- //! [delegate]
-
- //! [contentItem]
- contentItem: Grid {
- rows: 6
- columns: 7
- rowSpacing: control.spacing
- columnSpacing: control.spacing
-
- Repeater {
- model: control.source
- delegate: control.delegate
- }
- }
- //! [contentItem]
-}
diff --git a/src/imports/calendar/WeekNumberColumn.qml b/src/imports/calendar/WeekNumberColumn.qml
deleted file mode 100644
index e2c9d98b..00000000
--- a/src/imports/calendar/WeekNumberColumn.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-
-AbstractWeekNumberColumn {
- id: control
-
- implicitWidth: Math.max(background ? background.implicitWidth : 0,
- contentItem.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(background ? background.implicitHeight : 0,
- contentItem.implicitHeight + topPadding + bottomPadding)
-
- spacing: 6
- leftPadding: 6
- rightPadding: 6
- font.bold: true
-
- //! [delegate]
- delegate: Text {
- text: model.weekNumber
- font: control.font
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
- //! [delegate]
-
- //! [contentItem]
- contentItem: Column {
- spacing: control.spacing
- Repeater {
- model: control.source
- delegate: control.delegate
- }
- }
- //! [contentItem]
-}
diff --git a/src/imports/calendar/calendar.pri b/src/imports/calendar/calendar.pri
deleted file mode 100644
index 00ed1209..00000000
--- a/src/imports/calendar/calendar.pri
+++ /dev/null
@@ -1,24 +0,0 @@
-QML_FILES = \
- DayOfWeekRow.qml \
- MonthGrid.qml \
- WeekNumberColumn.qml
-
-HEADERS += \
- $$PWD/qquickcalendar_p.h \
- $$PWD/qquickcalendarmodel_p.h \
- $$PWD/qquickdayofweekmodel_p.h \
- $$PWD/qquickdayofweekrow_p.h \
- $$PWD/qquickmonthgrid_p.h \
- $$PWD/qquickmonthmodel_p.h \
- $$PWD/qquickweeknumbercolumn_p.h \
- $$PWD/qquickweeknumbermodel_p.h
-
-SOURCES += \
- $$PWD/qquickcalendar.cpp \
- $$PWD/qquickcalendarmodel.cpp \
- $$PWD/qquickdayofweekmodel.cpp \
- $$PWD/qquickdayofweekrow.cpp \
- $$PWD/qquickmonthgrid.cpp \
- $$PWD/qquickmonthmodel.cpp \
- $$PWD/qquickweeknumbercolumn.cpp \
- $$PWD/qquickweeknumbermodel.cpp
diff --git a/src/imports/calendar/calendar.pro b/src/imports/calendar/calendar.pro
deleted file mode 100644
index 039906c1..00000000
--- a/src/imports/calendar/calendar.pro
+++ /dev/null
@@ -1,23 +0,0 @@
-TARGET = qtlabscalendarplugin
-TARGETPATH = Qt/labs/calendar
-IMPORT_VERSION = 1.0
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-QMAKE_DOCS = $$PWD/doc/qtlabscalendar.qdocconf
-
-OTHER_FILES += \
- qmldir
-
-SOURCES += \
- $$PWD/qtlabscalendarplugin.cpp
-
-include(calendar.pri)
-
-!static: CONFIG += qmlcache
-
-CONFIG += no_cxx_module
-load(qml_plugin)
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-calendarmodel.png b/src/imports/calendar/doc/images/qtlabscalendar-calendarmodel.png
deleted file mode 100644
index 7a140d27..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-calendarmodel.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow-layout.png b/src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow-layout.png
deleted file mode 100644
index 130e3757..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow-layout.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow.png b/src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow.png
deleted file mode 100644
index 6c8424ab..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-dayofweekrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-monthgrid-layout.png b/src/imports/calendar/doc/images/qtlabscalendar-monthgrid-layout.png
deleted file mode 100644
index dd903650..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-monthgrid-layout.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-monthgrid.png b/src/imports/calendar/doc/images/qtlabscalendar-monthgrid.png
deleted file mode 100644
index 0c3b3c41..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-monthgrid.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn-layout.png b/src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn-layout.png
deleted file mode 100644
index b015a3e6..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn-layout.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn.png b/src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn.png
deleted file mode 100644
index 65e25b29..00000000
--- a/src/imports/calendar/doc/images/qtlabscalendar-weeknumbercolumn.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/calendar/doc/qtlabscalendar.qdocconf b/src/imports/calendar/doc/qtlabscalendar.qdocconf
deleted file mode 100644
index 9a88cb25..00000000
--- a/src/imports/calendar/doc/qtlabscalendar.qdocconf
+++ /dev/null
@@ -1,41 +0,0 @@
-include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
-include($QT_INSTALL_DOCS/config/exampleurl-qtquickcontrols2.qdocconf)
-
-project = QtLabsCalendar
-description = Qt Labs Calendar Reference Documentation
-version = $QT_VERSION
-
-qhp.projects = QtLabsCalendar
-
-qhp.QtLabsCalendar.file = qtlabscalendar.qhp
-qhp.QtLabsCalendar.namespace = org.qt-project.qtlabscalendar.$QT_VERSION_TAG
-qhp.QtLabsCalendar.virtualFolder = qtlabscalendar
-qhp.QtLabsCalendar.indexTitle = Qt Labs Calendar
-qhp.QtLabsCalendar.indexRoot =
-
-qhp.QtLabsCalendar.filterAttributes = qtlabscalendar $QT_VERSION qtrefdoc
-qhp.QtLabsCalendar.customFilters.Qt.name = QtLabsCalendar $QT_VERSION
-qhp.QtLabsCalendar.customFilters.Qt.filterAttributes = qtlabscalendar $QT_VERSION
-
-qhp.QtLabsCalendar.subprojects = qmltypes
-qhp.QtLabsCalendar.subprojects.qmltypes.title = QML Types
-qhp.QtLabsCalendar.subprojects.qmltypes.indexTitle = Qt Labs Calendar QML Types
-qhp.QtLabsCalendar.subprojects.qmltypes.selectors = qmlclass
-qhp.QtLabsCalendar.subprojects.qmltypes.sortPages = true
-
-depends = qtcore qtgui qtdoc qtqml qtquick qtquickcontrols
-
-# This module has no documented C++ types, clear the module header
-moduleheader =
-
-headerdirs += ../
-sourcedirs += ../ src
-exampledirs += ../ snippets
-imagedirs += images
-
-navigation.landingpage = "Qt Labs Calendar"
-navigation.qmltypespage = "Qt Labs Calendar QML Types"
-
-tagfile = qtlabscalendar.tags
-
-macro.labs = "\\note \\e{Types in Qt.labs modules are not guaranteed to remain compatible in future versions.}"
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml
deleted file mode 100644
index 6f6e8f2e..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-import QtQuick.Controls 2.12
-
-//! [1]
-ListView {
- id: listview
-
- width: 200; height: 200
- snapMode: ListView.SnapOneItem
- orientation: ListView.Horizontal
- highlightRangeMode: ListView.StrictlyEnforceRange
-
- model: CalendarModel {
- from: new Date(2015, 0, 1)
- to: new Date(2015, 11, 31)
- }
-
- delegate: MonthGrid {
- width: listview.width
- height: listview.height
-
- month: model.month
- year: model.year
- locale: Qt.locale("en_US")
- }
-
- ScrollIndicator.horizontal: ScrollIndicator { }
-}
-//! [1]
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml
deleted file mode 100644
index 2de76098..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import Qt.labs.calendar 1.0
-
-//! [1]
-ColumnLayout {
- DayOfWeekRow {
- locale: grid.locale
- Layout.fillWidth: true
- }
-
- MonthGrid {
- id: grid
- month: Calendar.December
- year: 2015
- locale: Qt.locale("en_US")
- Layout.fillWidth: true
- }
-}
-//! [1]
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml
deleted file mode 100644
index e52ebb2d..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-
-//! [1]
-DayOfWeekRow {
- locale: Qt.locale("en_US")
-}
-//! [1]
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml
deleted file mode 100644
index 5710b4dd..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import Qt.labs.calendar 1.0
-
-//! [1]
-GridLayout {
- columns: 2
-
- DayOfWeekRow {
- locale: grid.locale
-
- Layout.column: 1
- Layout.fillWidth: true
- }
-
- WeekNumberColumn {
- month: grid.month
- year: grid.year
- locale: grid.locale
-
- Layout.fillHeight: true
- }
-
- MonthGrid {
- id: grid
- month: Calendar.December
- year: 2015
- locale: Qt.locale("en_US")
-
- Layout.fillWidth: true
- Layout.fillHeight: true
- }
-}
-//! [1]
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml
deleted file mode 100644
index cdb7201e..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-
-//! [1]
-MonthGrid {
- month: Calendar.December
- year: 2015
- locale: Qt.locale("en_US")
-}
-//! [1]
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml
deleted file mode 100644
index 18613f12..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import Qt.labs.calendar 1.0
-
-//! [1]
-RowLayout {
- WeekNumberColumn {
- month: grid.month
- year: grid.year
- locale: grid.locale
- Layout.fillHeight: true
- }
-
- MonthGrid {
- id: grid
- month: Calendar.December
- year: 2015
- locale: Qt.locale("en_US")
- Layout.fillHeight: true
- }
-}
-//! [1]
diff --git a/src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml b/src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml
deleted file mode 100644
index f086468b..00000000
--- a/src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import Qt.labs.calendar 1.0
-
-//! [1]
-WeekNumberColumn {
- month: Calendar.December
- year: 2015
- locale: Qt.locale("en_US")
-}
-//! [1]
diff --git a/src/imports/calendar/doc/src/qtlabscalendar-index.qdoc b/src/imports/calendar/doc/src/qtlabscalendar-index.qdoc
deleted file mode 100644
index 065379ec..00000000
--- a/src/imports/calendar/doc/src/qtlabscalendar-index.qdoc
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtlabscalendar-index.html
- \title Qt Labs Calendar
-
- \brief The experimental Qt Labs Calendar module provides a set of UI controls
- for Qt Quick.
-
- The experimental Qt Labs Calendar module provides a set of types that can be
- used to build calendars in Qt Quick. The module was introduced in Qt 5.7.
-
- \section1 QML Types
-
- \generatelist {qmltypesbymodule Qt.labs.calendar}
-
- \labs
-
- \section1 Related Information
-
- \list
- \li \l{Qt Quick}
- \li \l{Qt Quick Layouts}
- \li \l{Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc b/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc
deleted file mode 100644
index 81abf52a..00000000
--- a/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlmodule Qt.labs.calendar 1.0
- \title Qt Labs Calendar QML Types
- \ingroup qmlmodules
- \brief Provides QML types for calendars (Qt Labs Calendar).
-
- The \l{Qt Labs Calendar} module provides QML types for creating
- calendars. These QML types work in conjunction with \l{Qt Quick} and
- \l{Qt Quick Controls}.
-
- The QML types can be imported into your application using the
- following import statement in your .qml file:
-
- \badcode
- import Qt.labs.calendar 1.0
- \endcode
-
- \section1 QML Types
-
- \generatelist {qmltypesbymodule Qt.labs.calendar}
-
- \labs
-
- \section1 Related Information
-
- \list
- \li \l {Qt Quick Controls QML Types}
- \endlist
-
- \noautolist
-*/
diff --git a/src/imports/calendar/plugins.qmltypes b/src/imports/calendar/plugins.qmltypes
deleted file mode 100644
index 76902876..00000000
--- a/src/imports/calendar/plugins.qmltypes
+++ /dev/null
@@ -1,161 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable Qt.labs.calendar 1.0'
-
-Module {
- dependencies: ["QtQuick 2.12"]
- Component {
- name: "QQuickCalendar"
- prototype: "QObject"
- exports: ["Qt.labs.calendar/Calendar 1.0"]
- isCreatable: false
- isSingleton: true
- exportMetaObjectRevisions: [0]
- Enum {
- name: "Month"
- values: {
- "January": 0,
- "February": 1,
- "March": 2,
- "April": 3,
- "May": 4,
- "June": 5,
- "July": 6,
- "August": 7,
- "September": 8,
- "October": 9,
- "November": 10,
- "December": 11
- }
- }
- }
- Component {
- name: "QQuickCalendarModel"
- prototype: "QAbstractListModel"
- exports: ["Qt.labs.calendar/CalendarModel 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "from"; type: "QDate" }
- Property { name: "to"; type: "QDate" }
- Property { name: "count"; type: "int"; isReadonly: true }
- Method {
- name: "monthAt"
- type: "int"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "yearAt"
- type: "int"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "indexOf"
- type: "int"
- Parameter { name: "date"; type: "QDate" }
- }
- Method {
- name: "indexOf"
- type: "int"
- Parameter { name: "year"; type: "int" }
- Parameter { name: "month"; type: "int" }
- }
- }
- Component {
- name: "QQuickControl"
- defaultProperty: "data"
- prototype: "QQuickItem"
- Property { name: "font"; type: "QFont" }
- Property { name: "availableWidth"; type: "double"; isReadonly: true }
- Property { name: "availableHeight"; type: "double"; isReadonly: true }
- Property { name: "padding"; type: "double" }
- Property { name: "topPadding"; type: "double" }
- Property { name: "leftPadding"; type: "double" }
- Property { name: "rightPadding"; type: "double" }
- Property { name: "bottomPadding"; type: "double" }
- Property { name: "spacing"; type: "double" }
- Property { name: "locale"; type: "QLocale" }
- Property { name: "mirrored"; type: "bool"; isReadonly: true }
- Property { name: "focusPolicy"; type: "Qt::FocusPolicy" }
- Property { name: "focusReason"; type: "Qt::FocusReason" }
- Property { name: "visualFocus"; type: "bool"; isReadonly: true }
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Property { name: "hoverEnabled"; type: "bool" }
- Property { name: "wheelEnabled"; type: "bool" }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
- Property { name: "baselineOffset"; type: "double" }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "horizontalPadding"; revision: 5; type: "double" }
- Property { name: "verticalPadding"; revision: 5; type: "double" }
- Property { name: "implicitContentWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitContentHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "topInset"; revision: 5; type: "double" }
- Property { name: "leftInset"; revision: 5; type: "double" }
- Property { name: "rightInset"; revision: 5; type: "double" }
- Property { name: "bottomInset"; revision: 5; type: "double" }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "horizontalPaddingChanged"; revision: 5 }
- Signal { name: "verticalPaddingChanged"; revision: 5 }
- Signal { name: "implicitContentWidthChanged"; revision: 5 }
- Signal { name: "implicitContentHeightChanged"; revision: 5 }
- Signal { name: "implicitBackgroundWidthChanged"; revision: 5 }
- Signal { name: "implicitBackgroundHeightChanged"; revision: 5 }
- Signal { name: "topInsetChanged"; revision: 5 }
- Signal { name: "leftInsetChanged"; revision: 5 }
- Signal { name: "rightInsetChanged"; revision: 5 }
- Signal { name: "bottomInsetChanged"; revision: 5 }
- }
- Component {
- name: "QQuickDayOfWeekRow"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["Qt.labs.calendar/AbstractDayOfWeekRow 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "source"; type: "QVariant" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- }
- Component {
- name: "QQuickMonthGrid"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["Qt.labs.calendar/AbstractMonthGrid 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "month"; type: "int" }
- Property { name: "year"; type: "int" }
- Property { name: "source"; type: "QVariant" }
- Property { name: "title"; type: "string" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- Signal {
- name: "pressed"
- Parameter { name: "date"; type: "QDate" }
- }
- Signal {
- name: "released"
- Parameter { name: "date"; type: "QDate" }
- }
- Signal {
- name: "clicked"
- Parameter { name: "date"; type: "QDate" }
- }
- Signal {
- name: "pressAndHold"
- Parameter { name: "date"; type: "QDate" }
- }
- }
- Component {
- name: "QQuickWeekNumberColumn"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["Qt.labs.calendar/AbstractWeekNumberColumn 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "month"; type: "int" }
- Property { name: "year"; type: "int" }
- Property { name: "source"; type: "QVariant" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- }
-}
diff --git a/src/imports/calendar/qmldir b/src/imports/calendar/qmldir
deleted file mode 100644
index 9b9e9031..00000000
--- a/src/imports/calendar/qmldir
+++ /dev/null
@@ -1,6 +0,0 @@
-module Qt.labs.calendar
-plugin qtlabscalendarplugin
-classname QtLabsCalendarPlugin
-DayOfWeekRow 1.0 DayOfWeekRow.qml
-MonthGrid 1.0 MonthGrid.qml
-WeekNumberColumn 1.0 WeekNumberColumn.qml
diff --git a/src/imports/calendar/qquickcalendar.cpp b/src/imports/calendar/qquickcalendar.cpp
deleted file mode 100644
index 2ad449f1..00000000
--- a/src/imports/calendar/qquickcalendar.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcalendar_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Calendar
- \inherits QObject
- \instantiates QQuickCalendar
- \inqmlmodule Qt.labs.calendar
- \brief A calendar namespace.
-
- The Calendar singleton provides miscellaneous calendar related
- utilities.
-
- 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 MonthGrid::month and
- WeekNumberColumn::month as is. When 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)
-
- \sa MonthGrid, DayOfWeekRow, WeekNumberColumn
-*/
-
-QQuickCalendar::QQuickCalendar(QObject *parent) : QObject(parent)
-{
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickcalendar_p.h b/src/imports/calendar/qquickcalendar_p.h
deleted file mode 100644
index c4f28ebd..00000000
--- a/src/imports/calendar/qquickcalendar_p.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCALENDAR_P_H
-#define QQUICKCALENDAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qdatetime.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickCalendar : public QObject
-{
- Q_OBJECT
-
-public:
- explicit QQuickCalendar(QObject *parent = nullptr);
-
- enum Month {
- January,
- February,
- March,
- April,
- May,
- June,
- July,
- August,
- September,
- October,
- November,
- December
- };
- Q_ENUM(Month)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickCalendar)
-
-#endif // QQUICKCALENDAR_P_H
diff --git a/src/imports/calendar/qquickcalendarmodel.cpp b/src/imports/calendar/qquickcalendarmodel.cpp
deleted file mode 100644
index 053a4a5f..00000000
--- a/src/imports/calendar/qquickcalendarmodel.cpp
+++ /dev/null
@@ -1,276 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcalendarmodel_p.h"
-
-#include <QtCore/private/qabstractitemmodel_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype CalendarModel
- \inherits QAbstractListModel
- \instantiates QQuickCalendarModel
- \inqmlmodule Qt.labs.calendar
- \brief A calendar model.
-
- CalendarModel provides a way of creating a range of MonthGrid
- instances. It is typically used as a model for a ListView that uses
- MonthGrid as a delegate.
-
- \snippet qtlabscalendar-calendarmodel.qml 1
-
- In addition to the \c index property, a list of model data roles
- are available in the context of each delegate:
- \table
- \row \li \b model.month : int \li The number of the month
- \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 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, Calendar
-*/
-
-class QQuickCalendarModelPrivate : public QAbstractItemModelPrivate
-{
- Q_DECLARE_PUBLIC(QQuickCalendarModel)
-
-public:
- QQuickCalendarModelPrivate() : complete(false),
- from(1,1,1), to(275759, 9, 25), count(0)
- {
- }
-
- static int getCount(const QDate& from, const QDate &to);
-
- void populate(const QDate &from, const QDate &to, bool force = false);
-
- bool complete;
- QDate from;
- QDate to;
- int count;
-};
-
-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());
- 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());
-}
-
-void QQuickCalendarModelPrivate::populate(const QDate &f, const QDate &t, bool force)
-{
- Q_Q(QQuickCalendarModel);
- if (!force && f == from && t == to)
- return;
-
- int c = getCount(from, to);
- if (c != count) {
- q->beginResetModel();
- count = c;
- q->endResetModel();
- emit q->countChanged();
- } else {
- emit q->dataChanged(q->index(0, 0), q->index(c - 1, 0));
- }
-}
-
-QQuickCalendarModel::QQuickCalendarModel(QObject *parent) :
- QAbstractListModel(*(new QQuickCalendarModelPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty date Qt.labs.calendar::CalendarModel::from
-
- This property holds the start date.
-*/
-QDate QQuickCalendarModel::from() const
-{
- Q_D(const QQuickCalendarModel);
- return d->from;
-}
-
-void QQuickCalendarModel::setFrom(const QDate &from)
-{
- Q_D(QQuickCalendarModel);
- if (d->from != from) {
- if (d->complete)
- d->populate(from, d->to);
- d->from = from;
- emit fromChanged();
- }
-}
-
-/*!
- \qmlproperty date Qt.labs.calendar::CalendarModel::to
-
- This property holds the end date.
-*/
-QDate QQuickCalendarModel::to() const
-{
- Q_D(const QQuickCalendarModel);
- return d->to;
-}
-
-void QQuickCalendarModel::setTo(const QDate &to)
-{
- Q_D(QQuickCalendarModel);
- if (d->to != to) {
- if (d->complete)
- d->populate(d->from, to);
- d->to = to;
- emit toChanged();
- }
-}
-
-/*!
- \qmlmethod int Qt.labs.calendar::CalendarModel::monthAt(int index)
-
- Returns the month number at the specified model \a index.
-*/
-int QQuickCalendarModel::monthAt(int index) const
-{
- Q_D(const QQuickCalendarModel);
- return d->from.addMonths(index).month() - 1;
-}
-
-/*!
- \qmlmethod int Qt.labs.calendar::CalendarModel::yearAt(int index)
-
- Returns the year number at the specified model \a index.
-*/
-int QQuickCalendarModel::yearAt(int index) const
-{
- Q_D(const QQuickCalendarModel);
- return d->from.addMonths(index).year();
-}
-
-/*!
- \qmlmethod int Qt.labs.calendar::CalendarModel::indexOf(Date date)
-
- Returns the model index of the specified \a date.
-*/
-int QQuickCalendarModel::indexOf(const QDate &date) const
-{
- Q_D(const QQuickCalendarModel);
- return d->getCount(d->from, date) - 1;
-}
-
-/*!
- \qmlmethod int Qt.labs.calendar::CalendarModel::indexOf(int year, int month)
-
- Returns the model index of the specified \a year and \a month.
-*/
-int QQuickCalendarModel::indexOf(int year, int month) const
-{
- return indexOf(QDate(year, month + 1, 1));
-}
-
-QVariant QQuickCalendarModel::data(const QModelIndex &index, int role) const
-{
- Q_D(const QQuickCalendarModel);
- if (index.isValid() && index.row() < d->count) {
- switch (role) {
- case MonthRole:
- return monthAt(index.row());
- case YearRole:
- return yearAt(index.row());
- default:
- break;
- }
- }
- return QVariant();
-}
-
-int QQuickCalendarModel::rowCount(const QModelIndex &parent) const
-{
- Q_D(const QQuickCalendarModel);
- if (!parent.isValid())
- return d->count;
- return 0;
-}
-
-QHash<int, QByteArray> QQuickCalendarModel::roleNames() const
-{
- QHash<int, QByteArray> roles;
- roles[MonthRole] = QByteArrayLiteral("month");
- roles[YearRole] = QByteArrayLiteral("year");
- return roles;
-}
-
-void QQuickCalendarModel::classBegin()
-{
-}
-
-void QQuickCalendarModel::componentComplete()
-{
- Q_D(QQuickCalendarModel);
- d->complete = true;
- d->populate(d->from, d->to, true);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickcalendarmodel_p.h b/src/imports/calendar/qquickcalendarmodel_p.h
deleted file mode 100644
index d309d175..00000000
--- a/src/imports/calendar/qquickcalendarmodel_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCALENDARMODEL_P_H
-#define QQUICKCALENDARMODEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qabstractitemmodel.h>
-#include <QtCore/qdatetime.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickCalendarModelPrivate;
-
-class QQuickCalendarModel : public QAbstractListModel, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QDate from READ from WRITE setFrom NOTIFY fromChanged FINAL)
- Q_PROPERTY(QDate to READ to WRITE setTo NOTIFY toChanged FINAL)
- Q_PROPERTY(int count READ rowCount NOTIFY countChanged)
-
-public:
- explicit QQuickCalendarModel(QObject *parent = nullptr);
-
- QDate from() const;
- void setFrom(const QDate &from);
-
- QDate to() const;
- void setTo(const QDate &to);
-
- Q_INVOKABLE int monthAt(int index) const;
- Q_INVOKABLE int yearAt(int index) const;
- Q_INVOKABLE int indexOf(const QDate &date) const;
- Q_INVOKABLE int indexOf(int year, int month) const;
-
- enum {
- MonthRole,
- YearRole
- };
-
- QHash<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index, int role) const override;
- int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-
-Q_SIGNALS:
- void fromChanged();
- void toChanged();
- void countChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
-private:
- Q_DISABLE_COPY(QQuickCalendarModel)
- Q_DECLARE_PRIVATE(QQuickCalendarModel)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickCalendarModel)
-
-#endif // QQUICKCALENDARMODEL_P_H
diff --git a/src/imports/calendar/qquickdayofweekmodel.cpp b/src/imports/calendar/qquickdayofweekmodel.cpp
deleted file mode 100644
index bb960c5c..00000000
--- a/src/imports/calendar/qquickdayofweekmodel.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdayofweekmodel_p.h"
-
-#include <QtCore/private/qabstractitemmodel_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDayOfWeekModelPrivate : public QAbstractItemModelPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDayOfWeekModel)
-
-public:
- QLocale locale;
-};
-
-QQuickDayOfWeekModel::QQuickDayOfWeekModel(QObject *parent) :
- QAbstractListModel(*(new QQuickDayOfWeekModelPrivate), parent)
-{
-}
-
-QLocale QQuickDayOfWeekModel::locale() const
-{
- Q_D(const QQuickDayOfWeekModel);
- return d->locale;
-}
-
-void QQuickDayOfWeekModel::setLocale(const QLocale &locale)
-{
- Q_D(QQuickDayOfWeekModel);
- if (d->locale != locale) {
- d->locale = locale;
- emit localeChanged();
- emit dataChanged(index(0, 0), index(6, 0));
- }
-}
-
-int QQuickDayOfWeekModel::dayAt(int index) const
-{
- Q_D(const QQuickDayOfWeekModel);
- int day = d->locale.firstDayOfWeek() + index;
- if (day > 7)
- day -= 7;
- if (day == 7)
- day = 0; // Qt::Sunday = 7, but Sunday is 0 in JS Date
- return day;
-}
-
-QVariant QQuickDayOfWeekModel::data(const QModelIndex &index, int role) const
-{
- Q_D(const QQuickDayOfWeekModel);
- if (index.isValid() && index.row() < 7) {
- int day = dayAt(index.row());
- switch (role) {
- case DayRole:
- return day;
- case LongNameRole:
- return d->locale.standaloneDayName(day == 0 ? Qt::Sunday : day, QLocale::LongFormat);
- case ShortNameRole:
- return d->locale.standaloneDayName(day == 0 ? Qt::Sunday : day, QLocale::ShortFormat);
- case NarrowNameRole:
- return d->locale.standaloneDayName(day == 0 ? Qt::Sunday : day, QLocale::NarrowFormat);
- default:
- break;
- }
- }
- return QVariant();
-}
-
-int QQuickDayOfWeekModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.isValid())
- return 0;
- return 7;
-}
-
-QHash<int, QByteArray> QQuickDayOfWeekModel::roleNames() const
-{
- QHash<int, QByteArray> roles;
- roles[DayRole] = QByteArrayLiteral("day");
- roles[LongNameRole] = QByteArrayLiteral("longName");
- roles[ShortNameRole] = QByteArrayLiteral("shortName");
- roles[NarrowNameRole] = QByteArrayLiteral("narrowName");
- return roles;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickdayofweekmodel_p.h b/src/imports/calendar/qquickdayofweekmodel_p.h
deleted file mode 100644
index 3f319a7f..00000000
--- a/src/imports/calendar/qquickdayofweekmodel_p.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDAYOFWEEKMODEL_P_H
-#define QQUICKDAYOFWEEKMODEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qabstractitemmodel.h>
-#include <QtCore/qlocale.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDayOfWeekModelPrivate;
-
-class QQuickDayOfWeekModel : public QAbstractListModel
-{
- Q_OBJECT
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale NOTIFY localeChanged FINAL)
- Q_PROPERTY(int count READ rowCount CONSTANT FINAL)
-
-public:
- explicit QQuickDayOfWeekModel(QObject *parent = nullptr);
-
- QLocale locale() const;
- void setLocale(const QLocale &locale);
-
- Q_INVOKABLE int dayAt(int index) const;
-
- enum {
- DayRole = Qt::UserRole + 1,
- LongNameRole,
- ShortNameRole,
- NarrowNameRole
- };
-
- QHash<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index, int role) const override;
- int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-
-Q_SIGNALS:
- void localeChanged();
-
-private:
- Q_DISABLE_COPY(QQuickDayOfWeekModel)
- Q_DECLARE_PRIVATE(QQuickDayOfWeekModel)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDayOfWeekModel)
-
-#endif // QQUICKDAYOFWEEKMODEL_P_H
diff --git a/src/imports/calendar/qquickdayofweekrow.cpp b/src/imports/calendar/qquickdayofweekrow.cpp
deleted file mode 100644
index da3264f9..00000000
--- a/src/imports/calendar/qquickdayofweekrow.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdayofweekrow_p.h"
-#include "qquickdayofweekmodel_p.h"
-
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype DayOfWeekRow
- \inherits Control
- \instantiates QQuickDayOfWeekRow
- \inqmlmodule Qt.labs.calendar
- \brief A row of names for the days in a week.
-
- DayOfWeekRow presents day of week names in a row. The names of the days
- are ordered and formatted using the specified \l {Control::locale}{locale}.
-
- \image qtlabscalendar-dayofweekrow.png
- \snippet qtlabscalendar-dayofweekrow.qml 1
-
- DayOfWeekRow can be used as a standalone control, but it is most
- often used in conjunction with MonthGrid. Regardless of the use case,
- positioning of the row is left to the user.
-
- \image qtlabscalendar-dayofweekrow-layout.png
- \snippet qtlabscalendar-dayofweekrow-layout.qml 1
-
- The visual appearance of DayOfWeekRow can be changed by
- implementing a \l {delegate}{custom delegate}.
-
- \labs
-
- \sa MonthGrid, WeekNumberColumn
-*/
-
-class QQuickDayOfWeekRowPrivate : public QQuickControlPrivate
-{
-public:
- QQuickDayOfWeekRowPrivate() : delegate(nullptr), model(nullptr) { }
-
- void resizeItems();
-
- QVariant source;
- QQmlComponent *delegate;
- QQuickDayOfWeekModel *model;
-};
-
-void QQuickDayOfWeekRowPrivate::resizeItems()
-{
- if (!contentItem)
- return;
-
- QSizeF itemSize;
- itemSize.setWidth((contentItem->width() - 6 * spacing) / 7);
- itemSize.setHeight(contentItem->height());
-
- const auto childItems = contentItem->childItems();
- for (QQuickItem *item : childItems)
- item->setSize(itemSize);
-}
-
-QQuickDayOfWeekRow::QQuickDayOfWeekRow(QQuickItem *parent) :
- QQuickControl(*(new QQuickDayOfWeekRowPrivate), parent)
-{
- Q_D(QQuickDayOfWeekRow);
- d->model = new QQuickDayOfWeekModel(this);
- d->source = QVariant::fromValue(d->model);
-}
-
-/*!
- \internal
- \qmlproperty model Qt.labs.calendar::DayOfWeekRow::source
-
- This property holds the source model that is used as a data model
- for the internal content row.
-*/
-QVariant QQuickDayOfWeekRow::source() const
-{
- Q_D(const QQuickDayOfWeekRow);
- return d->source;
-}
-
-void QQuickDayOfWeekRow::setSource(const QVariant &source)
-{
- Q_D(QQuickDayOfWeekRow);
- if (d->source != source) {
- d->source = source;
- emit sourceChanged();
- }
-}
-
-/*!
- \qmlproperty Component Qt.labs.calendar::DayOfWeekRow::delegate
-
- This property holds the item delegate that visualizes each day of the week.
-
- In addition to the \c index property, a list of model data roles
- are available in the context of each delegate:
- \table
- \row \li \b model.day : int \li The day of week (\l Qt::DayOfWeek)
- \row \li \b model.longName : string \li The long version of the day name; for example, "Monday" (\l QLocale::LongFormat)
- \row \li \b model.shortName : string \li The short version of the day name; for example, "Mon" (\l QLocale::ShortFormat)
- \row \li \b model.narrowName : string \li A special version of the day name for use when space is limited; for example, "M" (\l QLocale::NarrowFormat)
- \endtable
-
- The following snippet presents the default implementation of the item
- delegate. It can be used as a starting point for implementing custom
- delegates.
-
- \snippet DayOfWeekRow.qml delegate
-*/
-QQmlComponent *QQuickDayOfWeekRow::delegate() const
-{
- Q_D(const QQuickDayOfWeekRow);
- return d->delegate;
-}
-
-void QQuickDayOfWeekRow::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickDayOfWeekRow);
- if (d->delegate != delegate) {
- d->delegate = delegate;
- emit delegateChanged();
- }
-}
-
-void QQuickDayOfWeekRow::componentComplete()
-{
- Q_D(QQuickDayOfWeekRow);
- QQuickControl::componentComplete();
- d->resizeItems();
-}
-
-void QQuickDayOfWeekRow::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickDayOfWeekRow);
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
- if (isComponentComplete())
- d->resizeItems();
-}
-
-void QQuickDayOfWeekRow::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_D(QQuickDayOfWeekRow);
- QQuickControl::localeChange(newLocale, oldLocale);
- d->model->setLocale(newLocale);
-}
-
-void QQuickDayOfWeekRow::paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding)
-{
- Q_D(QQuickDayOfWeekRow);
- QQuickControl::paddingChange(newPadding, oldPadding);
- if (isComponentComplete())
- d->resizeItems();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickdayofweekrow_p.h b/src/imports/calendar/qquickdayofweekrow_p.h
deleted file mode 100644
index 06b899e0..00000000
--- a/src/imports/calendar/qquickdayofweekrow_p.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDAYOFWEEKROW_P_H
-#define QQUICKDAYOFWEEKROW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickDayOfWeekRowPrivate;
-
-class QQuickDayOfWeekRow : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(QVariant source READ source WRITE setSource NOTIFY sourceChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
-
-public:
- explicit QQuickDayOfWeekRow(QQuickItem *parent = nullptr);
-
- QVariant source() const;
- void setSource(const QVariant &source);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
-Q_SIGNALS:
- void sourceChanged();
- void delegateChanged();
-
-protected:
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override;
- void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override;
-
-private:
- Q_DISABLE_COPY(QQuickDayOfWeekRow)
- Q_DECLARE_PRIVATE(QQuickDayOfWeekRow)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDayOfWeekRow)
-
-#endif // QQUICKDAYOFWEEKROW_P_H
diff --git a/src/imports/calendar/qquickmonthgrid.cpp b/src/imports/calendar/qquickmonthgrid.cpp
deleted file mode 100644
index 46b18db6..00000000
--- a/src/imports/calendar/qquickmonthgrid.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmonthgrid_p.h"
-#include "qquickmonthmodel_p.h"
-
-#include <QtGui/qstylehints.h>
-#include <QtGui/qguiapplication.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQml/qqmlinfo.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MonthGrid
- \inherits Control
- \instantiates QQuickMonthGrid
- \inqmlmodule Qt.labs.calendar
- \brief A grid of days for a calendar month.
-
- MonthGrid presents a calendar month in a grid. The contents are
- calculated for a given \l month and \l year, using the specified
- \l {Control::locale}{locale}.
-
- \image qtlabscalendar-monthgrid.png
- \snippet qtlabscalendar-monthgrid.qml 1
-
- MonthGrid can be used as a standalone control, but it is most often
- used in conjunction with DayOfWeekRow and WeekNumberColumn. Regardless
- of the use case, positioning of the grid is left to the user.
-
- \image qtlabscalendar-monthgrid-layout.png
- \snippet qtlabscalendar-monthgrid-layout.qml 1
-
- The visual appearance of MonthGrid can be changed by
- implementing a \l {delegate}{custom delegate}.
-
- \labs
-
- \sa DayOfWeekRow, WeekNumberColumn, CalendarModel
-*/
-
-/*!
- \qmlsignal Qt.labs.calendar::MonthGrid::pressed(date date)
-
- This signal is emitted when \a date is pressed.
-*/
-
-/*!
- \qmlsignal Qt.labs.calendar::MonthGrid::released(date date)
-
- This signal is emitted when \a date is released.
-*/
-
-/*!
- \qmlsignal Qt.labs.calendar::MonthGrid::clicked(date date)
-
- This signal is emitted when \a date is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.calendar::MonthGrid::pressAndHold(date date)
-
- This signal is emitted when \a date is pressed and held down.
-*/
-
-class QQuickMonthGridPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickMonthGrid)
-
-public:
- QQuickMonthGridPrivate() : pressTimer(0), pressedItem(nullptr), model(nullptr), delegate(nullptr) { }
-
- void resizeItems();
-
- QQuickItem *cellAt(const QPointF &pos) const;
- QDate dateOf(QQuickItem *cell) const;
-
- void updatePress(const QPointF &pos);
- void clearPress(bool clicked);
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- static void setContextProperty(QQuickItem *item, const QString &name, const QVariant &value);
-
- QString title;
- QVariant source;
- QDate pressedDate;
- int pressTimer;
- QQuickItem *pressedItem;
- QQuickMonthModel *model;
- QQmlComponent *delegate;
-};
-
-void QQuickMonthGridPrivate::resizeItems()
-{
- if (!contentItem)
- return;
-
- QSizeF itemSize;
- itemSize.setWidth((contentItem->width() - 6 * spacing) / 7);
- itemSize.setHeight((contentItem->height() - 5 * spacing) / 6);
-
- const auto childItems = contentItem->childItems();
- for (QQuickItem *item : childItems) {
- if (!QQuickItemPrivate::get(item)->isTransparentForPositioner())
- item->setSize(itemSize);
- }
-}
-
-QQuickItem *QQuickMonthGridPrivate::cellAt(const QPointF &pos) const
-{
- Q_Q(const QQuickMonthGrid);
- if (contentItem) {
- QPointF mapped = q->mapToItem(contentItem, pos);
- return contentItem->childAt(mapped.x(), mapped.y());
- }
- return nullptr;
-}
-
-QDate QQuickMonthGridPrivate::dateOf(QQuickItem *cell) const
-{
- if (contentItem)
- return model->dateAt(contentItem->childItems().indexOf(cell));
- return QDate();
-}
-
-void QQuickMonthGridPrivate::updatePress(const QPointF &pos)
-{
- Q_Q(QQuickMonthGrid);
- clearPress(false);
- pressedItem = cellAt(pos);
- setContextProperty(pressedItem, QStringLiteral("pressed"), true);
- pressedDate = dateOf(pressedItem);
- if (pressedDate.isValid())
- emit q->pressed(pressedDate);
-}
-
-void QQuickMonthGridPrivate::clearPress(bool clicked)
-{
- Q_Q(QQuickMonthGrid);
- setContextProperty(pressedItem, QStringLiteral("pressed"), false);
- if (pressedDate.isValid()) {
- emit q->released(pressedDate);
- if (clicked)
- emit q->clicked(pressedDate);
- }
- pressedDate = QDate();
- pressedItem = nullptr;
-}
-
-void QQuickMonthGridPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickMonthGrid);
- QQuickControlPrivate::handlePress(point);
- updatePress(point);
- if (pressedDate.isValid())
- pressTimer = q->startTimer(qGuiApp->styleHints()->mousePressAndHoldInterval());
-}
-
-void QQuickMonthGridPrivate::handleMove(const QPointF &point)
-{
- QQuickControlPrivate::handleMove(point);
- updatePress(point);
-}
-
-void QQuickMonthGridPrivate::handleRelease(const QPointF &point)
-{
- QQuickControlPrivate::handleRelease(point);
- clearPress(true);
-}
-
-void QQuickMonthGridPrivate::handleUngrab()
-{
- QQuickControlPrivate::handleUngrab();
- clearPress(false);
-}
-
-void QQuickMonthGridPrivate::setContextProperty(QQuickItem *item, const QString &name, const QVariant &value)
-{
- QQmlContext *context = qmlContext(item);
- if (context && context->isValid()) {
- context = context->parentContext();
- if (context && context->isValid())
- context->setContextProperty(name, value);
- }
-}
-
-QQuickMonthGrid::QQuickMonthGrid(QQuickItem *parent) :
- QQuickControl(*(new QQuickMonthGridPrivate), parent)
-{
- Q_D(QQuickMonthGrid);
- setFlag(ItemIsFocusScope);
- setActiveFocusOnTab(true);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-
- d->model = new QQuickMonthModel(this);
- d->source = QVariant::fromValue(d->model);
- connect(d->model, &QQuickMonthModel::monthChanged, this, &QQuickMonthGrid::monthChanged);
- connect(d->model, &QQuickMonthModel::yearChanged, this, &QQuickMonthGrid::yearChanged);
- connect(d->model, &QQuickMonthModel::titleChanged, this, &QQuickMonthGrid::titleChanged);
-}
-
-/*!
- \qmlproperty int Qt.labs.calendar::MonthGrid::month
-
- This property holds the number of the month. The default value is the
- current month.
-
- 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 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)
-
- \sa Calendar
-*/
-int QQuickMonthGrid::month() const
-{
- Q_D(const QQuickMonthGrid);
- return d->model->month() - 1;
-}
-
-void QQuickMonthGrid::setMonth(int month)
-{
- Q_D(QQuickMonthGrid);
- if (month < 0 || month > 11) {
- qmlWarning(this) << "month " << month << " is out of range [0...11]";
- return;
- }
- d->model->setMonth(month + 1);
-}
-
-/*!
- \qmlproperty int Qt.labs.calendar::MonthGrid::year
-
- This property holds the number of the year.
-
- The value must be in the range from \c -271820 to \c 275759. The default
- value is the current year.
-*/
-int QQuickMonthGrid::year() const
-{
- Q_D(const QQuickMonthGrid);
- return d->model->year();
-}
-
-void QQuickMonthGrid::setYear(int year)
-{
- Q_D(QQuickMonthGrid);
- if (year < -271820 || year > 275759) {
- qmlWarning(this) << "year " << year << " is out of range [-271820...275759]";
- return;
- }
- d->model->setYear(year);
-}
-
-/*!
- \internal
- \qmlproperty model Qt.labs.calendar::MonthGrid::source
-
- This property holds the source model that is used as a data model
- for the internal content column.
-*/
-QVariant QQuickMonthGrid::source() const
-{
- Q_D(const QQuickMonthGrid);
- return d->source;
-}
-
-void QQuickMonthGrid::setSource(const QVariant &source)
-{
- Q_D(QQuickMonthGrid);
- if (d->source != source) {
- d->source = source;
- emit sourceChanged();
- }
-}
-
-/*!
- \qmlproperty string Qt.labs.calendar::MonthGrid::title
-
- This property holds a title for the calendar.
-
- This property is provided for convenience. MonthGrid itself does
- not visualize the title. The default value consists of the month name,
- formatted using \l {Control::locale}{locale}, and the year number.
-*/
-QString QQuickMonthGrid::title() const
-{
- Q_D(const QQuickMonthGrid);
- if (d->title.isNull())
- return d->model->title();
- return d->title;
-}
-
-void QQuickMonthGrid::setTitle(const QString &title)
-{
- Q_D(QQuickMonthGrid);
- if (d->title != title) {
- d->title = title;
- emit titleChanged();
- }
-}
-
-/*!
- \qmlproperty Component Qt.labs.calendar::MonthGrid::delegate
-
- This property holds the item delegate that visualizes each day.
-
- In addition to the \c index property, a list of model data roles
- are available in the context of each delegate:
- \table
- \row \li \b model.date : date \li The date of the cell
- \row \li \b model.day : int \li The number of the day
- \row \li \b model.today : bool \li Whether the delegate represents today
- \row \li \b model.weekNumber : int \li The week number
- \row \li \b model.month : int \li The number of the month
- \row \li \b model.year : int \li The number of the year
- \endtable
-
- The following snippet presents the default implementation of the item
- delegate. It can be used as a starting point for implementing custom
- delegates.
-
- \snippet MonthGrid.qml delegate
-*/
-QQmlComponent *QQuickMonthGrid::delegate() const
-{
- Q_D(const QQuickMonthGrid);
- return d->delegate;
-}
-
-void QQuickMonthGrid::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickMonthGrid);
- if (d->delegate != delegate) {
- d->delegate = delegate;
- emit delegateChanged();
- }
-}
-
-void QQuickMonthGrid::componentComplete()
-{
- Q_D(QQuickMonthGrid);
- QQuickControl::componentComplete();
- if (d->contentItem) {
- const auto childItems = d->contentItem->childItems();
- for (QQuickItem *child : childItems) {
- if (!QQuickItemPrivate::get(child)->isTransparentForPositioner())
- d->setContextProperty(child, QStringLiteral("pressed"), false);
- }
- }
- d->resizeItems();
-}
-
-void QQuickMonthGrid::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickMonthGrid);
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
- if (isComponentComplete())
- d->resizeItems();
-}
-
-void QQuickMonthGrid::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_D(QQuickMonthGrid);
- QQuickControl::localeChange(newLocale, oldLocale);
- d->model->setLocale(newLocale);
-}
-
-void QQuickMonthGrid::paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding)
-{
- Q_D(QQuickMonthGrid);
- QQuickControl::paddingChange(newPadding, oldPadding);
- if (isComponentComplete())
- d->resizeItems();
-}
-
-void QQuickMonthGrid::updatePolish()
-{
- Q_D(QQuickMonthGrid);
- QQuickControl::updatePolish();
- d->resizeItems();
-}
-
-void QQuickMonthGrid::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickMonthGrid);
- if (event->timerId() == d->pressTimer) {
- if (d->pressedDate.isValid())
- emit pressAndHold(d->pressedDate);
- killTimer(d->pressTimer);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickmonthgrid_p.h b/src/imports/calendar/qquickmonthgrid_p.h
deleted file mode 100644
index b85e0921..00000000
--- a/src/imports/calendar/qquickmonthgrid_p.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMONTHGRID_P_H
-#define QQUICKMONTHGRID_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickMonthGridPrivate;
-
-class QQuickMonthGrid : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(int month READ month WRITE setMonth NOTIFY monthChanged FINAL)
- Q_PROPERTY(int year READ year WRITE setYear NOTIFY yearChanged FINAL)
- Q_PROPERTY(QVariant source READ source WRITE setSource NOTIFY sourceChanged FINAL)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
-
-public:
- explicit QQuickMonthGrid(QQuickItem *parent = nullptr);
-
- int month() const;
- void setMonth(int month);
-
- int year() const;
- void setYear(int year);
-
- QVariant source() const;
- void setSource(const QVariant &source);
-
- QString title() const;
- void setTitle(const QString &title);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
-Q_SIGNALS:
- void monthChanged();
- void yearChanged();
- void sourceChanged();
- void titleChanged();
- void delegateChanged();
-
- void pressed(const QDate &date);
- void released(const QDate &date);
- void clicked(const QDate &date);
- void pressAndHold(const QDate &date);
-
-protected:
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override;
- void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override;
- void updatePolish() override;
-
- void timerEvent(QTimerEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickMonthGrid)
- Q_DECLARE_PRIVATE(QQuickMonthGrid)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMonthGrid)
-
-#endif // QQUICKMONTHGRID_P_H
diff --git a/src/imports/calendar/qquickmonthmodel.cpp b/src/imports/calendar/qquickmonthmodel.cpp
deleted file mode 100644
index 34bce814..00000000
--- a/src/imports/calendar/qquickmonthmodel.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmonthmodel_p.h"
-
-#include <QtCore/private/qabstractitemmodel_p.h>
-
-namespace {
- static const int daysInAWeek = 7;
- static const int weeksOnACalendarMonth = 6;
- static const int daysOnACalendarMonth = daysInAWeek * weeksOnACalendarMonth;
-}
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMonthModelPrivate : public QAbstractItemModelPrivate
-{
- Q_DECLARE_PUBLIC(QQuickMonthModel)
-
-public:
- QQuickMonthModelPrivate() : dates(daysOnACalendarMonth)
- {
- today = QDate::currentDate();
- month = today.month();
- year = today.year();
- }
-
- bool populate(int month, int year, const QLocale &locale, bool force = false);
-
- int month;
- int year;
- QString title;
- QLocale locale;
- QVector<QDate> dates;
- QDate today;
-};
-
-bool QQuickMonthModelPrivate::populate(int m, int y, const QLocale &l, bool force)
-{
- Q_Q(QQuickMonthModel);
- if (!force && m == month && y == year && l.firstDayOfWeek() == locale.firstDayOfWeek())
- return false;
-
- // The actual first (1st) day of the month.
- QDate firstDayOfMonthDate(y, m, 1);
- int difference = ((firstDayOfMonthDate.dayOfWeek() - l.firstDayOfWeek()) + 7) % 7;
- // The first day to display should never be the 1st of the month, as we want some days from
- // the previous month to be visible.
- if (difference == 0)
- difference += 7;
- QDate firstDateToDisplay = firstDayOfMonthDate.addDays(-difference);
-
- today = QDate::currentDate();
- for (int i = 0; i < daysOnACalendarMonth; ++i)
- dates[i] = firstDateToDisplay.addDays(i);
-
- q->setTitle(l.standaloneMonthName(m) + QStringLiteral(" ") + QString::number(y));
-
- return true;
-}
-
-QQuickMonthModel::QQuickMonthModel(QObject *parent) :
- QAbstractListModel(*(new QQuickMonthModelPrivate), parent)
-{
- Q_D(QQuickMonthModel);
- d->populate(d->month, d->year, d->locale, true);
-}
-
-int QQuickMonthModel::month() const
-{
- Q_D(const QQuickMonthModel);
- return d->month;
-}
-
-void QQuickMonthModel::setMonth(int month)
-{
- Q_D(QQuickMonthModel);
- if (d->month != month) {
- if (d->populate(month, d->year, d->locale))
- emit dataChanged(index(0, 0), index(daysOnACalendarMonth - 1, 0));
- d->month = month;
- emit monthChanged();
- }
-}
-
-int QQuickMonthModel::year() const
-{
- Q_D(const QQuickMonthModel);
- return d->year;
-}
-
-void QQuickMonthModel::setYear(int year)
-{
- Q_D(QQuickMonthModel);
- if (d->year != year) {
- if (d->populate(d->month, year, d->locale))
- emit dataChanged(index(0, 0), index(daysOnACalendarMonth - 1, 0));
- d->year = year;
- emit yearChanged();
- }
-}
-
-QLocale QQuickMonthModel::locale() const
-{
- Q_D(const QQuickMonthModel);
- return d->locale;
-}
-
-void QQuickMonthModel::setLocale(const QLocale &locale)
-{
- Q_D(QQuickMonthModel);
- if (d->locale != locale) {
- if (d->populate(d->month, d->year, locale))
- emit dataChanged(index(0, 0), index(daysOnACalendarMonth - 1, 0));
- d->locale = locale;
- emit localeChanged();
- }
-}
-
-QString QQuickMonthModel::title() const
-{
- Q_D(const QQuickMonthModel);
- return d->title;
-}
-
-void QQuickMonthModel::setTitle(const QString &title)
-{
- Q_D(QQuickMonthModel);
- if (d->title != title) {
- d->title = title;
- emit titleChanged();
- }
-}
-
-QDate QQuickMonthModel::dateAt(int index) const
-{
- Q_D(const QQuickMonthModel);
- return d->dates.value(index);
-}
-
-int QQuickMonthModel::indexOf(const QDate &date) const
-{
- Q_D(const QQuickMonthModel);
- if (date < d->dates.first() || date > d->dates.last())
- return -1;
- return qMax(qint64(0), d->dates.first().daysTo(date));
-}
-
-QVariant QQuickMonthModel::data(const QModelIndex &index, int role) const
-{
- Q_D(const QQuickMonthModel);
- if (index.isValid() && index.row() < daysOnACalendarMonth) {
- const QDate date = d->dates.at(index.row());
- switch (role) {
- case DateRole:
- return date;
- case DayRole:
- return date.day();
- case TodayRole:
- return date == d->today;
- case WeekNumberRole:
- return date.weekNumber();
- case MonthRole:
- return date.month() - 1;
- case YearRole:
- return date.year();
- default:
- break;
- }
- }
- return QVariant();
-}
-
-int QQuickMonthModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.isValid())
- return 0;
- return daysOnACalendarMonth;
-}
-
-QHash<int, QByteArray> QQuickMonthModel::roleNames() const
-{
- QHash<int, QByteArray> roles;
- roles[DateRole] = QByteArrayLiteral("date");
- roles[DayRole] = QByteArrayLiteral("day");
- roles[TodayRole] = QByteArrayLiteral("today");
- roles[WeekNumberRole] = QByteArrayLiteral("weekNumber");
- roles[MonthRole] = QByteArrayLiteral("month");
- roles[YearRole] = QByteArrayLiteral("year");
- return roles;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickmonthmodel_p.h b/src/imports/calendar/qquickmonthmodel_p.h
deleted file mode 100644
index 55346282..00000000
--- a/src/imports/calendar/qquickmonthmodel_p.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMONTHMODEL_P_H
-#define QQUICKMONTHMODEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qabstractitemmodel.h>
-#include <QtCore/qdatetime.h>
-#include <QtCore/qlocale.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMonthModelPrivate;
-
-class QQuickMonthModel : public QAbstractListModel
-{
- Q_OBJECT
- Q_PROPERTY(int month READ month WRITE setMonth NOTIFY monthChanged FINAL)
- Q_PROPERTY(int year READ year WRITE setYear NOTIFY yearChanged FINAL)
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale NOTIFY localeChanged FINAL)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(int count READ rowCount CONSTANT FINAL)
-
-public:
- explicit QQuickMonthModel(QObject *parent = nullptr);
-
- int month() const;
- void setMonth(int month);
-
- int year() const;
- void setYear(int year);
-
- QLocale locale() const;
- void setLocale(const QLocale &locale);
-
- QString title() const;
- void setTitle(const QString &title);
-
- Q_INVOKABLE QDate dateAt(int index) const;
- Q_INVOKABLE int indexOf(const QDate &date) const;
-
- enum {
- DateRole = Qt::UserRole + 1,
- DayRole,
- TodayRole,
- WeekNumberRole,
- MonthRole,
- YearRole
- };
-
- QHash<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index, int role) const override;
- int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-
-Q_SIGNALS:
- void monthChanged();
- void yearChanged();
- void localeChanged();
- void titleChanged();
-
-private:
- Q_DISABLE_COPY(QQuickMonthModel)
- Q_DECLARE_PRIVATE(QQuickMonthModel)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMonthModel)
-
-#endif // QQUICKMONTHMODEL_P_H
diff --git a/src/imports/calendar/qquickweeknumbercolumn.cpp b/src/imports/calendar/qquickweeknumbercolumn.cpp
deleted file mode 100644
index c1179879..00000000
--- a/src/imports/calendar/qquickweeknumbercolumn.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickweeknumbercolumn_p.h"
-#include "qquickweeknumbermodel_p.h"
-
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQml/qqmlinfo.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype WeekNumberColumn
- \inherits Control
- \instantiates QQuickWeekNumberColumn
- \inqmlmodule Qt.labs.calendar
- \brief A column of week numbers.
-
- WeekNumberColumn presents week numbers in a column. The week numbers
- are calculated for a given \l month and \l year, using the specified
- \l {Control::locale}{locale}.
-
- \image qtlabscalendar-weeknumbercolumn.png
- \snippet qtlabscalendar-weeknumbercolumn.qml 1
-
- WeekNumberColumn can be used as a standalone control, but it is most
- often used in conjunction with MonthGrid. Regardless of the use case,
- positioning of the column is left to the user.
-
- \image qtlabscalendar-weeknumbercolumn-layout.png
- \snippet qtlabscalendar-weeknumbercolumn-layout.qml 1
-
- The visual appearance of WeekNumberColumn can be changed by
- implementing a \l {delegate}{custom delegate}.
-
- \labs
-
- \sa MonthGrid, DayOfWeekRow
-*/
-
-class QQuickWeekNumberColumnPrivate : public QQuickControlPrivate
-{
-public:
- QQuickWeekNumberColumnPrivate() : delegate(nullptr), model(nullptr) { }
-
- void resizeItems();
-
- QVariant source;
- QQmlComponent *delegate;
- QQuickWeekNumberModel *model;
-};
-
-void QQuickWeekNumberColumnPrivate::resizeItems()
-{
- if (!contentItem)
- return;
-
- QSizeF itemSize;
- itemSize.setWidth(contentItem->width());
- itemSize.setHeight((contentItem->height() - 5 * spacing) / 6);
-
- const auto childItems = contentItem->childItems();
- for (QQuickItem *item : childItems)
- item->setSize(itemSize);
-}
-
-QQuickWeekNumberColumn::QQuickWeekNumberColumn(QQuickItem *parent) :
- QQuickControl(*(new QQuickWeekNumberColumnPrivate), parent)
-{
- Q_D(QQuickWeekNumberColumn);
- d->model = new QQuickWeekNumberModel(this);
- d->source = QVariant::fromValue(d->model);
- connect(d->model, &QQuickWeekNumberModel::monthChanged, this, &QQuickWeekNumberColumn::monthChanged);
- connect(d->model, &QQuickWeekNumberModel::yearChanged, this, &QQuickWeekNumberColumn::yearChanged);
-}
-
-/*!
- \qmlproperty int Qt.labs.calendar::WeekNumberColumn::month
-
- This property holds the number of the month that the week numbers are
- calculated for. The default value is the current month.
-
- 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 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)
-
- \sa Calendar
-*/
-int QQuickWeekNumberColumn::month() const
-{
- Q_D(const QQuickWeekNumberColumn);
- return d->model->month() - 1;
-}
-
-void QQuickWeekNumberColumn::setMonth(int month)
-{
- Q_D(QQuickWeekNumberColumn);
- if (month < 0 || month > 11) {
- qmlWarning(this) << "month " << month << " is out of range [0...11]";
- return;
- }
- d->model->setMonth(month + 1);
-}
-
-/*!
- \qmlproperty int Qt.labs.calendar::WeekNumberColumn::year
-
- This property holds the number of the year that the week numbers are calculated for.
-
- The value must be in the range from \c -271820 to \c 275759. The default
- value is the current year.
-*/
-int QQuickWeekNumberColumn::year() const
-{
- Q_D(const QQuickWeekNumberColumn);
- return d->model->year();
-}
-
-void QQuickWeekNumberColumn::setYear(int year)
-{
- Q_D(QQuickWeekNumberColumn);
- if (year < -271820 || year > 275759) {
- qmlWarning(this) << "year " << year << " is out of range [-271820...275759]";
- return;
- }
- d->model->setYear(year);
-}
-
-/*!
- \internal
- \qmlproperty model Qt.labs.calendar::WeekNumberColumn::source
-
- This property holds the source model that is used as a data model
- for the internal content column.
-*/
-QVariant QQuickWeekNumberColumn::source() const
-{
- Q_D(const QQuickWeekNumberColumn);
- return d->source;
-}
-
-void QQuickWeekNumberColumn::setSource(const QVariant &source)
-{
- Q_D(QQuickWeekNumberColumn);
- if (d->source != source) {
- d->source = source;
- emit sourceChanged();
- }
-}
-
-/*!
- \qmlproperty Component Qt.labs.calendar::WeekNumberColumn::delegate
-
- This property holds the item delegate that visualizes each week number.
-
- In addition to the \c index property, a list of model data roles
- are available in the context of each delegate:
- \table
- \row \li \b model.weekNumber : int \li The week number
- \endtable
-
- The following snippet presents the default implementation of the item
- delegate. It can be used as a starting point for implementing custom
- delegates.
-
- \snippet WeekNumberColumn.qml delegate
-*/
-QQmlComponent *QQuickWeekNumberColumn::delegate() const
-{
- Q_D(const QQuickWeekNumberColumn);
- return d->delegate;
-}
-
-void QQuickWeekNumberColumn::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickWeekNumberColumn);
- if (d->delegate != delegate) {
- d->delegate = delegate;
- emit delegateChanged();
- }
-}
-
-void QQuickWeekNumberColumn::componentComplete()
-{
- Q_D(QQuickWeekNumberColumn);
- QQuickControl::componentComplete();
- d->resizeItems();
-}
-
-void QQuickWeekNumberColumn::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickWeekNumberColumn);
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
- if (isComponentComplete())
- d->resizeItems();
-}
-
-void QQuickWeekNumberColumn::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_D(QQuickWeekNumberColumn);
- QQuickControl::localeChange(newLocale, oldLocale);
- d->model->setLocale(newLocale);
-}
-
-void QQuickWeekNumberColumn::paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding)
-{
- Q_D(QQuickWeekNumberColumn);
- QQuickControl::paddingChange(newPadding, oldPadding);
- if (isComponentComplete())
- d->resizeItems();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickweeknumbercolumn_p.h b/src/imports/calendar/qquickweeknumbercolumn_p.h
deleted file mode 100644
index 30f267ca..00000000
--- a/src/imports/calendar/qquickweeknumbercolumn_p.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKWEEKNUMBERCOLUMN_P_H
-#define QQUICKWEEKNUMBERCOLUMN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickWeekNumberColumnPrivate;
-
-class QQuickWeekNumberColumn : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(int month READ month WRITE setMonth NOTIFY monthChanged FINAL)
- Q_PROPERTY(int year READ year WRITE setYear NOTIFY yearChanged FINAL)
- Q_PROPERTY(QVariant source READ source WRITE setSource NOTIFY sourceChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
-
-public:
- explicit QQuickWeekNumberColumn(QQuickItem *parent = nullptr);
-
- int month() const;
- void setMonth(int month);
-
- int year() const;
- void setYear(int year);
-
- QVariant source() const;
- void setSource(const QVariant &source);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
-Q_SIGNALS:
- void monthChanged();
- void yearChanged();
- void sourceChanged();
- void delegateChanged();
-
-protected:
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override;
- void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override;
-
-private:
- Q_DISABLE_COPY(QQuickWeekNumberColumn)
- Q_DECLARE_PRIVATE(QQuickWeekNumberColumn)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickWeekNumberColumn)
-
-#endif // QQUICKWEEKNUMBERCOLUMN_P_H
diff --git a/src/imports/calendar/qquickweeknumbermodel.cpp b/src/imports/calendar/qquickweeknumbermodel.cpp
deleted file mode 100644
index c45d8938..00000000
--- a/src/imports/calendar/qquickweeknumbermodel.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickweeknumbermodel_p.h"
-
-#include <QtCore/private/qabstractitemmodel_p.h>
-#include <QtCore/qdatetime.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickWeekNumberModelPrivate : public QAbstractItemModelPrivate
-{
- Q_DECLARE_PUBLIC(QQuickWeekNumberModel)
-
-public:
- QQuickWeekNumberModelPrivate() : month(-1), year(-1)
- {
- QDate date = QDate::currentDate();
- init(date.month(), date.year(), locale);
- month = date.month();
- year = date.year();
- }
-
- void init(int month, int year, const QLocale &locale = QLocale());
- static QDate calculateFirst(int month, int year, const QLocale &locale);
-
- int month;
- int year;
- QLocale locale;
- int weekNumbers[6];
-};
-
-void QQuickWeekNumberModelPrivate::init(int m, int y, const QLocale &l)
-{
- Q_Q(QQuickWeekNumberModel);
- if (m == month && y == year && l.firstDayOfWeek() == locale.firstDayOfWeek())
- return;
-
- // The actual first (1st) day of the month.
- QDate firstDayOfMonthDate(y, m, 1);
- int difference = ((firstDayOfMonthDate.dayOfWeek() - l.firstDayOfWeek()) + 7) % 7;
- // The first day to display should never be the 1st of the month, as we want some days from
- // the previous month to be visible.
- if (difference == 0)
- difference += 7;
-
- for (int i = 0; i < 6; ++i)
- weekNumbers[i] = firstDayOfMonthDate.addDays(i * 7 - difference).weekNumber();
-
- if (q) // null at construction
- emit q->dataChanged(q->index(0, 0), q->index(5, 0));
-}
-
-QQuickWeekNumberModel::QQuickWeekNumberModel(QObject *parent) :
- QAbstractListModel(*(new QQuickWeekNumberModelPrivate), parent)
-{
-}
-
-int QQuickWeekNumberModel::month() const
-{
- Q_D(const QQuickWeekNumberModel);
- return d->month;
-}
-
-void QQuickWeekNumberModel::setMonth(int month)
-{
- Q_D(QQuickWeekNumberModel);
- if (d->month != month) {
- d->init(month, d->year, d->locale);
- d->month = month;
- emit monthChanged();
- }
-}
-
-int QQuickWeekNumberModel::year() const
-{
- Q_D(const QQuickWeekNumberModel);
- return d->year;
-}
-
-void QQuickWeekNumberModel::setYear(int year)
-{
- Q_D(QQuickWeekNumberModel);
- if (d->year != year) {
- d->init(d->month, year, d->locale);
- d->year = year;
- emit yearChanged();
- }
-}
-
-QLocale QQuickWeekNumberModel::locale() const
-{
- Q_D(const QQuickWeekNumberModel);
- return d->locale;
-}
-
-void QQuickWeekNumberModel::setLocale(const QLocale &locale)
-{
- Q_D(QQuickWeekNumberModel);
- if (d->locale != locale) {
- d->init(d->month, d->year, locale);
- d->locale = locale;
- emit localeChanged();
- }
-}
-
-int QQuickWeekNumberModel::weekNumberAt(int index) const
-{
- Q_D(const QQuickWeekNumberModel);
- if (index < 0 || index > 5)
- return -1;
- return d->weekNumbers[index];
-}
-
-int QQuickWeekNumberModel::indexOf(int weekNumber) const
-{
- Q_D(const QQuickWeekNumberModel);
- if (weekNumber < d->weekNumbers[0] || weekNumber > d->weekNumbers[5])
- return -1;
- return weekNumber - d->weekNumbers[0];
-}
-
-QVariant QQuickWeekNumberModel::data(const QModelIndex &index, int role) const
-{
- if (role == WeekNumberRole) {
- int weekNumber = weekNumberAt(index.row());
- if (weekNumber != -1)
- return weekNumber;
- }
- return QVariant();
-}
-
-int QQuickWeekNumberModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.isValid())
- return 0;
- return 6;
-}
-
-QHash<int, QByteArray> QQuickWeekNumberModel::roleNames() const
-{
- QHash<int, QByteArray> roles;
- roles[WeekNumberRole] = QByteArrayLiteral("weekNumber");
- return roles;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/calendar/qquickweeknumbermodel_p.h b/src/imports/calendar/qquickweeknumbermodel_p.h
deleted file mode 100644
index 129c58fd..00000000
--- a/src/imports/calendar/qquickweeknumbermodel_p.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKWEEKNUMBERMODEL_P_H
-#define QQUICKWEEKNUMBERMODEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qabstractitemmodel.h>
-#include <QtCore/qlocale.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickWeekNumberModelPrivate;
-
-class QQuickWeekNumberModel : public QAbstractListModel
-{
- Q_OBJECT
- Q_PROPERTY(int month READ month WRITE setMonth NOTIFY monthChanged FINAL)
- Q_PROPERTY(int year READ year WRITE setYear NOTIFY yearChanged FINAL)
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale NOTIFY localeChanged FINAL)
- Q_PROPERTY(int count READ rowCount CONSTANT FINAL)
-
-public:
- explicit QQuickWeekNumberModel(QObject *parent = nullptr);
-
- int month() const;
- void setMonth(int month);
-
- int year() const;
- void setYear(int year);
-
- QLocale locale() const;
- void setLocale(const QLocale &locale);
-
- Q_INVOKABLE int weekNumberAt(int index) const;
- Q_INVOKABLE int indexOf(int weekNumber) const;
-
- enum {
- WeekNumberRole = Qt::UserRole + 1
- };
-
- QHash<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index, int role) const override;
- int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-
-Q_SIGNALS:
- void monthChanged();
- void yearChanged();
- void localeChanged();
-
-private:
- Q_DISABLE_COPY(QQuickWeekNumberModel)
- Q_DECLARE_PRIVATE(QQuickWeekNumberModel)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickWeekNumberModel)
-
-#endif // QQUICKWEEKNUMBERMODEL_P_H
diff --git a/src/imports/calendar/qtlabscalendarplugin.cpp b/src/imports/calendar/qtlabscalendarplugin.cpp
deleted file mode 100644
index 903eb8c0..00000000
--- a/src/imports/calendar/qtlabscalendarplugin.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Calendar module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml/qqmlextensionplugin.h>
-
-#include "qquickdayofweekrow_p.h"
-#include "qquickmonthgrid_p.h"
-#include "qquickweeknumbercolumn_p.h"
-#include "qquickcalendarmodel_p.h"
-#include "qquickcalendar_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QtLabsCalendarPlugin: public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtLabsCalendarPlugin(QObject *parent = nullptr);
- void registerTypes(const char *uri) override;
-};
-
-QtLabsCalendarPlugin::QtLabsCalendarPlugin(QObject *parent) : QQmlExtensionPlugin(parent)
-{
-}
-
-static QObject *calendarSingleton(QQmlEngine *engine, QJSEngine *scriptEngine)
-{
- Q_UNUSED(engine);
- Q_UNUSED(scriptEngine);
- return new QQuickCalendar;
-}
-
-void QtLabsCalendarPlugin::registerTypes(const char *uri)
-{
- qmlRegisterType<QQuickDayOfWeekRow>(uri, 1, 0, "AbstractDayOfWeekRow");
- qmlRegisterType<QQuickMonthGrid>(uri, 1, 0, "AbstractMonthGrid");
- qmlRegisterType<QQuickWeekNumberColumn>(uri, 1, 0, "AbstractWeekNumberColumn");
- qmlRegisterType<QQuickCalendarModel>(uri, 1, 0, "CalendarModel");
- qmlRegisterSingletonType<QQuickCalendar>(uri, 1, 0, "Calendar", calendarSingleton);
-}
-
-QT_END_NAMESPACE
-
-#include "qtlabscalendarplugin.moc"
diff --git a/src/imports/controls/AbstractButton.qml b/src/imports/controls/AbstractButton.qml
deleted file mode 100644
index 50ddb933..00000000
--- a/src/imports/controls/AbstractButton.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.AbstractButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-}
diff --git a/src/imports/controls/Action.qml b/src/imports/controls/Action.qml
deleted file mode 100644
index 996e9086..00000000
--- a/src/imports/controls/Action.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Action { }
diff --git a/src/imports/controls/ActionGroup.qml b/src/imports/controls/ActionGroup.qml
deleted file mode 100644
index 89e72c8f..00000000
--- a/src/imports/controls/ActionGroup.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ActionGroup { }
diff --git a/src/imports/controls/ApplicationWindow.qml b/src/imports/controls/ApplicationWindow.qml
deleted file mode 100644
index 4686a298..00000000
--- a/src/imports/controls/ApplicationWindow.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ApplicationWindow {
- id: window
-
- color: palette.window
-
- overlay.modal: Rectangle {
- color: Color.transparent(window.palette.shadow, 0.5)
- }
-
- overlay.modeless: Rectangle {
- color: Color.transparent(window.palette.shadow, 0.12)
- }
-}
diff --git a/src/imports/controls/BusyIndicator.qml b/src/imports/controls/BusyIndicator.qml
deleted file mode 100644
index ff5c191c..00000000
--- a/src/imports/controls/BusyIndicator.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.BusyIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
-
- contentItem: BusyIndicatorImpl {
- implicitWidth: 48
- implicitHeight: 48
-
- pen: control.palette.dark
- fill: control.palette.dark
-
- running: control.running
- opacity: control.running ? 1 : 0
- Behavior on opacity { OpacityAnimator { duration: 250 } }
- }
-}
diff --git a/src/imports/controls/Button.qml b/src/imports/controls/Button.qml
deleted file mode 100644
index a9e7fce6..00000000
--- a/src/imports/controls/Button.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Button {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- horizontalPadding: padding + 2
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: control.checked || control.highlighted ? control.palette.brightText :
- control.flat && !control.down ? (control.visualFocus ? control.palette.highlight : control.palette.windowText) : control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.checked || control.highlighted ? control.palette.brightText :
- control.flat && !control.down ? (control.visualFocus ? control.palette.highlight : control.palette.windowText) : control.palette.buttonText
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: !control.flat || control.down || control.checked || control.highlighted
- color: Color.blend(control.checked || control.highlighted ? control.palette.dark : control.palette.button,
- control.palette.mid, control.down ? 0.5 : 0.0)
- border.color: control.palette.highlight
- border.width: control.visualFocus ? 2 : 0
- }
-}
diff --git a/src/imports/controls/ButtonGroup.qml b/src/imports/controls/ButtonGroup.qml
deleted file mode 100644
index cf0355ba..00000000
--- a/src/imports/controls/ButtonGroup.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ButtonGroup { }
diff --git a/src/imports/controls/CheckBox.qml b/src/imports/controls/CheckBox.qml
deleted file mode 100644
index b1f50ed1..00000000
--- a/src/imports/controls/CheckBox.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.CheckBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- // keep in sync with CheckDelegate.qml (shared CheckIndicator.qml was removed for performance reasons)
- indicator: Rectangle {
- implicitWidth: 28
- implicitHeight: 28
-
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- color: control.down ? control.palette.light : control.palette.base
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.palette.mid
-
- ColorImage {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- defaultColor: "#353637"
- color: control.palette.text
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png"
- visible: control.checkState === Qt.Checked
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 16
- height: 3
- color: control.palette.text
- visible: control.checkState === Qt.PartiallyChecked
- }
- }
-
- contentItem: CheckLabel {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- }
-}
diff --git a/src/imports/controls/CheckDelegate.qml b/src/imports/controls/CheckDelegate.qml
deleted file mode 100644
index 71b390ac..00000000
--- a/src/imports/controls/CheckDelegate.qml
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.CheckDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 12
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- // keep in sync with CheckBox.qml (shared CheckIndicator.qml was removed for performance reasons)
- indicator: Rectangle {
- implicitWidth: 28
- implicitHeight: 28
-
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- color: control.down ? control.palette.light : control.palette.base
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.palette.mid
-
- ColorImage {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- defaultColor: "#353637"
- color: control.palette.text
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png"
- visible: control.checkState === Qt.Checked
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 16
- height: 3
- color: control.palette.text
- visible: control.checkState === Qt.PartiallyChecked
- }
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted
- color: control.down ? control.palette.midlight : control.palette.light
- }
-}
diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml
deleted file mode 100644
index 8eefc686..00000000
--- a/src/imports/controls/ComboBox.qml
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.14
-import QtQuick.Window 2.14
-import QtQuick.Controls 2.14
-import QtQuick.Controls.impl 2.14
-import QtQuick.Templates 2.14 as T
-
-T.ComboBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
- rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
-
- delegate: ItemDelegate {
- width: parent.width
- text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
- palette.text: control.palette.text
- palette.highlightedText: control.palette.highlightedText
- font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
- highlighted: control.highlightedIndex === index
- hoverEnabled: control.hoverEnabled
- }
-
- indicator: ColorImage {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
- color: control.palette.dark
- defaultColor: "#353637"
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/double-arrow.png"
- opacity: enabled ? 1 : 0.3
- }
-
- contentItem: T.TextField {
- leftPadding: !control.mirrored ? 12 : control.editable && activeFocus ? 3 : 1
- rightPadding: control.mirrored ? 12 : control.editable && activeFocus ? 3 : 1
- topPadding: 6 - control.padding
- bottomPadding: 6 - control.padding
-
- text: control.editable ? control.editText : control.displayText
-
- enabled: control.editable
- autoScroll: control.editable
- readOnly: control.down
- inputMethodHints: control.inputMethodHints
- validator: control.validator
-
- font: control.font
- color: control.editable ? control.palette.text : control.palette.buttonText
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- verticalAlignment: Text.AlignVCenter
-
- background: Rectangle {
- visible: control.enabled && control.editable && !control.flat
- border.width: parent && parent.activeFocus ? 2 : 1
- border.color: parent && parent.activeFocus ? control.palette.highlight : control.palette.button
- color: control.palette.base
- }
- }
-
- background: Rectangle {
- implicitWidth: 140
- implicitHeight: 40
-
- color: control.down ? control.palette.mid : control.palette.button
- border.color: control.palette.highlight
- border.width: !control.editable && control.visualFocus ? 2 : 0
- visible: !control.flat || control.down
- }
-
- popup: T.Popup {
- y: control.height
- width: control.width
- height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin)
- topMargin: 6
- bottomMargin: 6
-
- contentItem: ListView {
- clip: true
- implicitHeight: contentHeight
- model: control.delegateModel
- currentIndex: control.highlightedIndex
- highlightMoveDuration: 0
-
- Rectangle {
- z: 10
- width: parent.width
- height: parent.height
- color: "transparent"
- border.color: control.palette.mid
- }
-
- T.ScrollIndicator.vertical: ScrollIndicator { }
- }
-
- background: Rectangle {
- color: control.palette.window
- }
- }
-}
diff --git a/src/imports/controls/Container.qml b/src/imports/controls/Container.qml
deleted file mode 100644
index 83ab957d..00000000
--- a/src/imports/controls/Container.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Container {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-}
diff --git a/src/imports/controls/Control.qml b/src/imports/controls/Control.qml
deleted file mode 100644
index a963a563..00000000
--- a/src/imports/controls/Control.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Control {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-}
diff --git a/src/imports/controls/DelayButton.qml b/src/imports/controls/DelayButton.qml
deleted file mode 100644
index 1c545a71..00000000
--- a/src/imports/controls/DelayButton.qml
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.DelayButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- horizontalPadding: padding + 2
-
- transition: Transition {
- NumberAnimation {
- duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress)
- }
- }
-
- contentItem: ItemGroup {
- ClippedText {
- clip: control.progress > 0
- clipX: -control.leftPadding + control.progress * control.width
- clipWidth: (1.0 - control.progress) * control.width
- visible: control.progress < 1
-
- text: control.text
- font: control.font
- opacity: enabled ? 1 : 0.3
- color: control.palette.buttonText
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- ClippedText {
- clip: control.progress > 0
- clipX: -control.leftPadding
- clipWidth: control.progress * control.width
- visible: control.progress > 0
-
- text: control.text
- font: control.font
- opacity: enabled ? 1 : 0.3
- color: control.palette.brightText
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- color: Color.blend(control.palette.button, control.palette.mid, control.down ? 0.5 : 0.0)
- border.color: control.palette.highlight
- border.width: control.visualFocus ? 2 : 0
-
- PaddedRectangle {
- padding: control.visualFocus ? 2 : 0
- width: control.progress * parent.width
- height: parent.height
- color: Color.blend(control.palette.dark, control.palette.mid, control.down ? 0.5 : 0.0)
- }
- }
-}
diff --git a/src/imports/controls/Dial.qml b/src/imports/controls/Dial.qml
deleted file mode 100644
index cc4618a5..00000000
--- a/src/imports/controls/Dial.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Dial {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 184 // ### remove 184 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 184 // ### remove 184 in Qt 6
-
- background: DialImpl {
- implicitWidth: 184
- implicitHeight: 184
- color: control.visualFocus ? control.palette.highlight : control.palette.dark
- progress: control.position
- opacity: control.enabled ? 1 : 0.3
- }
-
- handle: ColorImage {
- x: control.background.x + control.background.width / 2 - control.handle.width / 2
- y: control.background.y + control.background.height / 2 - control.handle.height / 2
- width: 14
- height: 10
- defaultColor: "#353637"
- color: control.visualFocus ? control.palette.highlight : control.palette.dark
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/dial-indicator.png"
- antialiasing: true
- opacity: control.enabled ? 1 : 0.3
- transform: [
- Translate {
- y: -Math.min(control.background.width, control.background.height) * 0.4 + control.handle.height / 2
- },
- Rotation {
- angle: control.angle
- origin.x: control.handle.width / 2
- origin.y: control.handle.height / 2
- }
- ]
- }
-}
diff --git a/src/imports/controls/Dialog.qml b/src/imports/controls/Dialog.qml
deleted file mode 100644
index 6c2e4b1b..00000000
--- a/src/imports/controls/Dialog.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.Dialog {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 12
-
- background: Rectangle {
- color: control.palette.window
- border.color: control.palette.dark
- }
-
- header: Label {
- text: control.title
- visible: control.title
- elide: Label.ElideRight
- font.bold: true
- padding: 12
- background: Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 1
- color: control.palette.window
- }
- }
-
- footer: DialogButtonBox {
- visible: count > 0
- }
-
- T.Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- T.Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-}
diff --git a/src/imports/controls/DialogButtonBox.qml b/src/imports/controls/DialogButtonBox.qml
deleted file mode 100644
index 3c9d5b48..00000000
--- a/src/imports/controls/DialogButtonBox.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.DialogButtonBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- (control.count === 1 ? implicitContentWidth * 2 : implicitContentWidth) + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- contentWidth: contentItem.contentWidth
-
- spacing: 1
- padding: 12
- alignment: count === 1 ? Qt.AlignRight : undefined
-
- delegate: Button {
- width: control.count === 1 ? control.availableWidth / 2 : undefined
- }
-
- contentItem: ListView {
- model: control.contentModel
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- snapMode: ListView.SnapToItem
- }
-
- background: Rectangle {
- implicitHeight: 40
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- color: control.palette.window
- }
-}
diff --git a/src/imports/controls/Drawer.qml b/src/imports/controls/Drawer.qml
deleted file mode 100644
index 17465fd4..00000000
--- a/src/imports/controls/Drawer.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Drawer {
- id: control
-
- parent: T.Overlay.overlay
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: control.edge === Qt.BottomEdge
- leftPadding: control.edge === Qt.RightEdge
- rightPadding: control.edge === Qt.LeftEdge
- bottomPadding: control.edge === Qt.TopEdge
-
- enter: Transition { SmoothedAnimation { velocity: 5 } }
- exit: Transition { SmoothedAnimation { velocity: 5 } }
-
- background: Rectangle {
- color: control.palette.window
- Rectangle {
- readonly property bool horizontal: control.edge === Qt.LeftEdge || control.edge === Qt.RightEdge
- width: horizontal ? 1 : parent.width
- height: horizontal ? parent.height : 1
- color: control.palette.dark
- x: control.edge === Qt.LeftEdge ? parent.width - 1 : 0
- y: control.edge === Qt.TopEdge ? parent.height - 1 : 0
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- T.Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-}
diff --git a/src/imports/controls/Frame.qml b/src/imports/controls/Frame.qml
deleted file mode 100644
index 2fe46104..00000000
--- a/src/imports/controls/Frame.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Frame {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: "transparent"
- border.color: control.palette.mid
- }
-}
diff --git a/src/imports/controls/GroupBox.qml b/src/imports/controls/GroupBox.qml
deleted file mode 100644
index 96f776f2..00000000
--- a/src/imports/controls/GroupBox.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.GroupBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitLabelWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 6
- padding: 12
- topPadding: padding + (implicitLabelWidth > 0 ? implicitLabelHeight + spacing : 0)
-
- label: Text {
- x: control.leftPadding
- width: control.availableWidth
-
- text: control.title
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- y: control.topPadding - control.bottomPadding
- width: parent.width
- height: parent.height - control.topPadding + control.bottomPadding
-
- color: "transparent"
- border.color: control.palette.mid
- }
-}
diff --git a/src/imports/controls/ItemDelegate.qml b/src/imports/controls/ItemDelegate.qml
deleted file mode 100644
index 6229e2bb..00000000
--- a/src/imports/controls/ItemDelegate.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ItemDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 8
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.highlighted ? control.palette.highlightedText : control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted || control.visualFocus
- color: Color.blend(control.down ? control.palette.midlight : control.palette.light,
- control.palette.highlight, control.visualFocus ? 0.15 : 0.0)
- }
-}
diff --git a/src/imports/controls/Label.qml b/src/imports/controls/Label.qml
deleted file mode 100644
index 9a42635f..00000000
--- a/src/imports/controls/Label.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Label {
- id: control
-
- color: control.palette.windowText
- linkColor: control.palette.link
-}
diff --git a/src/imports/controls/Menu.qml b/src/imports/controls/Menu.qml
deleted file mode 100644
index 041942f5..00000000
--- a/src/imports/controls/Menu.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Window 2.12
-
-T.Menu {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 0
- overlap: 1
-
- delegate: MenuItem { }
-
- contentItem: ListView {
- implicitHeight: contentHeight
- model: control.contentModel
- interactive: Window.window ? contentHeight > Window.window.height : false
- clip: true
- currentIndex: control.currentIndex
-
- ScrollIndicator.vertical: ScrollIndicator {}
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- color: control.palette.window
- border.color: control.palette.dark
- }
-
- T.Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- T.Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-}
diff --git a/src/imports/controls/MenuBar.qml b/src/imports/controls/MenuBar.qml
deleted file mode 100644
index 122cdc53..00000000
--- a/src/imports/controls/MenuBar.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.MenuBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- delegate: MenuBarItem { }
-
- contentItem: Row {
- spacing: control.spacing
- Repeater {
- model: control.contentModel
- }
- }
-
- background: Rectangle {
- implicitHeight: 40
- color: control.palette.button
- }
-}
diff --git a/src/imports/controls/MenuBarItem.qml b/src/imports/controls/MenuBarItem.qml
deleted file mode 100644
index f6835412..00000000
--- a/src/imports/controls/MenuBarItem.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.MenuBarItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 6
- padding: 6
- leftPadding: 12
- rightPadding: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
- color: control.down || control.highlighted ? control.palette.mid : "transparent"
- }
-}
diff --git a/src/imports/controls/MenuItem.qml b/src/imports/controls/MenuItem.qml
deleted file mode 100644
index 22cdf3ea..00000000
--- a/src/imports/controls/MenuItem.qml
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.MenuItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.windowText
-
- contentItem: IconLabel {
- readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
- readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
- leftPadding: !control.mirrored ? indicatorPadding : arrowPadding
- rightPadding: control.mirrored ? indicatorPadding : arrowPadding
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.windowText
- }
-
- indicator: ColorImage {
- x: control.mirrored ? control.width - width - control.rightPadding : control.leftPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.checked
- source: control.checkable ? "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png" : ""
- color: control.palette.windowText
- defaultColor: "#353637"
- }
-
- arrow: ColorImage {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.subMenu
- mirror: control.mirrored
- source: control.subMenu ? "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/arrow-indicator.png" : ""
- color: control.palette.windowText
- defaultColor: "#353637"
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- x: 1
- y: 1
- width: control.width - 2
- height: control.height - 2
- color: control.down ? control.palette.midlight : control.highlighted ? control.palette.light : "transparent"
- }
-}
diff --git a/src/imports/controls/MenuSeparator.qml b/src/imports/controls/MenuSeparator.qml
deleted file mode 100644
index cc5c2b6e..00000000
--- a/src/imports/controls/MenuSeparator.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.MenuSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
- verticalPadding: padding + 4
-
- contentItem: Rectangle {
- implicitWidth: 188
- implicitHeight: 1
- color: control.palette.mid
- }
-}
diff --git a/src/imports/controls/Page.qml b/src/imports/controls/Page.qml
deleted file mode 100644
index 4b3cf3d2..00000000
--- a/src/imports/controls/Page.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Page {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- background: Rectangle {
- color: control.palette.window
- }
-}
diff --git a/src/imports/controls/PageIndicator.qml b/src/imports/controls/PageIndicator.qml
deleted file mode 100644
index 78f9e3cf..00000000
--- a/src/imports/controls/PageIndicator.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.PageIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- delegate: Rectangle {
- implicitWidth: 8
- implicitHeight: 8
-
- radius: width / 2
- color: control.palette.dark
-
- opacity: index === currentIndex ? 0.95 : pressed ? 0.7 : 0.45
- Behavior on opacity { OpacityAnimator { duration: 100 } }
- }
-
- contentItem: Row {
- spacing: control.spacing
-
- Repeater {
- model: control.count
- delegate: control.delegate
- }
- }
-}
diff --git a/src/imports/controls/Pane.qml b/src/imports/controls/Pane.qml
deleted file mode 100644
index 47b916e3..00000000
--- a/src/imports/controls/Pane.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Pane {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: control.palette.window
- }
-}
diff --git a/src/imports/controls/Popup.qml b/src/imports/controls/Popup.qml
deleted file mode 100644
index ee243c10..00000000
--- a/src/imports/controls/Popup.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Popup {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: control.palette.window
- border.color: control.palette.dark
- }
-
- T.Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- T.Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-}
diff --git a/src/imports/controls/ProgressBar.qml b/src/imports/controls/ProgressBar.qml
deleted file mode 100644
index 61cdea43..00000000
--- a/src/imports/controls/ProgressBar.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.ProgressBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- contentItem: ProgressBarImpl {
- implicitHeight: 6
- implicitWidth: 116
- scale: control.mirrored ? -1 : 1
- progress: control.position
- indeterminate: control.visible && control.indeterminate
- color: control.palette.dark
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 6
- y: (control.height - height) / 2
- height: 6
-
- color: control.palette.midlight
- }
-}
diff --git a/src/imports/controls/RadioButton.qml b/src/imports/controls/RadioButton.qml
deleted file mode 100644
index cdf0c30e..00000000
--- a/src/imports/controls/RadioButton.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.RadioButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- // keep in sync with RadioDelegate.qml (shared RadioIndicator.qml was removed for performance reasons)
- indicator: Rectangle {
- implicitWidth: 28
- implicitHeight: 28
-
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- radius: width / 2
- color: control.down ? control.palette.light : control.palette.base
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.palette.mid
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 20
- height: 20
- radius: width / 2
- color: control.palette.text
- visible: control.checked
- }
- }
-
- contentItem: CheckLabel {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- }
-}
diff --git a/src/imports/controls/RadioDelegate.qml b/src/imports/controls/RadioDelegate.qml
deleted file mode 100644
index a7e7dec0..00000000
--- a/src/imports/controls/RadioDelegate.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.RadioDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 12
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- // keep in sync with RadioButton.qml (shared RadioIndicator.qml was removed for performance reasons)
- indicator: Rectangle {
- implicitWidth: 28
- implicitHeight: 28
-
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- radius: width / 2
- color: control.down ? control.palette.light : control.palette.base
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.palette.mid
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 20
- height: 20
- radius: width / 2
- color: control.palette.text
- visible: control.checked
- }
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted
- color: control.down ? control.palette.midlight : control.palette.light
- }
-}
diff --git a/src/imports/controls/RangeSlider.qml b/src/imports/controls/RangeSlider.qml
deleted file mode 100644
index c3e7c964..00000000
--- a/src/imports/controls/RangeSlider.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.RangeSlider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- first.implicitHandleWidth + leftPadding + rightPadding,
- second.implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- first.implicitHandleHeight + topPadding + bottomPadding,
- second.implicitHandleHeight + topPadding + bottomPadding)
-
- padding: 6
-
- first.handle: Rectangle {
- x: control.leftPadding + (control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height))
- implicitWidth: 28
- implicitHeight: 28
- radius: width / 2
- border.width: activeFocus ? 2 : 1
- border.color: activeFocus ? control.palette.highlight : control.enabled ? control.palette.mid : control.palette.midlight
- color: control.first.pressed ? control.palette.light : control.palette.window
- }
-
- second.handle: Rectangle {
- x: control.leftPadding + (control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height))
- implicitWidth: 28
- implicitHeight: 28
- radius: width / 2
- border.width: activeFocus ? 2 : 1
- border.color: activeFocus ? control.palette.highlight : control.enabled ? control.palette.mid : control.palette.midlight
- color: control.second.pressed ? control.palette.light : control.palette.window
- }
-
- background: Rectangle {
- x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
- implicitWidth: control.horizontal ? 200 : 6
- implicitHeight: control.horizontal ? 6 : 200
- width: control.horizontal ? control.availableWidth : implicitWidth
- height: control.horizontal ? implicitHeight : control.availableHeight
- radius: 3
- color: control.palette.midlight
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- Rectangle {
- x: control.horizontal ? control.first.position * parent.width + 3 : 0
- y: control.horizontal ? 0 : control.second.visualPosition * parent.height + 3
- width: control.horizontal ? control.second.position * parent.width - control.first.position * parent.width - 6 : 6
- height: control.horizontal ? 6 : control.second.position * parent.height - control.first.position * parent.height - 6
-
- color: control.palette.dark
- }
- }
-}
diff --git a/src/imports/controls/RoundButton.qml b/src/imports/controls/RoundButton.qml
deleted file mode 100644
index 825d5252..00000000
--- a/src/imports/controls/RoundButton.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.RoundButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: control.checked || control.highlighted ? control.palette.brightText :
- control.flat && !control.down ? (control.visualFocus ? control.palette.highlight : control.palette.windowText) : control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.checked || control.highlighted ? control.palette.brightText :
- control.flat && !control.down ? (control.visualFocus ? control.palette.highlight : control.palette.windowText) : control.palette.buttonText
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
- radius: control.radius
- opacity: enabled ? 1 : 0.3
- visible: !control.flat || control.down || control.checked || control.highlighted
- color: Color.blend(control.checked || control.highlighted ? control.palette.dark : control.palette.button,
- control.palette.mid, control.down ? 0.5 : 0.0)
- border.color: control.palette.highlight
- border.width: control.visualFocus ? 2 : 0
- }
-}
diff --git a/src/imports/controls/ScrollBar.qml b/src/imports/controls/ScrollBar.qml
deleted file mode 100644
index 0948fb1d..00000000
--- a/src/imports/controls/ScrollBar.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ScrollBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
- visible: control.policy !== T.ScrollBar.AlwaysOff
- minimumSize: orientation == Qt.Horizontal ? height / width : width / height
-
- contentItem: Rectangle {
- implicitWidth: control.interactive ? 6 : 2
- implicitHeight: control.interactive ? 6 : 2
-
- radius: width / 2
- color: control.pressed ? control.palette.dark : control.palette.mid
- opacity: 0.0
-
- states: State {
- name: "active"
- when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
- PropertyChanges { target: control.contentItem; opacity: 0.75 }
- }
-
- transitions: Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 450 }
- NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
- }
- }
- }
-}
diff --git a/src/imports/controls/ScrollIndicator.qml b/src/imports/controls/ScrollIndicator.qml
deleted file mode 100644
index 795c20ee..00000000
--- a/src/imports/controls/ScrollIndicator.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ScrollIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
-
- contentItem: Rectangle {
- implicitWidth: 2
- implicitHeight: 2
-
- color: control.palette.mid
- visible: control.size < 1.0
- opacity: 0.0
-
- states: State {
- name: "active"
- when: control.active
- PropertyChanges { target: control.contentItem; opacity: 0.75 }
- }
-
- transitions: [
- Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 450 }
- NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
- }
- }
- ]
- }
-}
diff --git a/src/imports/controls/ScrollView.qml b/src/imports/controls/ScrollView.qml
deleted file mode 100644
index f775d624..00000000
--- a/src/imports/controls/ScrollView.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ScrollView {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- ScrollBar.vertical: ScrollBar {
- parent: control
- x: control.mirrored ? 0 : control.width - width
- y: control.topPadding
- height: control.availableHeight
- active: control.ScrollBar.horizontal.active
- }
-
- ScrollBar.horizontal: ScrollBar {
- parent: control
- x: control.leftPadding
- y: control.height - height
- width: control.availableWidth
- active: control.ScrollBar.vertical.active
- }
-}
diff --git a/src/imports/controls/Slider.qml b/src/imports/controls/Slider.qml
deleted file mode 100644
index 6d532389..00000000
--- a/src/imports/controls/Slider.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Slider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitHandleHeight + topPadding + bottomPadding)
-
- padding: 6
-
- handle: Rectangle {
- x: control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))
- implicitWidth: 28
- implicitHeight: 28
- radius: width / 2
- color: control.pressed ? control.palette.light : control.palette.window
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.enabled ? control.palette.mid : control.palette.midlight
- }
-
- background: Rectangle {
- x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
- implicitWidth: control.horizontal ? 200 : 6
- implicitHeight: control.horizontal ? 6 : 200
- width: control.horizontal ? control.availableWidth : implicitWidth
- height: control.horizontal ? implicitHeight : control.availableHeight
- radius: 3
- color: control.palette.midlight
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- Rectangle {
- y: control.horizontal ? 0 : control.visualPosition * parent.height
- width: control.horizontal ? control.position * parent.width : 6
- height: control.horizontal ? 6 : control.position * parent.height
-
- radius: 3
- color: control.palette.dark
- }
- }
-}
diff --git a/src/imports/controls/SpinBox.qml b/src/imports/controls/SpinBox.qml
deleted file mode 100644
index d1c2ea5b..00000000
--- a/src/imports/controls/SpinBox.qml
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.SpinBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentItem.implicitWidth + 2 * padding +
- up.implicitIndicatorWidth +
- down.implicitIndicatorWidth)
- implicitHeight: Math.max(implicitContentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight,
- up.implicitIndicatorHeight,
- down.implicitIndicatorHeight)
-
- padding: 6
- leftPadding: padding + (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
- rightPadding: padding + (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
-
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
-
- contentItem: TextInput {
- z: 2
- text: control.displayText
-
- font: control.font
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
-
- readOnly: !control.editable
- validator: control.validator
- inputMethodHints: control.inputMethodHints
-
- Rectangle {
- x: -6 - (control.down.indicator ? 1 : 0)
- y: -6
- width: control.width - (control.up.indicator ? control.up.indicator.width - 1 : 0) - (control.down.indicator ? control.down.indicator.width - 1 : 0)
- height: control.height
- visible: control.activeFocus
- color: "transparent"
- border.color: control.palette.highlight
- border.width: 2
- }
- }
-
- up.indicator: Rectangle {
- x: control.mirrored ? 0 : parent.width - width
- height: parent.height
- implicitWidth: 40
- implicitHeight: 40
- color: control.up.pressed ? control.palette.mid : control.palette.button
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: parent.width / 3
- height: 2
- color: enabled ? control.palette.buttonText : control.palette.mid
- }
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 2
- height: parent.width / 3
- color: enabled ? control.palette.buttonText : control.palette.mid
- }
- }
-
- down.indicator: Rectangle {
- x: control.mirrored ? parent.width - width : 0
- height: parent.height
- implicitWidth: 40
- implicitHeight: 40
- color: control.down.pressed ? control.palette.mid : control.palette.button
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: parent.width / 3
- height: 2
- color: enabled ? control.palette.buttonText : control.palette.mid
- }
- }
-
- background: Rectangle {
- implicitWidth: 140
- color: enabled ? control.palette.base : control.palette.button
- border.color: control.palette.button
- }
-}
diff --git a/src/imports/controls/SplitView.qml b/src/imports/controls/SplitView.qml
deleted file mode 100644
index 9d37a83e..00000000
--- a/src/imports/controls/SplitView.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.13
-import QtQuick.Templates 2.13 as T
-import QtQuick.Controls 2.13
-import QtQuick.Controls.impl 2.13
-
-T.SplitView {
- id: control
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- handle: Rectangle {
- implicitWidth: control.orientation === Qt.Horizontal ? 6 : control.width
- implicitHeight: control.orientation === Qt.Horizontal ? control.height : 6
- color: T.SplitHandle.pressed ? control.palette.mid
- : (T.SplitHandle.hovered ? control.palette.midlight : control.palette.button)
- }
-}
diff --git a/src/imports/controls/StackView.qml b/src/imports/controls/StackView.qml
deleted file mode 100644
index 3e416b87..00000000
--- a/src/imports/controls/StackView.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
-
-T.StackView {
- id: control
-
- popEnter: Transition {
- XAnimator { from: (control.mirrored ? -1 : 1) * -control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
-
- popExit: Transition {
- XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * control.width; duration: 400; easing.type: Easing.OutCubic }
- }
-
- pushEnter: Transition {
- XAnimator { from: (control.mirrored ? -1 : 1) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
-
- pushExit: Transition {
- XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * -control.width; duration: 400; easing.type: Easing.OutCubic }
- }
-
- replaceEnter: Transition {
- XAnimator { from: (control.mirrored ? -1 : 1) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
-
- replaceExit: Transition {
- XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * -control.width; duration: 400; easing.type: Easing.OutCubic }
- }
-}
diff --git a/src/imports/controls/SwipeDelegate.qml b/src/imports/controls/SwipeDelegate.qml
deleted file mode 100644
index 37d66bb6..00000000
--- a/src/imports/controls/SwipeDelegate.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.SwipeDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 12
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } }
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- color: Color.blend(control.down ? control.palette.midlight : control.palette.light,
- control.palette.highlight, control.visualFocus ? 0.15 : 0.0)
- }
-}
diff --git a/src/imports/controls/SwipeView.qml b/src/imports/controls/SwipeView.qml
deleted file mode 100644
index ad242e1a..00000000
--- a/src/imports/controls/SwipeView.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
-
-T.SwipeView {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- contentItem: ListView {
- model: control.contentModel
- interactive: control.interactive
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: control.orientation
- snapMode: ListView.SnapOneItem
- boundsBehavior: Flickable.StopAtBounds
-
- highlightRangeMode: ListView.StrictlyEnforceRange
- preferredHighlightBegin: 0
- preferredHighlightEnd: 0
- highlightMoveDuration: 250
- maximumFlickVelocity: 4 * (control.orientation === Qt.Horizontal ? width : height)
- }
-}
diff --git a/src/imports/controls/Switch.qml b/src/imports/controls/Switch.qml
deleted file mode 100644
index f62e2502..00000000
--- a/src/imports/controls/Switch.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.Switch {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- indicator: PaddedRectangle {
- implicitWidth: 56
- implicitHeight: 28
-
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- radius: 8
- leftPadding: 0
- rightPadding: 0
- padding: (height - 16) / 2
- color: control.checked ? control.palette.dark : control.palette.midlight
-
- Rectangle {
- x: Math.max(0, Math.min(parent.width - width, control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
- width: 28
- height: 28
- radius: 16
- color: control.down ? control.palette.light : control.palette.window
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.enabled ? control.palette.mid : control.palette.midlight
-
- Behavior on x {
- enabled: !control.down
- SmoothedAnimation { velocity: 200 }
- }
- }
- }
-
- contentItem: CheckLabel {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- }
-}
diff --git a/src/imports/controls/SwitchDelegate.qml b/src/imports/controls/SwitchDelegate.qml
deleted file mode 100644
index d6447e77..00000000
--- a/src/imports/controls/SwitchDelegate.qml
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.SwitchDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 12
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- indicator: PaddedRectangle {
- implicitWidth: 56
- implicitHeight: 28
-
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- radius: 8
- leftPadding: 0
- rightPadding: 0
- padding: (height - 16) / 2
- color: control.checked ? control.palette.dark : control.palette.midlight
-
- Rectangle {
- x: Math.max(0, Math.min(parent.width - width, control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
- width: 28
- height: 28
- radius: 16
- color: control.down ? control.palette.light : control.palette.window
- border.width: control.visualFocus ? 2 : 1
- border.color: control.visualFocus ? control.palette.highlight : control.enabled ? control.palette.mid : control.palette.midlight
-
- Behavior on x {
- enabled: !control.down
- SmoothedAnimation { velocity: 200 }
- }
- }
- }
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted
- color: control.down ? control.palette.midlight : control.palette.light
- }
-}
diff --git a/src/imports/controls/TabBar.qml b/src/imports/controls/TabBar.qml
deleted file mode 100644
index 83f6b3b2..00000000
--- a/src/imports/controls/TabBar.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-
-T.TabBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 1
-
- contentItem: ListView {
- model: control.contentModel
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- flickableDirection: Flickable.AutoFlickIfNeeded
- snapMode: ListView.SnapToItem
-
- highlightMoveDuration: 0
- highlightRangeMode: ListView.ApplyRange
- preferredHighlightBegin: 40
- preferredHighlightEnd: width - 40
- }
-
- background: Rectangle {
- color: control.palette.window
- }
-}
diff --git a/src/imports/controls/TabButton.qml b/src/imports/controls/TabButton.qml
deleted file mode 100644
index f8b303ea..00000000
--- a/src/imports/controls/TabButton.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.TabButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: checked ? control.palette.windowText : control.palette.brightText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.checked ? control.palette.windowText : control.palette.brightText
- }
-
- background: Rectangle {
- implicitHeight: 40
- color: Color.blend(control.checked ? control.palette.window : control.palette.dark,
- control.palette.mid, control.down ? 0.5 : 0.0)
- }
-}
diff --git a/src/imports/controls/TextArea.qml b/src/imports/controls/TextArea.qml
deleted file mode 100644
index 45790e67..00000000
--- a/src/imports/controls/TextArea.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.TextArea {
- id: control
-
- implicitWidth: Math.max(contentWidth + leftPadding + rightPadding,
- implicitBackgroundWidth + leftInset + rightInset,
- placeholder.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight + topInset + bottomInset,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- padding: 6
- leftPadding: padding + 4
-
- color: control.palette.text
- placeholderTextColor: Color.transparent(control.color, 0.5)
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- elide: Text.ElideRight
- renderType: control.renderType
- }
-}
diff --git a/src/imports/controls/TextField.qml b/src/imports/controls/TextField.qml
deleted file mode 100644
index 4d9cb691..00000000
--- a/src/imports/controls/TextField.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.TextField {
- id: control
-
- implicitWidth: implicitBackgroundWidth + leftInset + rightInset
- || Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- padding: 6
- leftPadding: padding + 4
-
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- placeholderTextColor: Color.transparent(control.color, 0.5)
- verticalAlignment: TextInput.AlignVCenter
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- elide: Text.ElideRight
- renderType: control.renderType
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- border.width: control.activeFocus ? 2 : 1
- color: control.palette.base
- border.color: control.activeFocus ? control.palette.highlight : control.palette.mid
- }
-}
diff --git a/src/imports/controls/ToolBar.qml b/src/imports/controls/ToolBar.qml
deleted file mode 100644
index 1e07b6bf..00000000
--- a/src/imports/controls/ToolBar.qml
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ToolBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- background: Rectangle {
- implicitHeight: 40
- color: control.palette.button
- }
-}
diff --git a/src/imports/controls/ToolButton.qml b/src/imports/controls/ToolButton.qml
deleted file mode 100644
index 63aaf893..00000000
--- a/src/imports/controls/ToolButton.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ToolButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: visualFocus ? control.palette.highlight : control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.visualFocus ? control.palette.highlight : control.palette.buttonText
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
-
- opacity: control.down ? 1.0 : 0.5
- color: control.down || control.checked || control.highlighted ? control.palette.mid : control.palette.button
- }
-}
diff --git a/src/imports/controls/ToolSeparator.qml b/src/imports/controls/ToolSeparator.qml
deleted file mode 100644
index 188d0758..00000000
--- a/src/imports/controls/ToolSeparator.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ToolSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: vertical ? 6 : 2
- verticalPadding: vertical ? 2 : 6
-
- contentItem: Rectangle {
- implicitWidth: vertical ? 1 : 30
- implicitHeight: vertical ? 30 : 1
- color: control.palette.mid
- }
-}
diff --git a/src/imports/controls/ToolTip.qml b/src/imports/controls/ToolTip.qml
deleted file mode 100644
index ae903e4c..00000000
--- a/src/imports/controls/ToolTip.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.ToolTip {
- id: control
-
- x: parent ? (parent.width - implicitWidth) / 2 : 0
- y: -implicitHeight - 3
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 6
- padding: 6
-
- closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent
-
- contentItem: Text {
- text: control.text
- font: control.font
- color: control.palette.toolTipText
- // TODO: wrapMode: Label.Wrap
- }
-
- background: Rectangle {
- border.color: control.palette.dark
- color: control.palette.toolTipBase
- }
-}
diff --git a/src/imports/controls/Tumbler.qml b/src/imports/controls/Tumbler.qml
deleted file mode 100644
index cd10263b..00000000
--- a/src/imports/controls/Tumbler.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Tumbler {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6
-
- delegate: Text {
- text: modelData
- color: control.visualFocus ? control.palette.highlight : control.palette.text
- font: control.font
- opacity: 1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- contentItem: TumblerView {
- implicitWidth: 60
- implicitHeight: 200
- model: control.model
- delegate: control.delegate
- path: Path {
- startX: control.contentItem.width / 2
- startY: -control.contentItem.delegateHeight / 2
- PathLine {
- x: control.contentItem.width / 2
- y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2
- }
- }
-
- property real delegateHeight: control.availableHeight / control.visibleItemCount
- }
-}
diff --git a/src/imports/controls/controls.pri b/src/imports/controls/controls.pri
deleted file mode 100644
index fbf5d075..00000000
--- a/src/imports/controls/controls.pri
+++ /dev/null
@@ -1,70 +0,0 @@
-HEADERS += \
- $$PWD/qquickdefaultbusyindicator_p.h \
- $$PWD/qquickdefaultdial_p.h \
- $$PWD/qquickdefaultprogressbar_p.h \
- $$PWD/qquickdefaultstyle_p.h \
- $$PWD/qquickdefaulttheme_p.h
-
-SOURCES += \
- $$PWD/qquickdefaultbusyindicator.cpp \
- $$PWD/qquickdefaultdial.cpp \
- $$PWD/qquickdefaultprogressbar.cpp \
- $$PWD/qquickdefaultstyle.cpp \
- $$PWD/qquickdefaulttheme.cpp
-
-QML_FILES += \
- $$PWD/AbstractButton.qml \
- $$PWD/Action.qml \
- $$PWD/ActionGroup.qml \
- $$PWD/ApplicationWindow.qml \
- $$PWD/BusyIndicator.qml \
- $$PWD/Button.qml \
- $$PWD/ButtonGroup.qml \
- $$PWD/CheckBox.qml \
- $$PWD/CheckDelegate.qml \
- $$PWD/ComboBox.qml \
- $$PWD/Container.qml \
- $$PWD/Control.qml \
- $$PWD/DelayButton.qml \
- $$PWD/Dial.qml \
- $$PWD/Dialog.qml \
- $$PWD/DialogButtonBox.qml \
- $$PWD/Drawer.qml \
- $$PWD/Frame.qml \
- $$PWD/GroupBox.qml \
- $$PWD/ItemDelegate.qml \
- $$PWD/Label.qml \
- $$PWD/Menu.qml \
- $$PWD/MenuBar.qml \
- $$PWD/MenuBarItem.qml \
- $$PWD/MenuItem.qml \
- $$PWD/MenuSeparator.qml \
- $$PWD/Page.qml \
- $$PWD/PageIndicator.qml \
- $$PWD/Pane.qml \
- $$PWD/Popup.qml \
- $$PWD/ProgressBar.qml \
- $$PWD/RadioButton.qml \
- $$PWD/RadioDelegate.qml \
- $$PWD/RangeSlider.qml \
- $$PWD/RoundButton.qml \
- $$PWD/ScrollBar.qml \
- $$PWD/ScrollIndicator.qml \
- $$PWD/ScrollView.qml \
- $$PWD/Slider.qml \
- $$PWD/SpinBox.qml \
- $$PWD/SplitView.qml \
- $$PWD/StackView.qml \
- $$PWD/SwipeDelegate.qml \
- $$PWD/Switch.qml \
- $$PWD/SwitchDelegate.qml \
- $$PWD/SwipeView.qml \
- $$PWD/TabBar.qml \
- $$PWD/TabButton.qml \
- $$PWD/TextArea.qml \
- $$PWD/TextField.qml \
- $$PWD/ToolBar.qml \
- $$PWD/ToolButton.qml \
- $$PWD/ToolSeparator.qml \
- $$PWD/ToolTip.qml \
- $$PWD/Tumbler.qml
diff --git a/src/imports/controls/controls.pro b/src/imports/controls/controls.pro
deleted file mode 100644
index 2aeaf9ab..00000000
--- a/src/imports/controls/controls.pro
+++ /dev/null
@@ -1,28 +0,0 @@
-TARGET = qtquickcontrols2plugin
-TARGETPATH = QtQuick/Controls.2
-IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-include(controls.pri)
-
-OTHER_FILES += \
- qmldir \
- $$QML_FILES
-
-SOURCES += \
- $$PWD/qtquickcontrols2plugin.cpp
-
-RESOURCES += \
- $$PWD/qtquickcontrols2plugin.qrc
-
-!static: qtConfig(quick-designer): include(designer/designer.pri)
-include(doc/doc.pri)
-
-CONFIG += no_cxx_module install_qml_files builtin_resources qtquickcompiler
-load(qml_plugin)
-
-requires(qtConfig(quickcontrols2-default))
diff --git a/src/imports/controls/dependencies.json b/src/imports/controls/dependencies.json
deleted file mode 100644
index 78029004..00000000
--- a/src/imports/controls/dependencies.json
+++ /dev/null
@@ -1,17 +0,0 @@
-[
- {
- "name": "QtQuick",
- "type": "module",
- "version": "2.11"
- },
- {
- "name": "QtQuick.Window",
- "type": "module",
- "version": "2.2"
- },
- {
- "name": "QtQuick.Templates",
- "type": "module",
- "version": "2.5"
- }
-]
diff --git a/src/imports/controls/designer/AbstractButtonSection.qml b/src/imports/controls/designer/AbstractButtonSection.qml
deleted file mode 100644
index e8aa39c2..00000000
--- a/src/imports/controls/designer/AbstractButtonSection.qml
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- caption: qsTr("AbstractButton")
-
- SectionLayout {
- Label {
- text: qsTr("Text")
- tooltip: qsTr("The text displayed on the button.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.text
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Display")
- tooltip: qsTr("Determines how the icon and text are displayed within the button.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.display
- model: [ "IconOnly", "TextOnly", "TextBesideIcon" ]
- scope: "AbstractButton"
- Layout.fillWidth: true
- }
- }
-
- Label {
- visible: checkable
- text: qsTr("Checkable")
- tooltip: qsTr("Whether the button is checkable.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.checkable.valueToString
- backendValue: backendValues.checkable
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Checked")
- tooltip: qsTr("Whether the button is checked.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.checked.valueToString
- backendValue: backendValues.checked
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Exclusive")
- tooltip: qsTr("Whether the button is exclusive.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.autoExclusive.valueToString
- backendValue: backendValues.autoExclusive
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Repeat")
- tooltip: qsTr("Whether the button repeats while pressed and held down.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.autoRepeat.valueToString
- backendValue: backendValues.autoRepeat
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/BusyIndicatorSpecifics.qml b/src/imports/controls/designer/BusyIndicatorSpecifics.qml
deleted file mode 100644
index 7ae927fc..00000000
--- a/src/imports/controls/designer/BusyIndicatorSpecifics.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("BusyIndicator")
-
- SectionLayout {
- Label {
- text: qsTr("Running")
- tooltip: qsTr("Whether the busy indicator is currently indicating activity.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.running.valueToString
- backendValue: backendValues.running
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ButtonSection.qml b/src/imports/controls/designer/ButtonSection.qml
deleted file mode 100644
index fef46071..00000000
--- a/src/imports/controls/designer/ButtonSection.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- id: section
- caption: qsTr("Button")
-
- SectionLayout {
- Label {
- text: qsTr("AutoRepeat")
- tooltip: qsTr("Whether the button repeats pressed(), released() and clicked() signals while the button is pressed and held down.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.autoRepeat.valueToString
- backendValue: backendValues.autoRepeat
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Flat")
- tooltip: qsTr("Whether the button is flat.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.flat.valueToString
- backendValue: backendValues.flat
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Highlighted")
- tooltip: qsTr("Whether the button is highlighted.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.highlighted.valueToString
- backendValue: backendValues.highlighted
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/ButtonSpecifics.qml b/src/imports/controls/designer/ButtonSpecifics.qml
deleted file mode 100644
index e094b9df..00000000
--- a/src/imports/controls/designer/ButtonSpecifics.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ButtonSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/CheckBoxSpecifics.qml b/src/imports/controls/designer/CheckBoxSpecifics.qml
deleted file mode 100644
index f76aa215..00000000
--- a/src/imports/controls/designer/CheckBoxSpecifics.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- CheckSection {
- width: parent.width
- caption: qsTr("CheckBox")
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/CheckDelegateSpecifics.qml b/src/imports/controls/designer/CheckDelegateSpecifics.qml
deleted file mode 100644
index 1df55e11..00000000
--- a/src/imports/controls/designer/CheckDelegateSpecifics.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- CheckSection {
- width: parent.width
- caption: qsTr("CheckDelegate")
- }
-
- ItemDelegateSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/CheckSection.qml b/src/imports/controls/designer/CheckSection.qml
deleted file mode 100644
index 76cde03e..00000000
--- a/src/imports/controls/designer/CheckSection.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- SectionLayout {
- Label {
- text: qsTr("Check State")
- tooltip: qsTr("The current check state.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.checkState
- model: [ "Unchecked", "PartiallyChecked", "Checked" ]
- scope: "Qt"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Tri-state")
- tooltip: qsTr("Whether the checkbox has three states.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.tristate.valueToString
- backendValue: backendValues.tristate
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/ComboBoxSpecifics.qml b/src/imports/controls/designer/ComboBoxSpecifics.qml
deleted file mode 100644
index 8a5e33b6..00000000
--- a/src/imports/controls/designer/ComboBoxSpecifics.qml
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("ComboBox")
-
- SectionLayout {
- Label {
- text: qsTr("Text Role")
- tooltip: qsTr("The model role used for displaying text.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.textRole
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Current")
- tooltip: qsTr("The index of the current item.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.currentIndex
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Editable")
- tooltip: qsTr("Whether the combo box is editable.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.editable.valueToString
- backendValue: backendValues.editable
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Flat")
- tooltip: qsTr("Whether the combo box button is flat.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.flat.valueToString
- backendValue: backendValues.flat
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("DisplayText")
- tooltip: qsTr("Holds the text that is displayed on the combo box button.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.displayText
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ContainerSection.qml b/src/imports/controls/designer/ContainerSection.qml
deleted file mode 100644
index 896804c0..00000000
--- a/src/imports/controls/designer/ContainerSection.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- caption: qsTr("Container")
-
- SectionLayout {
- Label {
- text: qsTr("Current")
- tooltip: qsTr("The index of the current item.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.currentIndex
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/ControlSection.qml b/src/imports/controls/designer/ControlSection.qml
deleted file mode 100644
index 7c53ac73..00000000
--- a/src/imports/controls/designer/ControlSection.qml
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- caption: qsTr("Control")
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Whether the control is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.enabled.valueToString
- backendValue: backendValues.enabled
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Focus Policy")
- tooltip: qsTr("Focus policy of the control.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.focusPolicy
- model: [ "TabFocus", "ClickFocus", "StrongFocus", "WheelFocus", "NoFocus" ]
- scope: "Qt"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Hover")
- tooltip: qsTr("Whether control accepts hover evets.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.hoverEnabled.valueToString
- backendValue: backendValues.hoverEnabled
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Spacing")
- tooltip: qsTr("Spacing between internal elements of the control.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.spacing
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Wheel")
- tooltip: qsTr("Whether control accepts wheel evets.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.wheelEnabled.valueToString
- backendValue: backendValues.wheelEnabled
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/ControlSpecifics.qml b/src/imports/controls/designer/ControlSpecifics.qml
deleted file mode 100644
index ccfd8853..00000000
--- a/src/imports/controls/designer/ControlSpecifics.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/DelayButtonSpecifics.qml b/src/imports/controls/designer/DelayButtonSpecifics.qml
deleted file mode 100644
index 40b673a1..00000000
--- a/src/imports/controls/designer/DelayButtonSpecifics.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("DelayButton")
-
- SectionLayout {
- Label {
- text: qsTr("Delay")
- tooltip: qsTr("The delay in milliseconds.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: 0
- maximumValue: 9999999
- decimals: 0
- stepSize: 1
- backendValue: backendValues.delay
- Layout.fillWidth: true
- }
- }
- }
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/DialSpecifics.qml b/src/imports/controls/designer/DialSpecifics.qml
deleted file mode 100644
index fc5b5e83..00000000
--- a/src/imports/controls/designer/DialSpecifics.qml
+++ /dev/null
@@ -1,160 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("Dial")
-
- SectionLayout {
- Label {
- text: qsTr("Value")
- tooltip: qsTr("The current value of the dial.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
- maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.value
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("From")
- tooltip: qsTr("The starting value of the dial range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.from
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("To")
- tooltip: qsTr("The ending value of the dial range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.to
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Step Size")
- tooltip: qsTr("The step size of the dial.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.stepSize
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Snap Mode")
- tooltip: qsTr("The snap mode of the dial.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.orientation
- model: [ "NoSnap", "SnapOnRelease", "SnapAlways" ]
- scope: "Dial"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Live")
- tooltip: qsTr("Whether the dial provides live value updates.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.live.valueToString
- backendValue: backendValues.live
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Input Mode")
- tooltip: qsTr("How the dial tracks movement.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.inputMode
- model: [ "Circular", "Horizontal", "Vertical" ]
- scope: "Dial"
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/FrameSpecifics.qml b/src/imports/controls/designer/FrameSpecifics.qml
deleted file mode 100644
index f17b6399..00000000
--- a/src/imports/controls/designer/FrameSpecifics.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- PaneSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/GroupBoxSpecifics.qml b/src/imports/controls/designer/GroupBoxSpecifics.qml
deleted file mode 100644
index 3a705bcc..00000000
--- a/src/imports/controls/designer/GroupBoxSpecifics.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("GroupBox")
-
- SectionLayout {
- Label {
- text: qsTr("Title")
- tooltip: qsTr("The title of the group box.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.title
- Layout.fillWidth: true
- }
- }
- }
- }
-
- PaneSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ItemDelegateSection.qml b/src/imports/controls/designer/ItemDelegateSection.qml
deleted file mode 100644
index a337bcee..00000000
--- a/src/imports/controls/designer/ItemDelegateSection.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- id: section
- caption: qsTr("ItemDelegate")
-
- SectionLayout {
- Label {
- text: qsTr("Highlighted")
- tooltip: qsTr("Whether the delegate is highlighted.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.highlighted.valueToString
- backendValue: backendValues.highlighted
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/ItemDelegateSpecifics.qml b/src/imports/controls/designer/ItemDelegateSpecifics.qml
deleted file mode 100644
index 58063980..00000000
--- a/src/imports/controls/designer/ItemDelegateSpecifics.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ItemDelegateSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/LabelSpecifics.qml b/src/imports/controls/designer/LabelSpecifics.qml
deleted file mode 100644
index c832f894..00000000
--- a/src/imports/controls/designer/LabelSpecifics.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- StandardTextSection {
- width: parent.width
- showIsWrapping: true
- showFormatProperty: true
- showVerticalAlignment: true
- }
-
- Section {
- anchors.left: parent.left
- anchors.right: parent.right
- caption: qsTr("Text Color")
-
- ColorEditor {
- caption: qsTr("Text Color")
- backendValue: backendValues.color
- supportGradient: false
- }
- }
-
- Section {
- anchors.left: parent.left
- anchors.right: parent.right
- caption: qsTr("Style Color")
-
- ColorEditor {
- caption: qsTr("Style Color")
- backendValue: backendValues.styleColor
- supportGradient: false
- }
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/PaddingSection.qml b/src/imports/controls/designer/PaddingSection.qml
deleted file mode 100644
index a7dee28e..00000000
--- a/src/imports/controls/designer/PaddingSection.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- caption: qsTr("Padding")
-
- SectionLayout {
- Label {
- text: qsTr("Top")
- tooltip: qsTr("Padding between the content and the top edge of the control.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.topPadding
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Left")
- tooltip: qsTr("Padding between the content and the left edge of the control.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.leftPadding
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Right")
- tooltip: qsTr("Padding between the content and the right edge of the control.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.rightPadding
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Bottom")
- tooltip: qsTr("Padding between the content and the bottom edge of the control.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.bottomPadding
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/PageIndicatorSpecifics.qml b/src/imports/controls/designer/PageIndicatorSpecifics.qml
deleted file mode 100644
index 042672a9..00000000
--- a/src/imports/controls/designer/PageIndicatorSpecifics.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("PageIndicator")
-
- SectionLayout {
- Label {
- text: qsTr("Count")
- tooltip: qsTr("The number of pages.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.count
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Current")
- tooltip: qsTr("The index of the current page.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.currentIndex
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/PageSpecifics.qml b/src/imports/controls/designer/PageSpecifics.qml
deleted file mode 100644
index 2dca1100..00000000
--- a/src/imports/controls/designer/PageSpecifics.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("Page")
-
- SectionLayout {
- Label {
- text: qsTr("Title")
- tooltip: qsTr("Title of the page.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.title
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Content Width")
- tooltip: qsTr("Content height used for calculating the total implicit width.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentWidth
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Content Height")
- tooltip: qsTr("Content height used for calculating the total implicit height.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentHeight
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/PaneSection.qml b/src/imports/controls/designer/PaneSection.qml
deleted file mode 100644
index 80d154c9..00000000
--- a/src/imports/controls/designer/PaneSection.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Section {
- caption: qsTr("Pane")
-
- SectionLayout {
- Label {
- text: qsTr("Content Width")
- tooltip: qsTr("Content height used for calculating the total implicit width.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentWidth
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Content Height")
- tooltip: qsTr("Content height used for calculating the total implicit height.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentHeight
- Layout.fillWidth: true
- }
- }
- }
-}
diff --git a/src/imports/controls/designer/PaneSpecifics.qml b/src/imports/controls/designer/PaneSpecifics.qml
deleted file mode 100644
index f17b6399..00000000
--- a/src/imports/controls/designer/PaneSpecifics.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- PaneSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ProgressBarSpecifics.qml b/src/imports/controls/designer/ProgressBarSpecifics.qml
deleted file mode 100644
index c24d71db..00000000
--- a/src/imports/controls/designer/ProgressBarSpecifics.qml
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("ProgressBar")
-
- SectionLayout {
- Label {
- text: qsTr("Indeterminate")
- tooltip: qsTr("Whether the progress is indeterminate.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.indeterminate.valueToString
- backendValue: backendValues.indeterminate
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Value")
- tooltip: qsTr("The current value of the progress.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
- maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.value
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("From")
- tooltip: qsTr("The starting value for the progress.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.from
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("To")
- tooltip: qsTr("The ending value for the progress.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.to
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/RadioButtonSpecifics.qml b/src/imports/controls/designer/RadioButtonSpecifics.qml
deleted file mode 100644
index 6137ad8c..00000000
--- a/src/imports/controls/designer/RadioButtonSpecifics.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/RadioDelegateSpecifics.qml b/src/imports/controls/designer/RadioDelegateSpecifics.qml
deleted file mode 100644
index 58063980..00000000
--- a/src/imports/controls/designer/RadioDelegateSpecifics.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ItemDelegateSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/RangeSliderSpecifics.qml b/src/imports/controls/designer/RangeSliderSpecifics.qml
deleted file mode 100644
index 79d2404f..00000000
--- a/src/imports/controls/designer/RangeSliderSpecifics.qml
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("RangeSlider")
-
- SectionLayout {
- Label {
- text: qsTr("First Value")
- tooltip: qsTr("The value of the first range slider handle.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
- maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.first_value
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Second Value")
- tooltip: qsTr("The value of the second range slider handle.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
- maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.second_value
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("From")
- tooltip: qsTr("The starting value of the range slider range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.from
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("To")
- tooltip: qsTr("The ending value of the range slider range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.to
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Step Size")
- tooltip: qsTr("The step size of the range slider.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.stepSize
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Snap Mode")
- tooltip: qsTr("The snap mode of the range slider.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.orientation
- model: [ "NoSnap", "SnapOnRelease", "SnapAlways" ]
- scope: "RangeSlider"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Orientation")
- tooltip: qsTr("The orientation of the range slider.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.orientation
- model: [ "Horizontal", "Vertical" ]
- scope: "Qt"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Live")
- tooltip: qsTr("Whether the range slider provides live value updates.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.live.valueToString
- backendValue: backendValues.live
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/RoundButtonSpecifics.qml b/src/imports/controls/designer/RoundButtonSpecifics.qml
deleted file mode 100644
index 2da4cda6..00000000
--- a/src/imports/controls/designer/RoundButtonSpecifics.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- caption: qsTr("RoundButton")
-
- SectionLayout {
- Label {
- text: qsTr("Radius")
- tooltip: qsTr("Radius of the button.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.radius
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ButtonSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ScrollViewSpecifics.qml b/src/imports/controls/designer/ScrollViewSpecifics.qml
deleted file mode 100644
index 0f3d56d2..00000000
--- a/src/imports/controls/designer/ScrollViewSpecifics.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("ScrollView")
-
- SectionLayout {
- Label {
- text: qsTr("Content Width")
- tooltip: qsTr("Content height used for calculating the total implicit width.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentWidth
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Content Height")
- tooltip: qsTr("Content height used for calculating the total implicit height.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentHeight
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/SliderSpecifics.qml b/src/imports/controls/designer/SliderSpecifics.qml
deleted file mode 100644
index 076d8a1c..00000000
--- a/src/imports/controls/designer/SliderSpecifics.qml
+++ /dev/null
@@ -1,160 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("Slider")
-
- SectionLayout {
- Label {
- text: qsTr("Value")
- tooltip: qsTr("The current value of the slider.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
- maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.value
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("From")
- tooltip: qsTr("The starting value of the slider range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.from
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("To")
- tooltip: qsTr("The ending value of the slider range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.to
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Step Size")
- tooltip: qsTr("The step size of the slider.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.stepSize
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Snap Mode")
- tooltip: qsTr("The snap mode of the slider.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.snapMode
- model: [ "NoSnap", "SnapOnRelease", "SnapAlways" ]
- scope: "Slider"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Orientation")
- tooltip: qsTr("The orientation of the slider.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.orientation
- model: [ "Horizontal", "Vertical" ]
- scope: "Qt"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Live")
- tooltip: qsTr("Whether the slider provides live value updates.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.live.valueToString
- backendValue: backendValues.live
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/SpinBoxSpecifics.qml b/src/imports/controls/designer/SpinBoxSpecifics.qml
deleted file mode 100644
index d6375d7c..00000000
--- a/src/imports/controls/designer/SpinBoxSpecifics.qml
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("SpinBox")
-
- SectionLayout {
- Label {
- text: qsTr("Value")
- tooltip: qsTr("The current value of the spinbox.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
- maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
- decimals: 2
- backendValue: backendValues.value
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("From")
- tooltip: qsTr("The starting value of the spinbox range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- backendValue: backendValues.from
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("To")
- tooltip: qsTr("The ending value of the spinbox range.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- backendValue: backendValues.to
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Step Size")
- tooltip: qsTr("The step size of the spinbox.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 2
- backendValue: backendValues.stepSize
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Editable")
- tooltip: qsTr("Whether the spinbox is editable.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.editable.valueToString
- backendValue: backendValues.editable
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/StackViewSpecifics.qml b/src/imports/controls/designer/StackViewSpecifics.qml
deleted file mode 100644
index ccfd8853..00000000
--- a/src/imports/controls/designer/StackViewSpecifics.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/SwipeDelegateSpecifics.qml b/src/imports/controls/designer/SwipeDelegateSpecifics.qml
deleted file mode 100644
index 58063980..00000000
--- a/src/imports/controls/designer/SwipeDelegateSpecifics.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ItemDelegateSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/SwipeViewSpecifics.qml b/src/imports/controls/designer/SwipeViewSpecifics.qml
deleted file mode 100644
index 02cc900e..00000000
--- a/src/imports/controls/designer/SwipeViewSpecifics.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("SwipeView")
-
- SectionLayout {
- Label {
- text: qsTr("Interactive")
- tooltip: qsTr("Whether the view is interactive.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.interactive.valueToString
- backendValue: backendValues.interactive
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Orientation")
- tooltip: qsTr("Orientation of the view.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.orientation
- model: [ "Horizontal", "Vertical" ]
- scope: "Qt"
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ContainerSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/SwitchDelegateSpecifics.qml b/src/imports/controls/designer/SwitchDelegateSpecifics.qml
deleted file mode 100644
index f8c0dcc6..00000000
--- a/src/imports/controls/designer/SwitchDelegateSpecifics.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ItemDelegateSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/SwitchSpecifics.qml b/src/imports/controls/designer/SwitchSpecifics.qml
deleted file mode 100644
index 6137ad8c..00000000
--- a/src/imports/controls/designer/SwitchSpecifics.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/TabBarSpecifics.qml b/src/imports/controls/designer/TabBarSpecifics.qml
deleted file mode 100644
index f17e8e9a..00000000
--- a/src/imports/controls/designer/TabBarSpecifics.qml
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("TabBar")
-
- SectionLayout {
- Label {
- text: qsTr("Position")
- tooltip: qsTr("Position of the tabbar.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.position
- model: [ "Header", "Footer" ]
- scope: "TabBar"
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Content Width")
- tooltip: qsTr("Content height used for calculating the total implicit width.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentWidth
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Content Height")
- tooltip: qsTr("Content height used for calculating the total implicit height.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.contentHeight
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ContainerSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/TabButtonSpecifics.qml b/src/imports/controls/designer/TabButtonSpecifics.qml
deleted file mode 100644
index 6137ad8c..00000000
--- a/src/imports/controls/designer/TabButtonSpecifics.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/TextAreaSpecifics.qml b/src/imports/controls/designer/TextAreaSpecifics.qml
deleted file mode 100644
index a14584e7..00000000
--- a/src/imports/controls/designer/TextAreaSpecifics.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("TextArea")
-
- SectionLayout {
- Label {
- text: qsTr("Placeholder")
- tooltip: qsTr("Placeholder text displayed when the editor is empty.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.placeholderText
- Layout.fillWidth: true
- }
-
- }
- }
- }
-
- StandardTextSection {
- width: parent.width
- showIsWrapping: true
- showFormatProperty: true
- showVerticalAlignment: true
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/TextFieldSpecifics.qml b/src/imports/controls/designer/TextFieldSpecifics.qml
deleted file mode 100644
index 67a63ec4..00000000
--- a/src/imports/controls/designer/TextFieldSpecifics.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("TextField")
-
- SectionLayout {
- Label {
- text: qsTr("Placeholder")
- tooltip: qsTr("Placeholder text displayed when the editor is empty.")
- }
- SecondColumnLayout {
- LineEdit {
- backendValue: backendValues.placeholderText
- Layout.fillWidth: true
- }
-
- }
- }
- }
-
- StandardTextSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ToolBarSpecifics.qml b/src/imports/controls/designer/ToolBarSpecifics.qml
deleted file mode 100644
index acf02e7b..00000000
--- a/src/imports/controls/designer/ToolBarSpecifics.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("ToolBar")
-
- SectionLayout {
- Label {
- text: qsTr("Position")
- tooltip: qsTr("Position of the toolbar.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.position
- model: [ "Header", "Footer" ]
- scope: "ToolBar"
- Layout.fillWidth: true
- }
- }
- }
- }
-
- PaneSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ToolButtonSpecifics.qml b/src/imports/controls/designer/ToolButtonSpecifics.qml
deleted file mode 100644
index e094b9df..00000000
--- a/src/imports/controls/designer/ToolButtonSpecifics.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- ButtonSection {
- width: parent.width
- }
-
- AbstractButtonSection {
- width: parent.width
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/ToolSeparatorSpecifics.qml b/src/imports/controls/designer/ToolSeparatorSpecifics.qml
deleted file mode 100644
index d0ebd57c..00000000
--- a/src/imports/controls/designer/ToolSeparatorSpecifics.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("ToolSeparator")
-
- SectionLayout {
- Label {
- text: qsTr("Orientation")
- tooltip: qsTr("The orientation of the separator.")
- }
- SecondColumnLayout {
- ComboBox {
- backendValue: backendValues.orientation
- model: [ "Horizontal", "Vertical" ]
- scope: "Qt"
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/TumblerSpecifics.qml b/src/imports/controls/designer/TumblerSpecifics.qml
deleted file mode 100644
index 04507ef6..00000000
--- a/src/imports/controls/designer/TumblerSpecifics.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
-Column {
- width: parent.width
-
- Section {
- width: parent.width
- caption: qsTr("Tumbler")
-
- SectionLayout {
- Label {
- text: qsTr("Visible Count")
- tooltip: qsTr("The count of visible items.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.visibleItemCount
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Current")
- tooltip: qsTr("The index of the current item.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- decimals: 0
- backendValue: backendValues.currentIndex
- Layout.fillWidth: true
- }
- }
-
- Label {
- text: qsTr("Wrap")
- tooltip: qsTr("Whether the tumbler wrap.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.wrap.valueToString
- backendValue: backendValues.wrap
- Layout.fillWidth: true
- }
- }
- }
- }
-
- ControlSection {
- width: parent.width
- }
-
- FontSection {
- width: parent.width
- }
-
- PaddingSection {
- width: parent.width
- }
-}
diff --git a/src/imports/controls/designer/designer.pri b/src/imports/controls/designer/designer.pri
deleted file mode 100644
index 3ad99df7..00000000
--- a/src/imports/controls/designer/designer.pri
+++ /dev/null
@@ -1,51 +0,0 @@
-AUX_QML_FILES += \
- $$PWD/qtquickcontrols2.metainfo
-
-AUX_QML_FILES += \
- $$PWD/AbstractButtonSection.qml \
- $$PWD/BusyIndicatorSpecifics.qml \
- $$PWD/ButtonSection.qml \
- $$PWD/ButtonSpecifics.qml \
- $$PWD/CheckBoxSpecifics.qml \
- $$PWD/CheckDelegateSpecifics.qml \
- $$PWD/CheckSection.qml \
- $$PWD/ComboBoxSpecifics.qml \
- $$PWD/ContainerSection.qml \
- $$PWD/ControlSection.qml \
- $$PWD/ControlSpecifics.qml \
- $$PWD/DelayButtonSpecifics.qml \
- $$PWD/DialSpecifics.qml \
- $$PWD/FrameSpecifics.qml \
- $$PWD/GroupBoxSpecifics.qml \
- $$PWD/ItemDelegateSection.qml \
- $$PWD/ItemDelegateSpecifics.qml \
- $$PWD/LabelSpecifics.qml \
- $$PWD/PaddingSection.qml \
- $$PWD/PageSpecifics.qml \
- $$PWD/PageIndicatorSpecifics.qml \
- $$PWD/PaneSection.qml \
- $$PWD/PaneSpecifics.qml \
- $$PWD/ProgressBarSpecifics.qml \
- $$PWD/RadioButtonSpecifics.qml \
- $$PWD/RadioDelegateSpecifics.qml \
- $$PWD/RangeSliderSpecifics.qml \
- $$PWD/RoundButtonSpecifics.qml \
- $$PWD/ScrollViewSpecifics.qml \
- $$PWD/SliderSpecifics.qml \
- $$PWD/SpinBoxSpecifics.qml \
- $$PWD/StackViewSpecifics.qml \
- $$PWD/SwipeDelegateSpecifics.qml \
- $$PWD/SwipeViewSpecifics.qml \
- $$PWD/SwitchSpecifics.qml \
- $$PWD/SwitchDelegateSpecifics.qml \
- $$PWD/TabBarSpecifics.qml \
- $$PWD/TabButtonSpecifics.qml \
- $$PWD/TextAreaSpecifics.qml \
- $$PWD/TextFieldSpecifics.qml \
- $$PWD/ToolBarSpecifics.qml \
- $$PWD/ToolButtonSpecifics.qml \
- $$PWD/ToolSeparatorSpecifics.qml \
- $$PWD/TumblerSpecifics.qml
-
-AUX_QML_FILES += \
- $$files($$PWD/images/*.png)
diff --git a/src/imports/controls/designer/images/busyindicator-icon.png b/src/imports/controls/designer/images/busyindicator-icon.png
deleted file mode 100644
index 666d1ed9..00000000
--- a/src/imports/controls/designer/images/busyindicator-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/busyindicator-icon16.png b/src/imports/controls/designer/images/busyindicator-icon16.png
deleted file mode 100644
index 5aa57d7f..00000000
--- a/src/imports/controls/designer/images/busyindicator-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/busyindicator-icon@2x.png b/src/imports/controls/designer/images/busyindicator-icon@2x.png
deleted file mode 100644
index bb2278ff..00000000
--- a/src/imports/controls/designer/images/busyindicator-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/button-icon.png b/src/imports/controls/designer/images/button-icon.png
deleted file mode 100644
index c44909f6..00000000
--- a/src/imports/controls/designer/images/button-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/button-icon16.png b/src/imports/controls/designer/images/button-icon16.png
deleted file mode 100644
index 5c921deb..00000000
--- a/src/imports/controls/designer/images/button-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/button-icon@2x.png b/src/imports/controls/designer/images/button-icon@2x.png
deleted file mode 100644
index f90a1ba7..00000000
--- a/src/imports/controls/designer/images/button-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/checkbox-icon.png b/src/imports/controls/designer/images/checkbox-icon.png
deleted file mode 100644
index ee669b3a..00000000
--- a/src/imports/controls/designer/images/checkbox-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/checkbox-icon16.png b/src/imports/controls/designer/images/checkbox-icon16.png
deleted file mode 100644
index 8d89eab8..00000000
--- a/src/imports/controls/designer/images/checkbox-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/checkbox-icon@2x.png b/src/imports/controls/designer/images/checkbox-icon@2x.png
deleted file mode 100644
index 51c5601d..00000000
--- a/src/imports/controls/designer/images/checkbox-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/combobox-icon.png b/src/imports/controls/designer/images/combobox-icon.png
deleted file mode 100644
index 2d31b17c..00000000
--- a/src/imports/controls/designer/images/combobox-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/combobox-icon16.png b/src/imports/controls/designer/images/combobox-icon16.png
deleted file mode 100644
index 15fc3505..00000000
--- a/src/imports/controls/designer/images/combobox-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/combobox-icon@2x.png b/src/imports/controls/designer/images/combobox-icon@2x.png
deleted file mode 100644
index 5f823905..00000000
--- a/src/imports/controls/designer/images/combobox-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/delaybutton-icon.png b/src/imports/controls/designer/images/delaybutton-icon.png
deleted file mode 100644
index 5a55bd9f..00000000
--- a/src/imports/controls/designer/images/delaybutton-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/delaybutton-icon16.png b/src/imports/controls/designer/images/delaybutton-icon16.png
deleted file mode 100644
index cd21394e..00000000
--- a/src/imports/controls/designer/images/delaybutton-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/delaybutton-icon@2x.png b/src/imports/controls/designer/images/delaybutton-icon@2x.png
deleted file mode 100644
index 7beee2fa..00000000
--- a/src/imports/controls/designer/images/delaybutton-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/dial-icon.png b/src/imports/controls/designer/images/dial-icon.png
deleted file mode 100644
index b3b63e35..00000000
--- a/src/imports/controls/designer/images/dial-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/dial-icon16.png b/src/imports/controls/designer/images/dial-icon16.png
deleted file mode 100644
index 8d8c7c09..00000000
--- a/src/imports/controls/designer/images/dial-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/dial-icon@2x.png b/src/imports/controls/designer/images/dial-icon@2x.png
deleted file mode 100644
index 22547a16..00000000
--- a/src/imports/controls/designer/images/dial-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/frame-icon.png b/src/imports/controls/designer/images/frame-icon.png
deleted file mode 100644
index 32abc8bf..00000000
--- a/src/imports/controls/designer/images/frame-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/frame-icon16.png b/src/imports/controls/designer/images/frame-icon16.png
deleted file mode 100644
index e5b65ad5..00000000
--- a/src/imports/controls/designer/images/frame-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/frame-icon@2x.png b/src/imports/controls/designer/images/frame-icon@2x.png
deleted file mode 100644
index 8b876f38..00000000
--- a/src/imports/controls/designer/images/frame-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/groupbox-icon.png b/src/imports/controls/designer/images/groupbox-icon.png
deleted file mode 100644
index 5542ecf8..00000000
--- a/src/imports/controls/designer/images/groupbox-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/groupbox-icon16.png b/src/imports/controls/designer/images/groupbox-icon16.png
deleted file mode 100644
index 9cf43248..00000000
--- a/src/imports/controls/designer/images/groupbox-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/groupbox-icon@2x.png b/src/imports/controls/designer/images/groupbox-icon@2x.png
deleted file mode 100644
index 80dab3c7..00000000
--- a/src/imports/controls/designer/images/groupbox-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/itemdelegate-icon.png b/src/imports/controls/designer/images/itemdelegate-icon.png
deleted file mode 100644
index 822cf3e7..00000000
--- a/src/imports/controls/designer/images/itemdelegate-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/itemdelegate-icon16.png b/src/imports/controls/designer/images/itemdelegate-icon16.png
deleted file mode 100644
index b3ed007a..00000000
--- a/src/imports/controls/designer/images/itemdelegate-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/itemdelegate-icon@2x.png b/src/imports/controls/designer/images/itemdelegate-icon@2x.png
deleted file mode 100644
index cb81308f..00000000
--- a/src/imports/controls/designer/images/itemdelegate-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/label-icon.png b/src/imports/controls/designer/images/label-icon.png
deleted file mode 100644
index 788bef07..00000000
--- a/src/imports/controls/designer/images/label-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/label-icon16.png b/src/imports/controls/designer/images/label-icon16.png
deleted file mode 100644
index b68d3845..00000000
--- a/src/imports/controls/designer/images/label-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/label-icon@2x.png b/src/imports/controls/designer/images/label-icon@2x.png
deleted file mode 100644
index 7001413d..00000000
--- a/src/imports/controls/designer/images/label-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/page-icon.png b/src/imports/controls/designer/images/page-icon.png
deleted file mode 100644
index b5ac87e8..00000000
--- a/src/imports/controls/designer/images/page-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/page-icon16.png b/src/imports/controls/designer/images/page-icon16.png
deleted file mode 100644
index bc6810b6..00000000
--- a/src/imports/controls/designer/images/page-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/page-icon@2x.png b/src/imports/controls/designer/images/page-icon@2x.png
deleted file mode 100644
index 23db032f..00000000
--- a/src/imports/controls/designer/images/page-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/pageindicator-icon.png b/src/imports/controls/designer/images/pageindicator-icon.png
deleted file mode 100644
index edb6b377..00000000
--- a/src/imports/controls/designer/images/pageindicator-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/pageindicator-icon16.png b/src/imports/controls/designer/images/pageindicator-icon16.png
deleted file mode 100644
index 0fb89675..00000000
--- a/src/imports/controls/designer/images/pageindicator-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/pageindicator-icon@2x.png b/src/imports/controls/designer/images/pageindicator-icon@2x.png
deleted file mode 100644
index 7be0ee81..00000000
--- a/src/imports/controls/designer/images/pageindicator-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/pane-icon.png b/src/imports/controls/designer/images/pane-icon.png
deleted file mode 100644
index 62ebe487..00000000
--- a/src/imports/controls/designer/images/pane-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/pane-icon16.png b/src/imports/controls/designer/images/pane-icon16.png
deleted file mode 100644
index 2b804844..00000000
--- a/src/imports/controls/designer/images/pane-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/pane-icon@2x.png b/src/imports/controls/designer/images/pane-icon@2x.png
deleted file mode 100644
index 55bb116a..00000000
--- a/src/imports/controls/designer/images/pane-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/progressbar-icon.png b/src/imports/controls/designer/images/progressbar-icon.png
deleted file mode 100644
index a023f73c..00000000
--- a/src/imports/controls/designer/images/progressbar-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/progressbar-icon16.png b/src/imports/controls/designer/images/progressbar-icon16.png
deleted file mode 100644
index 6fede21d..00000000
--- a/src/imports/controls/designer/images/progressbar-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/progressbar-icon@2x.png b/src/imports/controls/designer/images/progressbar-icon@2x.png
deleted file mode 100644
index 00694003..00000000
--- a/src/imports/controls/designer/images/progressbar-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/radiobutton-icon.png b/src/imports/controls/designer/images/radiobutton-icon.png
deleted file mode 100644
index d38170e2..00000000
--- a/src/imports/controls/designer/images/radiobutton-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/radiobutton-icon16.png b/src/imports/controls/designer/images/radiobutton-icon16.png
deleted file mode 100644
index 07b46a8a..00000000
--- a/src/imports/controls/designer/images/radiobutton-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/radiobutton-icon@2x.png b/src/imports/controls/designer/images/radiobutton-icon@2x.png
deleted file mode 100644
index 4bbddda4..00000000
--- a/src/imports/controls/designer/images/radiobutton-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/rangeslider-icon.png b/src/imports/controls/designer/images/rangeslider-icon.png
deleted file mode 100644
index 1c4c7b29..00000000
--- a/src/imports/controls/designer/images/rangeslider-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/rangeslider-icon16.png b/src/imports/controls/designer/images/rangeslider-icon16.png
deleted file mode 100644
index 3be4624d..00000000
--- a/src/imports/controls/designer/images/rangeslider-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/rangeslider-icon@2x.png b/src/imports/controls/designer/images/rangeslider-icon@2x.png
deleted file mode 100644
index aee69b33..00000000
--- a/src/imports/controls/designer/images/rangeslider-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/roundbutton-icon.png b/src/imports/controls/designer/images/roundbutton-icon.png
deleted file mode 100644
index d4b470dc..00000000
--- a/src/imports/controls/designer/images/roundbutton-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/roundbutton-icon16.png b/src/imports/controls/designer/images/roundbutton-icon16.png
deleted file mode 100644
index f6f36666..00000000
--- a/src/imports/controls/designer/images/roundbutton-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/roundbutton-icon@2x.png b/src/imports/controls/designer/images/roundbutton-icon@2x.png
deleted file mode 100644
index 4553e165..00000000
--- a/src/imports/controls/designer/images/roundbutton-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/scrollview-icon.png b/src/imports/controls/designer/images/scrollview-icon.png
deleted file mode 100644
index 5ef73ff1..00000000
--- a/src/imports/controls/designer/images/scrollview-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/scrollview-icon16.png b/src/imports/controls/designer/images/scrollview-icon16.png
deleted file mode 100644
index f8ca7a36..00000000
--- a/src/imports/controls/designer/images/scrollview-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/scrollview-icon@2x.png b/src/imports/controls/designer/images/scrollview-icon@2x.png
deleted file mode 100644
index 0eb7f966..00000000
--- a/src/imports/controls/designer/images/scrollview-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/slider-icon.png b/src/imports/controls/designer/images/slider-icon.png
deleted file mode 100644
index bd0a9729..00000000
--- a/src/imports/controls/designer/images/slider-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/slider-icon16.png b/src/imports/controls/designer/images/slider-icon16.png
deleted file mode 100644
index a08622df..00000000
--- a/src/imports/controls/designer/images/slider-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/slider-icon@2x.png b/src/imports/controls/designer/images/slider-icon@2x.png
deleted file mode 100644
index 93842e4c..00000000
--- a/src/imports/controls/designer/images/slider-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/spinbox-icon.png b/src/imports/controls/designer/images/spinbox-icon.png
deleted file mode 100644
index 37277c5e..00000000
--- a/src/imports/controls/designer/images/spinbox-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/spinbox-icon16.png b/src/imports/controls/designer/images/spinbox-icon16.png
deleted file mode 100644
index f88711dd..00000000
--- a/src/imports/controls/designer/images/spinbox-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/spinbox-icon@2x.png b/src/imports/controls/designer/images/spinbox-icon@2x.png
deleted file mode 100644
index b62a3bad..00000000
--- a/src/imports/controls/designer/images/spinbox-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/stackview-icon.png b/src/imports/controls/designer/images/stackview-icon.png
deleted file mode 100644
index a6ced349..00000000
--- a/src/imports/controls/designer/images/stackview-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/stackview-icon16.png b/src/imports/controls/designer/images/stackview-icon16.png
deleted file mode 100644
index 0f19d0ef..00000000
--- a/src/imports/controls/designer/images/stackview-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/stackview-icon@2x.png b/src/imports/controls/designer/images/stackview-icon@2x.png
deleted file mode 100644
index 9b5ef951..00000000
--- a/src/imports/controls/designer/images/stackview-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/swipeview-icon.png b/src/imports/controls/designer/images/swipeview-icon.png
deleted file mode 100644
index 031cb27c..00000000
--- a/src/imports/controls/designer/images/swipeview-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/swipeview-icon16.png b/src/imports/controls/designer/images/swipeview-icon16.png
deleted file mode 100644
index 446c4696..00000000
--- a/src/imports/controls/designer/images/swipeview-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/swipeview-icon@2x.png b/src/imports/controls/designer/images/swipeview-icon@2x.png
deleted file mode 100644
index 0ccb978c..00000000
--- a/src/imports/controls/designer/images/swipeview-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/switch-icon.png b/src/imports/controls/designer/images/switch-icon.png
deleted file mode 100644
index e0181592..00000000
--- a/src/imports/controls/designer/images/switch-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/switch-icon16.png b/src/imports/controls/designer/images/switch-icon16.png
deleted file mode 100644
index 9abd2756..00000000
--- a/src/imports/controls/designer/images/switch-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/switch-icon@2x.png b/src/imports/controls/designer/images/switch-icon@2x.png
deleted file mode 100644
index 787f54ca..00000000
--- a/src/imports/controls/designer/images/switch-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/textarea-icon.png b/src/imports/controls/designer/images/textarea-icon.png
deleted file mode 100644
index f1b2dc0f..00000000
--- a/src/imports/controls/designer/images/textarea-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/textarea-icon16.png b/src/imports/controls/designer/images/textarea-icon16.png
deleted file mode 100644
index 4afc1fba..00000000
--- a/src/imports/controls/designer/images/textarea-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/textarea-icon@2x.png b/src/imports/controls/designer/images/textarea-icon@2x.png
deleted file mode 100644
index c32ecc71..00000000
--- a/src/imports/controls/designer/images/textarea-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/textfield-icon.png b/src/imports/controls/designer/images/textfield-icon.png
deleted file mode 100644
index ba5537ac..00000000
--- a/src/imports/controls/designer/images/textfield-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/textfield-icon16.png b/src/imports/controls/designer/images/textfield-icon16.png
deleted file mode 100644
index c4a62a65..00000000
--- a/src/imports/controls/designer/images/textfield-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/textfield-icon@2x.png b/src/imports/controls/designer/images/textfield-icon@2x.png
deleted file mode 100644
index e05fd41b..00000000
--- a/src/imports/controls/designer/images/textfield-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolbar-icon.png b/src/imports/controls/designer/images/toolbar-icon.png
deleted file mode 100644
index 5cb5b2e1..00000000
--- a/src/imports/controls/designer/images/toolbar-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolbar-icon16.png b/src/imports/controls/designer/images/toolbar-icon16.png
deleted file mode 100644
index 569373af..00000000
--- a/src/imports/controls/designer/images/toolbar-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolbar-icon@2x.png b/src/imports/controls/designer/images/toolbar-icon@2x.png
deleted file mode 100644
index fd9e6cee..00000000
--- a/src/imports/controls/designer/images/toolbar-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolbutton-icon.png b/src/imports/controls/designer/images/toolbutton-icon.png
deleted file mode 100644
index 3298f695..00000000
--- a/src/imports/controls/designer/images/toolbutton-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolbutton-icon16.png b/src/imports/controls/designer/images/toolbutton-icon16.png
deleted file mode 100644
index 9ab7861c..00000000
--- a/src/imports/controls/designer/images/toolbutton-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolbutton-icon@2x.png b/src/imports/controls/designer/images/toolbutton-icon@2x.png
deleted file mode 100644
index e5958cde..00000000
--- a/src/imports/controls/designer/images/toolbutton-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolseparator-icon.png b/src/imports/controls/designer/images/toolseparator-icon.png
deleted file mode 100644
index 5e99f06f..00000000
--- a/src/imports/controls/designer/images/toolseparator-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolseparator-icon16.png b/src/imports/controls/designer/images/toolseparator-icon16.png
deleted file mode 100644
index 68f22c5d..00000000
--- a/src/imports/controls/designer/images/toolseparator-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/toolseparator-icon@2x.png b/src/imports/controls/designer/images/toolseparator-icon@2x.png
deleted file mode 100644
index 549c11c6..00000000
--- a/src/imports/controls/designer/images/toolseparator-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/tumbler-icon.png b/src/imports/controls/designer/images/tumbler-icon.png
deleted file mode 100644
index 98eb8232..00000000
--- a/src/imports/controls/designer/images/tumbler-icon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/tumbler-icon16.png b/src/imports/controls/designer/images/tumbler-icon16.png
deleted file mode 100644
index ff5f95cf..00000000
--- a/src/imports/controls/designer/images/tumbler-icon16.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/images/tumbler-icon@2x.png b/src/imports/controls/designer/images/tumbler-icon@2x.png
deleted file mode 100644
index 236abf0c..00000000
--- a/src/imports/controls/designer/images/tumbler-icon@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/designer/qtquickcontrols2.metainfo b/src/imports/controls/designer/qtquickcontrols2.metainfo
deleted file mode 100644
index 9e6030b1..00000000
--- a/src/imports/controls/designer/qtquickcontrols2.metainfo
+++ /dev/null
@@ -1,522 +0,0 @@
-MetaInfo {
- Type {
- name: "QtQuick.Controls.BusyIndicator"
- icon: "images/busyindicator-icon16.png"
-
- ItemLibraryEntry {
- name: "Busy Indicator"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/busyindicator-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
- }
- }
-
- Type {
- name: "QtQuick.Controls.Button"
- icon: "images/button-icon16.png"
-
- ItemLibraryEntry {
- name: "Button"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/button-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Button\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.CheckBox"
- icon: "images/checkbox-icon16.png"
-
- ItemLibraryEntry {
- name: "Check Box"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/checkbox-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Check Box\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.CheckDelegate"
- icon: "images/checkbox-icon16.png"
-
- ItemLibraryEntry {
- name: "Check Delegate"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/checkbox-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Check Delegate\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.ComboBox"
- icon: "images/combobox-icon16.png"
-
- ItemLibraryEntry {
- name: "Combo Box"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/combobox-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
- }
- }
-
- Type {
- name: "QtQuick.Controls.DelayButton"
- icon: "images/button-icon16.png"
-
- ItemLibraryEntry {
- name: "Delay Button"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/delaybutton-icon.png"
- version: "2.2"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Delay Button\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.Dial"
- icon: "images/dial-icon16.png"
-
- ItemLibraryEntry {
- name: "Dial"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/dial-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
- }
- }
-
- Type {
- name: "QtQuick.Controls.Frame"
- icon: "images/frame-icon16.png"
-
- ItemLibraryEntry {
- name: "Frame"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/frame-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.GroupBox"
- icon: "images/groupbox-icon16.png"
-
- ItemLibraryEntry {
- name: "Group Box"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/groupbox-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- Property { name: "title"; type: "binding"; value: "qsTr(\"Group Box\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.ItemDelegate"
- icon: "images/itemdelegate-icon16.png"
-
- ItemLibraryEntry {
- name: "Item Delegate"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/itemdelegate-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Item Delegate\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.Label"
- icon: "images/label-icon16.png"
-
- ItemLibraryEntry {
- name: "Label"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/label-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Label\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.Page"
- icon: "images/page-icon16.png"
-
- ItemLibraryEntry {
- name: "Page"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/page-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.PageIndicator"
- icon: "images/pageindicator-icon16.png"
-
- ItemLibraryEntry {
- name: "Page Indicator"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/pageindicator-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "count"; type: "int"; value: 3 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.Pane"
- icon: "images/pane-icon16.png"
-
- ItemLibraryEntry {
- name: "Pane"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/pane-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.ProgressBar"
- icon: "images/progressbar-icon16.png"
-
- ItemLibraryEntry {
- name: "Progress Bar"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/progressbar-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "value"; type: "real"; value: 0.5 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.RadioButton"
- icon: "images/radiobutton-icon16.png"
-
- ItemLibraryEntry {
- name: "Radio Button"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/radiobutton-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Radio Button\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.RadioDelegate"
- icon: "images/radiobutton-icon16.png"
-
- ItemLibraryEntry {
- name: "Radio Delegate"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/radiobutton-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Radio Delegate\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.RangeSlider"
- icon: "images/rangeslider-icon16.png"
-
- ItemLibraryEntry {
- name: "Range Slider"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/rangeslider-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "first.value"; type: "real"; value: 0.25 }
- Property { name: "second.value"; type: "real"; value: 0.75 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.RoundButton"
- icon: "images/roundbutton-icon16.png"
-
- ItemLibraryEntry {
- name: "Round Button"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/roundbutton-icon.png"
- version: "2.1"
- requiredImport: "QtQuick.Controls"
- Property { name: "text"; type: "string"; value: "+" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.Slider"
- icon: "images/slider-icon16.png"
-
- ItemLibraryEntry {
- name: "Slider"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/slider-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "value"; type: "real"; value: 0.5 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.SpinBox"
- icon: "images/spinbox-icon16.png"
-
- ItemLibraryEntry {
- name: "Spin Box"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/spinbox-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
- }
- }
-
- Type {
- name: "QtQuick.Controls.ScrollView"
- icon: "images/scrollview-icon16.png"
-
- ItemLibraryEntry {
- name: "Scroll View"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/scrollview-icon.png"
- version: "2.2"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.StackView"
- icon: "images/stackview-icon16.png"
-
- ItemLibraryEntry {
- name: "Stack View"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/stackview-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.SwipeDelegate"
- icon: "images/itemdelegate-icon16.png"
-
- ItemLibraryEntry {
- name: "Swipe Delegate"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/itemdelegate-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Swipe Delegate\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.SwipeView"
- icon: "images/swipeview-icon16.png"
-
- ItemLibraryEntry {
- name: "Swipe View"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/swipeview-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 200 }
- Property { name: "height"; type: "int"; value: 200 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.Switch"
- icon: "images/switch-icon16.png"
-
- ItemLibraryEntry {
- name: "Switch"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/switch-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Switch\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.SwitchDelegate"
- icon: "images/switch-icon16.png"
-
- ItemLibraryEntry {
- name: "Switch Delegate"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/switch-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Switch Delegate\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.TabBar"
- icon: "images/toolbar-icon16.png"
-
- ItemLibraryEntry {
- name: "Tab Bar"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/toolbar-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
- Property { name: "width"; type: "int"; value: 240 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.TabButton"
- icon: "images/toolbutton-icon16.png"
-
- ItemLibraryEntry {
- name: "Tab Button"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/toolbutton-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
- Property { name: "text"; type: "binding"; value: "qsTr(\"Tab Button\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.TextArea"
- icon: "images/textarea-icon16.png"
-
- ItemLibraryEntry {
- name: "Text Area"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/textarea-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Text Area\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.TextField"
- icon: "images/textfield-icon16.png"
-
- ItemLibraryEntry {
- name: "Text Field"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/textfield-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Text Field\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.ToolBar"
- icon: "images/toolbar-icon16.png"
-
- ItemLibraryEntry {
- name: "Tool Bar"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/toolbar-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "width"; type: "int"; value: 360 }
- }
- }
-
- Type {
- name: "QtQuick.Controls.ToolButton"
- icon: "images/toolbutton-icon16.png"
-
- ItemLibraryEntry {
- name: "Tool Button"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/toolbutton-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "text"; type: "binding"; value: "qsTr(\"Tool Button\")" }
- }
- }
-
- Type {
- name: "QtQuick.Controls.ToolSeparator"
- icon: "images/toolseparator-icon16.png"
-
- ItemLibraryEntry {
- name: "Tool Separator"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/toolseparator-icon.png"
- version: "2.1"
- requiredImport: "QtQuick.Controls"
- }
- }
-
- Type {
- name: "QtQuick.Controls.Tumbler"
- icon: "images/tumbler-icon16.png"
-
- ItemLibraryEntry {
- name: "Tumbler"
- category: "Qt Quick - Controls 2"
- libraryIcon: "images/tumbler-icon.png"
- version: "2.0"
- requiredImport: "QtQuick.Controls"
-
- Property { name: "model"; type: "int"; value: "10" }
- }
- }
-}
diff --git a/src/imports/controls/doc/doc.pri b/src/imports/controls/doc/doc.pri
deleted file mode 100644
index f1bf7e80..00000000
--- a/src/imports/controls/doc/doc.pri
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_DOCS = $$PWD/qtquickcontrols.qdocconf
-
-OTHER_FILES += \
- $$files($$PWD/snippets/*.qml) \
- $$files($$PWD/src/*.qdoc) \
- $$files($$PWD/src/calendar/*.qdoc) \
- $$files($$PWD/src/templates/*.qdoc)
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-applicationwindow-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-applicationwindow-wireframe.png
deleted file mode 100644
index 522713bc..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-applicationwindow-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-busyindicator-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-busyindicator-custom.png
deleted file mode 100644
index 89a38660..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-busyindicator-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-busyindicator.gif b/src/imports/controls/doc/images/qtquickcontrols2-busyindicator.gif
deleted file mode 100644
index 653d200f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-busyindicator.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-busyindicator.png b/src/imports/controls/doc/images/qtquickcontrols2-busyindicator.png
deleted file mode 100644
index e631df32..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-busyindicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-button-custom.png
deleted file mode 100644
index e418da04..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-flat.gif b/src/imports/controls/doc/images/qtquickcontrols2-button-flat.gif
deleted file mode 100644
index e2bd8b6f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-flat.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-highlighted.gif b/src/imports/controls/doc/images/qtquickcontrols2-button-highlighted.gif
deleted file mode 100644
index 7de076d3..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-highlighted.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-icononly.png b/src/imports/controls/doc/images/qtquickcontrols2-button-icononly.png
deleted file mode 100644
index 91a21d17..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-icononly.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-textbesideicon.png b/src/imports/controls/doc/images/qtquickcontrols2-button-textbesideicon.png
deleted file mode 100644
index 1d46133f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-textbesideicon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-textonly.png b/src/imports/controls/doc/images/qtquickcontrols2-button-textonly.png
deleted file mode 100644
index 4449e748..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-textonly.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-textundericon.png b/src/imports/controls/doc/images/qtquickcontrols2-button-textundericon.png
deleted file mode 100644
index fc031ce1..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-textundericon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button.gif b/src/imports/controls/doc/images/qtquickcontrols2-button.gif
deleted file mode 100644
index 10d626a3..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-custom.png
deleted file mode 100644
index 922e458a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-group.png b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-group.png
deleted file mode 100644
index 63d77bee..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-group.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif
deleted file mode 100644
index 56a15867..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif b/src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif
deleted file mode 100644
index d70c0ee4..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-custom.png
deleted file mode 100644
index f565e0e7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-tristate.gif b/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-tristate.gif
deleted file mode 100644
index 8d058d6c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate-tristate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate.gif b/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate.gif
deleted file mode 100644
index da3fab98..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-checkdelegate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-combobox-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-combobox-custom.png
deleted file mode 100644
index 0b2e34bf..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-combobox-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-combobox-delegate.png b/src/imports/controls/doc/images/qtquickcontrols2-combobox-delegate.png
deleted file mode 100644
index 7e716b3d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-combobox-delegate.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-combobox-popup.png b/src/imports/controls/doc/images/qtquickcontrols2-combobox-popup.png
deleted file mode 100644
index 7e716b3d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-combobox-popup.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-combobox.gif b/src/imports/controls/doc/images/qtquickcontrols2-combobox.gif
deleted file mode 100644
index 966a2d4a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-combobox.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-control.png b/src/imports/controls/doc/images/qtquickcontrols2-control.png
deleted file mode 100644
index 71840a49..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-control.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-control.svg b/src/imports/controls/doc/images/qtquickcontrols2-control.svg
deleted file mode 100644
index 4b2057d1..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-control.svg
+++ /dev/null
@@ -1,936 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="760"
- height="580"
- viewBox="0 0 759.99997 579.99999"
- id="svg2"
- version="1.1"
- inkscape:version="0.92.3 (2405546, 2018-03-11)"
- sodipodi:docname="qtquickcontrols2-control.svg"
- inkscape:export-filename="/home/jpnurmi/Projects/qt-dev/qtquickcontrols2/src/imports/controls/doc/images/qtquickcontrols2-control.png"
- inkscape:export-xdpi="192"
- inkscape:export-ydpi="192">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4191"
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="matrix(0.4,0,0,0.4,4,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4212"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-3"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-9"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-0"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-5"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-9-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-2-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-1-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-2-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-8"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-96"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-4"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-9-6-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-2-2-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-1-1-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-2-7-8"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2-6"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9-8"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-1-7"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-8-9"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-96-7"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-4-4"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6-9-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2-6-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8-4-0"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9-8-6"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-1-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-8-3"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-96-3"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-4-46"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6-9-5"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2-6-6"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8-4-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9-8-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-1-9-7"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-8-3-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-96-3-2"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-4-46-3"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6-9-5-8"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2-6-6-1"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8-4-1-3"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9-8-7-6"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.4142136"
- inkscape:cx="138.75529"
- inkscape:cy="425.28174"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="3840"
- inkscape:window-height="2031"
- inkscape:window-x="0"
- inkscape:window-y="55"
- inkscape:window-maximized="1"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- units="px" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(91.482322,-32.9581)">
- <rect
- style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.05102265;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect4136"
- width="518.94897"
- height="298.94897"
- x="29.043194"
- y="193.48361" />
- <rect
- style="fill:#ffd5d5;fill-opacity:1;stroke:none;stroke-width:0.83021182;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect4136-3"
- width="440"
- height="220"
- x="68.517685"
- y="232.9581" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(1.1690183,0,0,1.1690183,115.80023,-231.31953)"><flowRegion
- id="flowRegion4140"
- style="fill:#ff2a2a"><rect
- id="rect4142"
- width="129.78784"
- height="31.668232"
- x="-34.519978"
- y="400.22751"
- style="font-size:15.41801071px;fill:#ff2a2a" /></flowRegion><flowPara
- id="flowPara4144"
- style="font-size:20.55734825px;line-height:1.25;fill:#ff2a2a">Background</flowPara><flowPara
- id="flowPara4146"
- style="font-size:20.55734825px;line-height:1.25;fill:#ff2a2a"> </flowPara></flowRoot> <rect
- style="fill:#d7e3f4;fill-opacity:1;stroke:none;stroke-width:22.32431984;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.58381503"
- id="rect4148"
- width="360"
- height="140"
- x="108.51768"
- y="272.95813" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,184.57261,41.294224)"><flowRegion
- id="flowRegion4140-6"
- style="fill:#0055d4"><rect
- id="rect4142-6"
- width="334.36047"
- height="80.812172"
- x="42.426407"
- y="481.62601"
- style="font-size:40px;fill:#0055d4" /></flowRegion><flowPara
- id="flowPara4146-6"
- style="font-size:40px;line-height:1.25;fill:#0055d4">Content item</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-1"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,247.75903,220.21488)"><flowRegion
- id="flowRegion4140-6-9"><rect
- id="rect4142-6-0"
- width="270.72089"
- height="68.690361"
- x="42.426407"
- y="481.62601"
- style="font-size:25px;fill:#000000" /></flowRegion><flowPara
- id="flowPara4146-6-2"
- style="font-size:17.5px;line-height:1.25">Width</flowPara></flowRoot> <path
- style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.93053311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-3);marker-end:url(#TriangleOutL-0)"
- d="M 33.168982,505.52033 H 543.32948"
- id="path4179-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-9);marker-end:url(#TriangleOutL-1)"
- d="M 16.517683,487.33858 V 198.57762"
- id="path4179-9"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-1-7"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-50.003525,47.195824)"><flowRegion
- id="flowRegion4140-6-9-7"><rect
- id="rect4142-6-0-5"
- width="270.72089"
- height="68.690361"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#000000" /></flowRegion><flowPara
- id="flowPara4146-6-2-9"
- style="font-size:17.5px;line-height:1.25;fill:#000000">Height</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-3"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,206.65956,-144.78636)"><flowRegion
- id="flowRegion4140-6-67"><rect
- id="rect4142-6-5"
- width="334.36047"
- height="80.812172"
- x="42.426407"
- y="481.62601"
- style="font-size:60px;fill:#000000" /></flowRegion><flowPara
- style="font-size:60px;line-height:1.25"
- id="flowPara14323">Popup</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,41.217752,149.93493)"><flowRegion
- id="flowRegion4140-6-6-4-6"
- style="text-align:center;text-anchor:middle;fill:#0055d4"><rect
- id="rect4142-6-1-4-2"
- width="252.53812"
- height="61.619293"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;text-align:center;text-anchor:middle;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara10048-9">Bottom</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara5290">padding</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,384.82399,-69.046412)"><flowRegion
- id="flowRegion4140-6-6-4-6-2"
- style="fill:#0055d4"><rect
- id="rect4142-6-1-4-2-7"
- width="71.826065"
- height="43.785866"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara10048-9-0">Top</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara4830">padding</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,458.14041,-0.80935844)"><flowRegion
- id="flowRegion4140-6-6-4-6-3"
- style="fill:#0055d4"><rect
- id="rect4142-6-1-4-2-6"
- width="81.109558"
- height="93.762154"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#0055d4"
- id="flowPara4386">Right padding</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9-2"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,19.173452,87.133114)"><flowRegion
- id="flowRegion4140-6-6-4-6-3-5"
- style="fill:#0055d4"><rect
- id="rect4142-6-1-4-2-6-4"
- width="81.109558"
- height="93.762154"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.02554321px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#0055d4"
- id="flowPara4386-0">Left padding</flowPara></flowRoot> <path
- style="fill:#ff2a2a;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87824047;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-9-6);marker-end:url(#TriangleOutL-1-1)"
- d="M 72.916183,227.96278 V 198.98852"
- id="path4179-9-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87323481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5);marker-end:url(#TriangleOutL-9-4)"
- d="M 34.529058,238.58445 H 63.562954"
- id="path4179-7-8"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-5"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,47.895402,-88.000508)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-9"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-7-7"
- width="66.476036"
- height="55.080368"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#ff2a2a"
- id="flowPara11237">Top inset</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9-2-3"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,0.4414194,-43.952242)"><flowRegion
- id="flowRegion4140-6-6-4-6-3-5-8"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-6-4-8"
- width="75.759529"
- height="93.167732"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.02554321px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ff2a2a"
- id="flowPara4386-0-3">Left inset</flowPara></flowRoot> <path
- style="fill:#0055d4;fill-rule:evenodd;stroke:#0055d4;stroke-width:0.97500122;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-1);marker-end:url(#TriangleOutL-96)"
- d="M 462.28757,267.38769 V 199.50991"
- id="path4179-3"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ff2a2a;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87794411;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-9-6-4);marker-end:url(#TriangleOutL-1-1-6)"
- d="M 504.22784,486.94146 V 457.98675"
- id="path4179-9-8-9"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-5-0"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,424.36985,170.98794)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-9-6"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-7-7-8"
- width="91.442841"
- height="44.974762"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#ff2a2a"
- id="flowPara11237-7">Bottom inset</flowPara></flowRoot> <path
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87314719;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6);marker-end:url(#TriangleOutL-9-4-8)"
- d="M 513.47562,448.6218 H 542.5037"
- id="path4179-7-8-6"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9-2-3-0"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,479.24023,126.32002)"><flowRegion
- id="flowRegion4140-6-6-4-6-3-5-8-7"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-6-4-8-0"
- width="75.759529"
- height="93.167732"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.02554321px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ff2a2a"
- id="flowPara3807">Right inset</flowPara></flowRoot> <path
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.05938387;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6-9);marker-end:url(#TriangleOutL-9-4-8-4)"
- d="m 474.52523,278.31524 h 66.93934"
- id="path4179-7-8-6-0"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#0055d4;fill-rule:evenodd;stroke:#0055d4;stroke-width:0.97513783;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-1-7);marker-end:url(#TriangleOutL-96-7)"
- d="M 114.58911,486.37854 V 418.48175"
- id="path4179-3-9"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.05900466;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6-9-1);marker-end:url(#TriangleOutL-9-4-8-4-0)"
- d="M 35.582232,406.88667 H 102.47366"
- id="path4179-7-8-6-0-0"
- inkscape:connector-curvature="0" />
- <rect
- style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.38;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect4136-9"
- width="638.62036"
- height="418.6203"
- x="-30.792475"
- y="133.64795" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-3-8"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,192.12072,-213.92909)"><flowRegion
- id="flowRegion4140-6-67-1"><rect
- id="rect4142-6-5-6"
- width="334.36047"
- height="80.812172"
- x="42.426407"
- y="481.62601"
- style="font-size:60px;fill:#000000" /></flowRegion><flowPara
- style="font-size:60px;line-height:1.25"
- id="flowPara14323-3">Window</flowPara></flowRoot> <path
- style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.83036995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-1-9);marker-end:url(#TriangleOutL-96-3)"
- d="M 16.507747,188.209 V 138.97553"
- id="path4179-3-1"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.90094262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6-9-5);marker-end:url(#TriangleOutL-9-4-8-4-1)"
- d="m 553.67227,505.52244 h 48.41379"
- id="path4179-7-8-6-0-2"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-2"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-53.285062,-138.90295)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-92"
- style="fill:#000000"><rect
- id="rect4142-6-1-4-2-7-8"
- width="71.826065"
- height="43.785866"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#000000" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara10048-9-0-1">Top</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara4830-2">margin</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-2-4"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,530.78767,225.71855)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-92-7"
- style="fill:#000000"><rect
- id="rect4142-6-1-4-2-7-8-8"
- width="71.826065"
- height="43.785866"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#000000" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara10048-9-0-1-6">Right</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara4830-2-3">margin</flowPara></flowRoot> <path
- style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.83036995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-1-9-7);marker-end:url(#TriangleOutL-96-3-2)"
- d="M 16.459117,546.78218 V 497.54871"
- id="path4179-3-1-7"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-2-2"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-0.06072146,225.50386)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-92-5"
- style="fill:#000000"><rect
- id="rect4142-6-1-4-2-7-8-3"
- width="71.826065"
- height="43.785866"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#000000" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara10048-9-0-1-7">Bottom</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara4830-2-6">margin</flowPara></flowRoot> <path
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.89733517;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6-9-5-8);marker-end:url(#TriangleOutL-9-4-8-4-1-3)"
- d="M -25.075855,505.54405 H 22.951007"
- id="path4179-7-8-6-0-2-4"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-2-2-0"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-55.529842,180.17847)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-92-5-3"
- style="fill:#000000"><rect
- id="rect4142-6-1-4-2-7-8-3-5"
- width="71.826065"
- height="43.785866"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#000000" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara10048-9-0-1-7-8">Left</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#000000"
- id="flowPara4830-2-6-5">margin</flowPara></flowRoot> </g>
-</svg>
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-customize-buttons.png b/src/imports/controls/doc/images/qtquickcontrols2-customize-buttons.png
deleted file mode 100644
index f4e2454e..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-customize-buttons.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-default-thumbnail.png b/src/imports/controls/doc/images/qtquickcontrols2-default-thumbnail.png
deleted file mode 100644
index 5afcb6d7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-default-thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-default.png b/src/imports/controls/doc/images/qtquickcontrols2-default.png
deleted file mode 100644
index 67e52b84..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-default.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-delaybutton-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-delaybutton-custom.png
deleted file mode 100644
index be7f2586..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-delaybutton-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-delaybutton.gif b/src/imports/controls/doc/images/qtquickcontrols2-delaybutton.gif
deleted file mode 100644
index 16a198f9..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-delaybutton.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-dial-custom.png
deleted file mode 100644
index dc5779c0..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial-handle.png b/src/imports/controls/doc/images/qtquickcontrols2-dial-handle.png
deleted file mode 100644
index 49ba9d0c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial-inputMode.svgz b/src/imports/controls/doc/images/qtquickcontrols2-dial-inputMode.svgz
deleted file mode 100644
index 005ab7b3..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial-inputMode.svgz
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial-inputmode.png b/src/imports/controls/doc/images/qtquickcontrols2-dial-inputmode.png
deleted file mode 100644
index 27694ee3..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial-inputmode.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial-no-wrap.gif b/src/imports/controls/doc/images/qtquickcontrols2-dial-no-wrap.gif
deleted file mode 100644
index 24f6790b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial-no-wrap.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial-wrap.gif b/src/imports/controls/doc/images/qtquickcontrols2-dial-wrap.gif
deleted file mode 100644
index cfb1fb5b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial-wrap.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dial.png b/src/imports/controls/doc/images/qtquickcontrols2-dial.png
deleted file mode 100644
index dfe37f87..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dial.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox-attached.png b/src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox-attached.png
deleted file mode 100644
index 53ecf83d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox-attached.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox.png b/src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox.png
deleted file mode 100644
index 87cece98..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-dialogbuttonbox.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-drawer-expanded-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-drawer-expanded-wireframe.png
deleted file mode 100644
index 8a8078bf..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-drawer-expanded-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-drawer-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-drawer-wireframe.png
deleted file mode 100644
index d1ef1801..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-drawer-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-drawer.gif b/src/imports/controls/doc/images/qtquickcontrols2-drawer.gif
deleted file mode 100644
index 736f34f6..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-drawer.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-frame-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-frame-custom.png
deleted file mode 100644
index c9d00187..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-frame-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-frame.png b/src/imports/controls/doc/images/qtquickcontrols2-frame.png
deleted file mode 100644
index 3bc1a76a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-frame.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-fusion-palettes.png b/src/imports/controls/doc/images/qtquickcontrols2-fusion-palettes.png
deleted file mode 100644
index d649e137..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-fusion-palettes.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-fusion-thumbnail.png b/src/imports/controls/doc/images/qtquickcontrols2-fusion-thumbnail.png
deleted file mode 100644
index d15fe970..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-fusion-thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-fusion-violet.png b/src/imports/controls/doc/images/qtquickcontrols2-fusion-violet.png
deleted file mode 100644
index 4186a78f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-fusion-violet.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-fusion.png b/src/imports/controls/doc/images/qtquickcontrols2-fusion.png
deleted file mode 100644
index 037069b5..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-fusion.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-groupbox-checkable.png b/src/imports/controls/doc/images/qtquickcontrols2-groupbox-checkable.png
deleted file mode 100644
index fd36aec2..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-groupbox-checkable.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-groupbox-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-groupbox-custom.png
deleted file mode 100644
index 3a585d9f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-groupbox-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-groupbox-label.png b/src/imports/controls/doc/images/qtquickcontrols2-groupbox-label.png
deleted file mode 100644
index 4929be52..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-groupbox-label.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-groupbox.png b/src/imports/controls/doc/images/qtquickcontrols2-groupbox.png
deleted file mode 100644
index ef57cc64..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-groupbox.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-4x.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-4x.png
deleted file mode 100644
index 426a72c4..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset-boundaries.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset-boundaries.png
deleted file mode 100644
index af078f9e..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset-boundaries.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset.png
deleted file mode 100644
index 2f55b854..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-inset.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-padding.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-padding.png
deleted file mode 100644
index 003cb73d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-padding.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-stretchable.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-stretchable.png
deleted file mode 100644
index be3d8daa..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-resized-stretchable.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-size.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-size.png
deleted file mode 100644
index 5cc76d89..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch-size.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch.svgz b/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch.svgz
deleted file mode 100644
index 5a1a1094..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-9-patch.svgz
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-customization-dark.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-customization-dark.png
deleted file mode 100644
index d114d2cd..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-customization-dark.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-customization.svgz b/src/imports/controls/doc/images/qtquickcontrols2-imagine-customization.svgz
deleted file mode 100644
index fb830563..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-customization.svgz
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine-thumbnail.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine-thumbnail.png
deleted file mode 100644
index b949ab7c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine-thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-imagine.png b/src/imports/controls/doc/images/qtquickcontrols2-imagine.png
deleted file mode 100644
index 1cf7a0f2..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-imagine.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate-custom.png
deleted file mode 100644
index ff8ba047..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.gif b/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.gif
deleted file mode 100644
index dccb6efc..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.png b/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.png
deleted file mode 100644
index bbf49fad..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-itemdelegate.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-label-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-label-custom.png
deleted file mode 100644
index 5d950fe6..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-label-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-label.png b/src/imports/controls/doc/images/qtquickcontrols2-label.png
deleted file mode 100644
index a51912f5..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-label.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-accent.png b/src/imports/controls/doc/images/qtquickcontrols2-material-accent.png
deleted file mode 100644
index be0c8212..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-accent.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-attributes.png b/src/imports/controls/doc/images/qtquickcontrols2-material-attributes.png
deleted file mode 100644
index 68999892..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-attributes.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-background.png b/src/imports/controls/doc/images/qtquickcontrols2-material-background.png
deleted file mode 100644
index 132fb538..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-dark.png b/src/imports/controls/doc/images/qtquickcontrols2-material-dark.png
deleted file mode 100644
index eb0350dd..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-dark.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-elevation.png b/src/imports/controls/doc/images/qtquickcontrols2-material-elevation.png
deleted file mode 100644
index 38c6dc00..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-elevation.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-foreground.png b/src/imports/controls/doc/images/qtquickcontrols2-material-foreground.png
deleted file mode 100644
index 122f7f9b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-foreground.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-light.png b/src/imports/controls/doc/images/qtquickcontrols2-material-light.png
deleted file mode 100644
index 2635de68..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-light.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-purple.png b/src/imports/controls/doc/images/qtquickcontrols2-material-purple.png
deleted file mode 100644
index 8afb2cd6..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-purple.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-theme.png b/src/imports/controls/doc/images/qtquickcontrols2-material-theme.png
deleted file mode 100644
index 7109f57f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-theme.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-thumbnail.png b/src/imports/controls/doc/images/qtquickcontrols2-material-thumbnail.png
deleted file mode 100644
index c1084673..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-variant-dense.png b/src/imports/controls/doc/images/qtquickcontrols2-material-variant-dense.png
deleted file mode 100644
index 02f39b78..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-variant-dense.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-material-variant-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-material-variant-normal.png
deleted file mode 100644
index c1e366c5..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-material-variant-normal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menu-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-menu-custom.png
deleted file mode 100644
index b631d871..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menu-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menu.gif b/src/imports/controls/doc/images/qtquickcontrols2-menu.gif
deleted file mode 100644
index 93a873a3..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menu.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menu.png b/src/imports/controls/doc/images/qtquickcontrols2-menu.png
deleted file mode 100644
index b6446d39..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menu.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menubar-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-menubar-custom.png
deleted file mode 100644
index 3903e31d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menubar-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menubar.png b/src/imports/controls/doc/images/qtquickcontrols2-menubar.png
deleted file mode 100644
index 94e3676f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menubar.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menuseparator-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-menuseparator-custom.png
deleted file mode 100644
index 48785b73..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menuseparator-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-menuseparator.png b/src/imports/controls/doc/images/qtquickcontrols2-menuseparator.png
deleted file mode 100644
index beb1cfeb..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-menuseparator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-page-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-page-wireframe.png
deleted file mode 100644
index f612c243..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-page-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-pageindicator-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-pageindicator-custom.png
deleted file mode 100644
index c1f98288..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-pageindicator-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-pageindicator-delegate.png b/src/imports/controls/doc/images/qtquickcontrols2-pageindicator-delegate.png
deleted file mode 100644
index a1e9a8cd..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-pageindicator-delegate.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-pageindicator.png b/src/imports/controls/doc/images/qtquickcontrols2-pageindicator.png
deleted file mode 100644
index 872012d0..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-pageindicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-pane-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-pane-custom.png
deleted file mode 100644
index 4c24f426..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-pane-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-pane.png b/src/imports/controls/doc/images/qtquickcontrols2-pane.png
deleted file mode 100644
index b34e9488..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-pane.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-popup-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-popup-custom.png
deleted file mode 100644
index aa07d53a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-popup-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-popup-settings.png b/src/imports/controls/doc/images/qtquickcontrols2-popup-settings.png
deleted file mode 100644
index 787de5d4..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-popup-settings.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-popup-transformorigin.png b/src/imports/controls/doc/images/qtquickcontrols2-popup-transformorigin.png
deleted file mode 100644
index 4af320fb..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-popup-transformorigin.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-popup.png b/src/imports/controls/doc/images/qtquickcontrols2-popup.png
deleted file mode 100644
index 01d65709..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-popup.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-popup.svg b/src/imports/controls/doc/images/qtquickcontrols2-popup.svg
deleted file mode 100644
index e39f3dce..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-popup.svg
+++ /dev/null
@@ -1,712 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="640"
- height="420"
- viewBox="0 0 639.99997 419.99999"
- id="svg2"
- version="1.1"
- inkscape:version="0.92.3 (2405546, 2018-03-11)"
- sodipodi:docname="qtquickcontrols2-control.svg"
- inkscape:export-filename="/home/jpnurmi/Projects/qt-dev/qtquickcontrols2/src/imports/controls/doc/images/qtquickcontrols2-control.png"
- inkscape:export-xdpi="192"
- inkscape:export-ydpi="192">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4191"
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="matrix(0.4,0,0,0.4,4,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4212"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- transform="scale(-0.6)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-3"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-9"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-0"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-5"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-9-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-2-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-1-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-2-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-8"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-96"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-4"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-9-6-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-2-2-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-1-1-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-2-7-8"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6-9"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2-6"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8-4"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9-8"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-1-7"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4318-8-9"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-96-7"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- id="path4327-4-4"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="TriangleInL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleInL-2-5-6-9-1"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4318-4-7-2-6-7"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(-0.8)" />
- </marker>
- <marker
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refY="0"
- refX="0"
- id="TriangleOutL-9-4-8-4-0"
- style="overflow:visible"
- inkscape:isstock="true">
- <path
- inkscape:connector-curvature="0"
- id="path4327-1-1-9-8-6"
- d="M 5.77,0 -2.88,5 V -5 Z"
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.00000003pt;stroke-opacity:1"
- transform="scale(0.8)" />
- </marker>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.8284271"
- inkscape:cx="328.65009"
- inkscape:cy="205.42326"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="3840"
- inkscape:window-height="2031"
- inkscape:window-x="0"
- inkscape:window-y="55"
- inkscape:window-maximized="1"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- units="px" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(91.482322,-192.9581)">
- <rect
- style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.05102265;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect4136"
- width="518.94897"
- height="298.94897"
- x="-30.956812"
- y="253.48361" />
- <rect
- style="fill:#ffd5d5;fill-opacity:1;stroke:none;stroke-width:0.83021182;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect4136-3"
- width="440"
- height="220"
- x="8.5176783"
- y="292.9581" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(1.1690183,0,0,1.1690183,55.80022,-171.31953)"><flowRegion
- id="flowRegion4140"
- style="fill:#ff2a2a"><rect
- id="rect4142"
- width="129.78784"
- height="31.668232"
- x="-34.519978"
- y="400.22751"
- style="font-size:15.41801071px;fill:#ff2a2a" /></flowRegion><flowPara
- id="flowPara4144"
- style="font-size:20.55734825px;line-height:1.25;fill:#ff2a2a">Background</flowPara><flowPara
- id="flowPara4146"
- style="font-size:20.55734825px;line-height:1.25;fill:#ff2a2a"> </flowPara></flowRoot> <rect
- style="fill:#d7e3f4;fill-opacity:1;stroke:none;stroke-width:22.32431984;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.58381503"
- id="rect4148"
- width="360"
- height="140"
- x="48.517677"
- y="332.95813" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,124.5726,101.29422)"><flowRegion
- id="flowRegion4140-6"
- style="fill:#0055d4"><rect
- id="rect4142-6"
- width="334.36047"
- height="80.812172"
- x="42.426407"
- y="481.62601"
- style="font-size:40px;fill:#0055d4" /></flowRegion><flowPara
- id="flowPara4146-6"
- style="font-size:40px;line-height:1.25;fill:#0055d4">Content item</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-1"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,187.75902,280.21488)"><flowRegion
- id="flowRegion4140-6-9"><rect
- id="rect4142-6-0"
- width="270.72089"
- height="68.690361"
- x="42.426407"
- y="481.62601"
- style="font-size:25px;fill:#000000" /></flowRegion><flowPara
- id="flowPara4146-6-2"
- style="font-size:17.5px;line-height:1.25">Width</flowPara></flowRoot> <path
- style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.93053311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-3);marker-end:url(#TriangleOutL-0)"
- d="M -26.831023,563.52033 H 483.32947"
- id="path4179-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-9);marker-end:url(#TriangleOutL-1)"
- d="M -41.482322,547.33858 V 258.57762"
- id="path4179-9"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-1-7"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-110.00353,107.19582)"><flowRegion
- id="flowRegion4140-6-9-7"><rect
- id="rect4142-6-0-5"
- width="270.72089"
- height="68.690361"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#000000" /></flowRegion><flowPara
- id="flowPara4146-6-2-9"
- style="font-size:17.5px;line-height:1.25;fill:#000000">Height</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-3"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,138.50125,-84.786365)"><flowRegion
- id="flowRegion4140-6-67"><rect
- id="rect4142-6-5"
- width="334.36047"
- height="80.812172"
- x="42.426407"
- y="481.62601"
- style="font-size:60px;fill:#000000" /></flowRegion><flowPara
- id="flowPara4146-6-3"
- style="font-size:60px;line-height:1.25">Control</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-18.782253,209.93493)"><flowRegion
- id="flowRegion4140-6-6-4-6"
- style="text-align:center;text-anchor:middle;fill:#0055d4"><rect
- id="rect4142-6-1-4-2"
- width="252.53812"
- height="61.619293"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;text-align:center;text-anchor:middle;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara10048-9">Bottom</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara5290">padding</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,324.82398,-9.0464154)"><flowRegion
- id="flowRegion4140-6-6-4-6-2"
- style="fill:#0055d4"><rect
- id="rect4142-6-1-4-2-7"
- width="71.826065"
- height="43.785866"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara10048-9-0">Top</flowPara><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#0055d4"
- id="flowPara4830">padding</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,398.1404,59.190638)"><flowRegion
- id="flowRegion4140-6-6-4-6-3"
- style="fill:#0055d4"><rect
- id="rect4142-6-1-4-2-6"
- width="81.109558"
- height="93.762154"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#0055d4"
- id="flowPara4386">Right padding</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9-2"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0055d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-40.826553,147.13311)"><flowRegion
- id="flowRegion4140-6-6-4-6-3-5"
- style="fill:#0055d4"><rect
- id="rect4142-6-1-4-2-6-4"
- width="81.109558"
- height="93.762154"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#0055d4" /></flowRegion><flowPara
- style="font-size:17.02554321px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#0055d4"
- id="flowPara4386-0">Left padding</flowPara></flowRoot> <path
- style="fill:#ff2a2a;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87824047;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-9-6);marker-end:url(#TriangleOutL-1-1)"
- d="M 12.916178,287.96278 V 258.98852"
- id="path4179-9-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87323481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5);marker-end:url(#TriangleOutL-9-4)"
- d="M -25.470947,298.58445 H 3.5629489"
- id="path4179-7-8"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-5"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-12.104603,-28.000512)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-9"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-7-7"
- width="66.476036"
- height="55.080368"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#ff2a2a"
- id="flowPara11237">Top inset</flowPara></flowRoot> <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9-2-3"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,-59.558586,16.047754)"><flowRegion
- id="flowRegion4140-6-6-4-6-3-5-8"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-6-4-8"
- width="75.759529"
- height="93.167732"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.02554321px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ff2a2a"
- id="flowPara4386-0-3">Left inset</flowPara></flowRoot> <path
- style="fill:#0055d4;fill-rule:evenodd;stroke:#0055d4;stroke-width:0.97500122;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-1);marker-end:url(#TriangleOutL-96)"
- d="M 402.28756,327.38769 V 259.50991"
- id="path4179-3"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ff2a2a;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87794411;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-9-6-4);marker-end:url(#TriangleOutL-1-1-6)"
- d="M 444.22783,546.94146 V 517.98675"
- id="path4179-9-8-9"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-1-5-0"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,364.36984,230.98794)"><flowRegion
- id="flowRegion4140-6-6-4-6-2-9-6"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-7-7-8"
- width="91.442841"
- height="44.974762"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.5px;line-height:1.25;text-align:center;text-anchor:middle;fill:#ff2a2a"
- id="flowPara11237-7">Bottom inset</flowPara></flowRoot> <path
- style="fill:#ff2a2a;fill-opacity:1;fill-rule:evenodd;stroke:#ff2a2a;stroke-width:0.87314719;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6);marker-end:url(#TriangleOutL-9-4-8)"
- d="m 453.47561,508.6218 h 29.02808"
- id="path4179-7-8-6"
- inkscape:connector-curvature="0" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot4138-6-2-7-5-9-2-3-0"
- style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.6007979,0,0,0.6007979,419.24022,186.32002)"><flowRegion
- id="flowRegion4140-6-6-4-6-3-5-8-7"
- style="fill:#ff2a2a"><rect
- id="rect4142-6-1-4-2-6-4-8-0"
- width="75.759529"
- height="93.167732"
- x="42.426407"
- y="481.62601"
- style="font-size:17.5px;fill:#ff2a2a" /></flowRegion><flowPara
- style="font-size:17.02554321px;line-height:125%;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ff2a2a"
- id="flowPara3807">Right inset</flowPara></flowRoot> <path
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.05938387;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6-9);marker-end:url(#TriangleOutL-9-4-8-4)"
- d="m 414.52522,338.31524 h 66.93934"
- id="path4179-7-8-6-0"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#0055d4;fill-rule:evenodd;stroke:#0055d4;stroke-width:0.97513783;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-1-7);marker-end:url(#TriangleOutL-96-7)"
- d="M 54.589106,546.37854 V 478.48175"
- id="path4179-3-9"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#0055d4;fill-opacity:1;fill-rule:evenodd;stroke:#0055d4;stroke-width:1.05900466;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#TriangleInL-2-5-6-9-1);marker-end:url(#TriangleOutL-9-4-8-4-0)"
- d="M -24.417773,466.88667 H 42.473651"
- id="path4179-7-8-6-0-0"
- inkscape:connector-curvature="0" />
- </g>
-</svg>
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-progressbar-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-progressbar-custom.png
deleted file mode 100644
index c018e5e7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-progressbar-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-progressbar-indeterminate.gif b/src/imports/controls/doc/images/qtquickcontrols2-progressbar-indeterminate.gif
deleted file mode 100644
index d6756d16..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-progressbar-indeterminate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-progressbar.gif b/src/imports/controls/doc/images/qtquickcontrols2-progressbar.gif
deleted file mode 100644
index 49af5f45..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-progressbar.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-radiobutton-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-radiobutton-custom.png
deleted file mode 100644
index 15835a3c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-radiobutton-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-radiobutton.gif b/src/imports/controls/doc/images/qtquickcontrols2-radiobutton.gif
deleted file mode 100644
index 4cbf3ed9..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-radiobutton.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-radiodelegate-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-radiodelegate-custom.png
deleted file mode 100644
index 46245323..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-radiodelegate-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-radiodelegate.gif b/src/imports/controls/doc/images/qtquickcontrols2-radiodelegate.gif
deleted file mode 100644
index b6afd6fe..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-radiodelegate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-rangeslider-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-rangeslider-custom.png
deleted file mode 100644
index 8508a73d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-rangeslider-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-rangeslider.gif b/src/imports/controls/doc/images/qtquickcontrols2-rangeslider.gif
deleted file mode 100644
index db565b0a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-rangeslider.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-roundbutton.png b/src/imports/controls/doc/images/qtquickcontrols2-roundbutton.png
deleted file mode 100644
index 9f1d44fc..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-roundbutton.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-custom.png
deleted file mode 100644
index f986f674..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-non-attached.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-non-attached.png
deleted file mode 100644
index 8817ad5c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-non-attached.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-nosnap.gif b/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-nosnap.gif
deleted file mode 100644
index f61ac5b4..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-nosnap.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snapalways.gif b/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snapalways.gif
deleted file mode 100644
index 438d4a33..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snapalways.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snaponrelease.gif b/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snaponrelease.gif
deleted file mode 100644
index c2fa67b0..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar-snaponrelease.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar.gif b/src/imports/controls/doc/images/qtquickcontrols2-scrollbar.gif
deleted file mode 100644
index ed3ab607..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollbar.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-custom.png
deleted file mode 100644
index 75963dc1..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-non-attached.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-non-attached.png
deleted file mode 100644
index 758e0451..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator-non-attached.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator.gif b/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator.gif
deleted file mode 100644
index 73007820..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollindicator.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollview-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollview-custom.png
deleted file mode 100644
index 9c2790c9..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollview-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollview-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollview-wireframe.png
deleted file mode 100644
index afdc681d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollview-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-scrollview.png b/src/imports/controls/doc/images/qtquickcontrols2-scrollview.png
deleted file mode 100644
index 2a1807ee..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-scrollview.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-slider-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-slider-custom.png
deleted file mode 100644
index fc4c89d5..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-slider-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-slider-handle.png b/src/imports/controls/doc/images/qtquickcontrols2-slider-handle.png
deleted file mode 100644
index 093f4a96..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-slider-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-slider-nosnap.gif b/src/imports/controls/doc/images/qtquickcontrols2-slider-nosnap.gif
deleted file mode 100644
index ab233c5b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-slider-nosnap.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-slider-snapalways.gif b/src/imports/controls/doc/images/qtquickcontrols2-slider-snapalways.gif
deleted file mode 100644
index 8eb4011f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-slider-snapalways.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-slider-snaponrelease.gif b/src/imports/controls/doc/images/qtquickcontrols2-slider-snaponrelease.gif
deleted file mode 100644
index f3b1d5c7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-slider-snaponrelease.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-slider.gif b/src/imports/controls/doc/images/qtquickcontrols2-slider.gif
deleted file mode 100644
index 2ee56334..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-slider.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-spinbox-custom.png
deleted file mode 100644
index 5aeee0c4..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-double.png b/src/imports/controls/doc/images/qtquickcontrols2-spinbox-double.png
deleted file mode 100644
index cdece17b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-double.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-down.png b/src/imports/controls/doc/images/qtquickcontrols2-spinbox-down.png
deleted file mode 100644
index 1f88f98d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-down.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-textual.png b/src/imports/controls/doc/images/qtquickcontrols2-spinbox-textual.png
deleted file mode 100644
index 922e59b7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-textual.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-up.png b/src/imports/controls/doc/images/qtquickcontrols2-spinbox-up.png
deleted file mode 100644
index 7d254971..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-spinbox-up.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-spinbox.png b/src/imports/controls/doc/images/qtquickcontrols2-spinbox.png
deleted file mode 100644
index 6aa341bb..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-spinbox.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-splitview-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-splitview-custom.png
deleted file mode 100644
index 7afd3ff8..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-splitview-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-stackview-custom.png
deleted file mode 100644
index 8890f14d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-pop.gif b/src/imports/controls/doc/images/qtquickcontrols2-stackview-pop.gif
deleted file mode 100644
index 1971c2e0..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-pop.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-push.gif b/src/imports/controls/doc/images/qtquickcontrols2-stackview-push.gif
deleted file mode 100644
index 0218cc0f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-push.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-replace.gif b/src/imports/controls/doc/images/qtquickcontrols2-stackview-replace.gif
deleted file mode 100644
index 63a6b2b4..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-replace.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-unwind.gif b/src/imports/controls/doc/images/qtquickcontrols2-stackview-unwind.gif
deleted file mode 100644
index 28c051d8..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-unwind.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-visible.png b/src/imports/controls/doc/images/qtquickcontrols2-stackview-visible.png
deleted file mode 100644
index 9d21ce9c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-visible.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-stackview-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-stackview-wireframe.png
deleted file mode 100644
index 65704c25..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-stackview-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-styles.png b/src/imports/controls/doc/images/qtquickcontrols2-styles.png
deleted file mode 100644
index 39626e50..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-styles.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-behind.gif b/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-behind.gif
deleted file mode 100644
index 97d6a592..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-behind.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-custom.png
deleted file mode 100644
index 10c60ac3..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-leading-trailing.gif b/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-leading-trailing.gif
deleted file mode 100644
index 0641bd14..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate-leading-trailing.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate.gif b/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate.gif
deleted file mode 100644
index 86c380b7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipedelegate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipeview-indicator.png b/src/imports/controls/doc/images/qtquickcontrols2-swipeview-indicator.png
deleted file mode 100644
index 91786964..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipeview-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipeview-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-swipeview-wireframe.png
deleted file mode 100644
index 7e387c2d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipeview-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-swipeview.gif b/src/imports/controls/doc/images/qtquickcontrols2-swipeview.gif
deleted file mode 100644
index 4af26c10..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-swipeview.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-checked.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-checked.png
deleted file mode 100644
index f4b0320c..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-custom.png
deleted file mode 100644
index 737d3a09..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch.gif b/src/imports/controls/doc/images/qtquickcontrols2-switch.gif
deleted file mode 100644
index 5f956304..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch.png b/src/imports/controls/doc/images/qtquickcontrols2-switch.png
deleted file mode 100644
index b9d0812e..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switchdelegate-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-switchdelegate-custom.png
deleted file mode 100644
index 3a77a480..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switchdelegate-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switchdelegate.gif b/src/imports/controls/doc/images/qtquickcontrols2-switchdelegate.gif
deleted file mode 100644
index 950b1073..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switchdelegate.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-tabbar-custom.png
deleted file mode 100644
index cadf3079..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-explicit.png b/src/imports/controls/doc/images/qtquickcontrols2-tabbar-explicit.png
deleted file mode 100644
index cdfee3d0..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-explicit.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-flickable.png b/src/imports/controls/doc/images/qtquickcontrols2-tabbar-flickable.png
deleted file mode 100644
index ede59233..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-flickable.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-wireframe.png b/src/imports/controls/doc/images/qtquickcontrols2-tabbar-wireframe.png
deleted file mode 100644
index 443f6757..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbar-wireframe.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbar.gif b/src/imports/controls/doc/images/qtquickcontrols2-tabbar.gif
deleted file mode 100644
index 31db1f9e..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbar.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbar.png b/src/imports/controls/doc/images/qtquickcontrols2-tabbar.png
deleted file mode 100644
index 6993c8bd..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbar.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tabbutton.png b/src/imports/controls/doc/images/qtquickcontrols2-tabbutton.png
deleted file mode 100644
index 3cdce15e..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tabbutton.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textarea-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-textarea-custom.png
deleted file mode 100644
index 59777574..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textarea-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textarea-scrollable.png b/src/imports/controls/doc/images/qtquickcontrols2-textarea-scrollable.png
deleted file mode 100644
index 39578f71..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textarea-scrollable.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textarea.png b/src/imports/controls/doc/images/qtquickcontrols2-textarea.png
deleted file mode 100644
index 924f6681..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textarea.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textfield-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-textfield-custom.png
deleted file mode 100644
index a9f40c07..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textfield-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textfield-disabled.png b/src/imports/controls/doc/images/qtquickcontrols2-textfield-disabled.png
deleted file mode 100644
index a027c72a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textfield-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textfield-focused.png b/src/imports/controls/doc/images/qtquickcontrols2-textfield-focused.png
deleted file mode 100644
index a63d3c85..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textfield-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textfield-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-textfield-normal.png
deleted file mode 100644
index 25047227..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textfield-normal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-textfield.png b/src/imports/controls/doc/images/qtquickcontrols2-textfield.png
deleted file mode 100644
index 9ea62acb..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-textfield.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-toolbar-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-toolbar-custom.png
deleted file mode 100644
index 374cc836..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-toolbar-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-toolbar.png b/src/imports/controls/doc/images/qtquickcontrols2-toolbar.png
deleted file mode 100644
index 1fe353cc..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-toolbar.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-toolbutton-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-toolbutton-custom.png
deleted file mode 100644
index 4bd209aa..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-toolbutton-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-toolbutton.png b/src/imports/controls/doc/images/qtquickcontrols2-toolbutton.png
deleted file mode 100644
index b350cdba..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-toolbutton.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-toolseparator-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-toolseparator-custom.png
deleted file mode 100644
index 4f423154..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-toolseparator-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-toolseparator.png b/src/imports/controls/doc/images/qtquickcontrols2-toolseparator.png
deleted file mode 100644
index 253c429b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-toolseparator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-delay.png b/src/imports/controls/doc/images/qtquickcontrols2-tooltip-delay.png
deleted file mode 100644
index eb9499fd..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-delay.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-hover.png b/src/imports/controls/doc/images/qtquickcontrols2-tooltip-hover.png
deleted file mode 100644
index 64a79839..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-hover.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-pressandhold.png b/src/imports/controls/doc/images/qtquickcontrols2-tooltip-pressandhold.png
deleted file mode 100644
index 64a79839..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-pressandhold.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-slider.png b/src/imports/controls/doc/images/qtquickcontrols2-tooltip-slider.png
deleted file mode 100644
index 440f6eba..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tooltip-slider.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tooltip.png b/src/imports/controls/doc/images/qtquickcontrols2-tooltip.png
deleted file mode 100644
index 902d6ee5..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tooltip.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tumbler-custom.png b/src/imports/controls/doc/images/qtquickcontrols2-tumbler-custom.png
deleted file mode 100644
index 0ebb9edf..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tumbler-custom.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tumbler-delegate.png b/src/imports/controls/doc/images/qtquickcontrols2-tumbler-delegate.png
deleted file mode 100644
index 5213bcd8..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tumbler-delegate.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tumbler-wrap.gif b/src/imports/controls/doc/images/qtquickcontrols2-tumbler-wrap.gif
deleted file mode 100644
index 8f59eedc..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tumbler-wrap.gif
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-tumbler.png b/src/imports/controls/doc/images/qtquickcontrols2-tumbler.png
deleted file mode 100644
index e22330a6..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-tumbler.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-accent.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-accent.png
deleted file mode 100644
index be1a4a89..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-accent.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-attributes.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-attributes.png
deleted file mode 100644
index 96e9abeb..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-attributes.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-background.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-background.png
deleted file mode 100644
index c91ab14d..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-button.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-button.png
deleted file mode 100644
index 6c764ec9..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-button.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-dark.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-dark.png
deleted file mode 100644
index 2d6937c7..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-dark.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-foreground.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-foreground.png
deleted file mode 100644
index e06b573b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-foreground.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-light.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-light.png
deleted file mode 100644
index a6da6f7f..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-light.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-theme.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-theme.png
deleted file mode 100644
index f299b853..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-theme.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-thumbnail.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-thumbnail.png
deleted file mode 100644
index a189ed72..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-universal-violet.png b/src/imports/controls/doc/images/qtquickcontrols2-universal-violet.png
deleted file mode 100644
index ec459457..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-universal-violet.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/manifest-meta.qdocconf b/src/imports/controls/doc/manifest-meta.qdocconf
deleted file mode 100644
index 3d39e0a1..00000000
--- a/src/imports/controls/doc/manifest-meta.qdocconf
+++ /dev/null
@@ -1,35 +0,0 @@
-# Additional meta information (attributes for matched entries, as well as tags)
-# to be added to manifest.xml files.
-#
-# manifestmeta.filters = <filter1>,<filter2>,...
-#
-# manifestmeta.<filter>.names = <Module1>/<name1>,<Module2>/<name2>,..
-# manifestmeta.<filter>.attributes = <attribute1:value1>,<attribute2:value2>,..
-# manifestmeta.<filter>.tags = <tag1>,<tag2>,..
-#
-# <filter>.names specify all the module/name combinations to apply the
-# attributes/tags to. You can use simple wildcard matching by appending
-# '*' at the end of name.
-#
-# Note: You cannot use operators (+, =, -) in the names.
-#
-# Examples: add a 'isHighlighted' attribute for two 'Analog Clock' examples,
-# add a 'database' tag for QtSql examples, and a 'qt5' tag for all examples
-#
-# manifestmeta.filters = highlighted sql global
-#
-# manifestmeta.highlighted.names = "QtGui/Analog Clock Window Example" \
-# "QtWidgets/Analog Clock Example"
-# manifestmeta.highlighted.attributes = isHighlighted:true
-#
-# manifestmeta.sql.names = "QtSql/*"
-# manifestmeta.sql.tags = database
-#
-# manifestmeta.global.names = *
-# manifestmeta.global.tags = qt5
-
-manifestmeta.highlighted.names = "QtQuickControls2/Qt Quick Controls 2 - Gallery" \
- "QtQuickControls2/Qt Quick Controls 2 - Wearable Demo" \
- "QtQuickControls2/Qt Quick Controls 2 - Text Editor" \
- "QtQuickControls2/Qt Quick Controls 2 - Contact List" \
- "QtQuickControls2/Qt Quick Controls 2 - Side Panel"
diff --git a/src/imports/controls/doc/qtquickcontrols.qdocconf b/src/imports/controls/doc/qtquickcontrols.qdocconf
deleted file mode 100644
index f6798f1f..00000000
--- a/src/imports/controls/doc/qtquickcontrols.qdocconf
+++ /dev/null
@@ -1,104 +0,0 @@
-include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
-include($QT_INSTALL_DOCS/config/exampleurl-qtquickcontrols2.qdocconf)
-include(manifest-meta.qdocconf)
-
-moduleheader = QtQuickControls2
-
-project = QtQuickControls
-description = Qt Quick Controls Reference Documentation
-version = $QT_VERSION
-
-qhp.projects = QtQuickControls
-
-qhp.QtQuickControls.file = qtquickcontrols.qhp
-qhp.QtQuickControls.namespace = org.qt-project.qtquickcontrols.$QT_VERSION_TAG
-qhp.QtQuickControls.virtualFolder = qtquickcontrols
-qhp.QtQuickControls.indexTitle = Qt Quick Controls
-qhp.QtQuickControls.indexRoot =
-
-qhp.QtQuickControls.filterAttributes = qtquickcontrols $QT_VERSION qtrefdoc
-qhp.QtQuickControls.customFilters.Qt.name = QtQuickControls $QT_VERSION
-qhp.QtQuickControls.customFilters.Qt.filterAttributes = qtquickcontrols $QT_VERSION
-
-qhp.QtQuickControls.subprojects = qmltypes classes examples
-qhp.QtQuickControls.subprojects.qmltypes.title = QML Types
-qhp.QtQuickControls.subprojects.qmltypes.indexTitle = Qt Quick Controls QML Types
-qhp.QtQuickControls.subprojects.qmltypes.selectors = qmlclass
-qhp.QtQuickControls.subprojects.qmltypes.sortPages = true
-qhp.QtQuickControls.subprojects.classes.title = C++ Classes
-qhp.QtQuickControls.subprojects.classes.indexTitle = Qt Quick Controls C++ Classes
-qhp.QtQuickControls.subprojects.classes.selectors = class fake:headerfile
-qhp.QtQuickControls.subprojects.classes.sortPages = true
-qhp.QtQuickControls.subprojects.examples.title = Examples
-qhp.QtQuickControls.subprojects.examples.indexTitle = Qt Quick Controls Examples
-qhp.QtQuickControls.subprojects.examples.selectors = fake:example
-
-depends = qtcore qtgui qtdoc qtqml qtquick qtquickdialogs qtquickcontrols1 qtquickextras qmake qtsql qtwidgets qtlabscalendar qtlabsplatform qtgraphicaleffects
-
-# Specify the install path under QT_INSTALL_EXAMPLES
-# Note: paths passed to \example command must contain the parent directory, e.g.
-# \example controls/tabs
-exampledirs += ../../../../examples/quickcontrols2 \
- ../../../quicktemplates2 \
- snippets
-
-examples.fileextensions += "*.conf"
-
-examplesinstallpath = quickcontrols2
-
-headerdirs += ../../../quicktemplates2 \
- ../../../quickcontrols2
-
-sourcedirs += ../../../quicktemplates2 \
- ../../../quickcontrols2 \
- ../../templates/doc/src \
- src
-
-# Exclude .qml files from the doc build to prevent conflicts with .qml files
-# in style-specific directories; all types are documented in .cpp/.qdoc files
-sources.fileextensions = "*.c++ *.cc *.cpp *.cxx *.mm *.qdoc"
-
-imagedirs += images \
- ..
-
-navigation.landingpage = "Qt Quick Controls"
-navigation.qmltypespage = "Qt Quick Controls QML Types"
-navigation.cppclassespage = "Qt Quick Controls C++ Classes"
-
-tagfile = qtquickcontrols.tags
-
-# \styleimport {QtQuick.Controls.Universal 2.0}
-macro.styleimport.HTML = "<table class=\"alignedsummary\"><tbody><tr><td class=\"memItemLeft rightAlign topAlign\"> Import Statement:</td><td class=\"memItemRight bottomAlign\"> import \1</td></tr><tr><td class=\"memItemLeft rightAlign topAlign\"> Since:</td><td class=\"memItemRight bottomAlign\"> \2</td></tr></tbody></table>"
-
-# \styleproperty {Universal.accent} {enumeration} {html-target-id}
-# \target html-target-id
-# This property holds ...
-# (empty line)
-# \endstyleproperty
-macro.styleproperty.HTML = "<div class=\"qmlproto\"><table class=\"qmlname\"><tbody><tr valign=\"top\" class=\"odd\" id=\"\3\"><td class=\"tblQmlPropNode\"><p><span class=\"name\">\1</span> : <span class=\"type\">\2</span></p></td></tr></tbody></table></div>"
-macro.endstyleproperty = "\\br"
-
-# \stylemethod {returntype} {methodname} {argtype} {argname} {html-target-id}
-# \target html-target-id
-# This property holds ...
-# (empty line)
-# \endstylemethod
-macro.stylemethod.HTML = "<div class=\"qmlproto\"><table class=\"qmlname\"><tbody><tr valign=\"top\" class=\"odd\" id=\"\5\"><td class=\"tblQmlFuncNode\"><p><span class=\"type\">\1</span> <span class=\"name\">\2</span>(<span class="type">\3</span> <i>\4</i>)</p></td></tr></tbody></table></div>"
-macro.endstylemethod = "\\br"
-
-# \stylemethod2 {returntype} {methodname} {arg1type} {arg1name} {arg2type} {arg2name} {html-target-id}
-# \target html-target-id
-# This method returns ...
-# (empty line)
-# \endstylemethod2
-macro.stylemethod2.HTML = "<div class=\"qmlproto\"><table class=\"qmlname\"><tbody><tr valign=\"top\" class=\"odd\" id=\"\7\"><td class=\"tblQmlFuncNode\"><p><span class=\"type\">\1</span> <span class=\"name\">\2</span>(<span class="type">\3</span> <i>\4</i>, <span class="type">\5</span> <i>\6</i>)</p></td></tr></tbody></table></div>"
-macro.endstylemethod2 = "\\br"
-
-# \stylecolor {#6A00FF} {(default)}
-macro.stylecolor.HTML = "<div style=\"padding:10px;color:#fff;background:\1;\">\1 \2</div>"
-
-macro.nbsp.HTML = "&nbsp;"
-
-#Add output suffix to the html filenames
-outputsuffixes = QML
-outputsuffixes.QML = 2
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-action.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-action.qml
deleted file mode 100644
index 11c7e802..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-action.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- //! [action]
- Action {
- id: copyAction
- text: qsTr("&Copy")
- icon.name: "edit-copy"
- shortcut: StandardKey.Copy
- onTriggered: window.activeFocusItem.copy()
- }
- //! [action]
-
- //! [toolbutton]
- ToolButton {
- id: toolButton
- action: copyAction
- }
- //! [toolbutton]
-
- //! [menuitem]
- MenuItem {
- id: menuItem
- action: copyAction
- text: qsTr("&Copy selected Text")
- }
- //! [menuitem]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-busyindicator-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-busyindicator-custom.qml
deleted file mode 100644
index 93ba9c44..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-busyindicator-custom.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-BusyIndicator {
- id: control
-
- contentItem: Item {
- implicitWidth: 64
- implicitHeight: 64
-
- Item {
- id: item
- x: parent.width / 2 - 32
- y: parent.height / 2 - 32
- width: 64
- height: 64
- opacity: control.running ? 1 : 0
-
- Behavior on opacity {
- OpacityAnimator {
- duration: 250
- }
- }
-
- RotationAnimator {
- target: item
- running: control.visible && control.running
- from: 0
- to: 360
- loops: Animation.Infinite
- duration: 1250
- }
-
- Repeater {
- id: repeater
- model: 6
-
- Rectangle {
- x: item.width / 2 - width / 2
- y: item.height / 2 - height / 2
- implicitWidth: 10
- implicitHeight: 10
- radius: 5
- color: "#21be2b"
- transform: [
- Translate {
- y: -Math.min(item.width, item.height) * 0.5 + 5
- },
- Rotation {
- angle: index / repeater.count * 360
- origin.x: 5
- origin.y: 5
- }
- ]
- }
- }
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-button-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-button-custom.qml
deleted file mode 100644
index 3145a6ef..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-button-custom.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Button {
- id: control
- text: qsTr("Button")
-
- contentItem: Text {
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- opacity: enabled ? 1 : 0.3
- border.color: control.down ? "#17a81a" : "#21be2b"
- border.width: 1
- radius: 2
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-button-icononly.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-button-icononly.qml
deleted file mode 100644
index f6559376..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-button-icononly.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Button {
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png"
- display: Button.IconOnly
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-button-textbesideicon.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-button-textbesideicon.qml
deleted file mode 100644
index bc99bba7..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-button-textbesideicon.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Button {
- text: "Button"
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png"
- display: Button.TextBesideIcon
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-button-textonly.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-button-textonly.qml
deleted file mode 100644
index 1ff1f0a8..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-button-textonly.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Button {
- text: "Button"
- display: Button.TextOnly
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml
deleted file mode 100644
index 806655a3..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-CheckBox {
- id: control
- text: qsTr("CheckBox")
- checked: true
-
- indicator: Rectangle {
- implicitWidth: 26
- implicitHeight: 26
- x: control.leftPadding
- y: parent.height / 2 - height / 2
- radius: 3
- border.color: control.down ? "#17a81a" : "#21be2b"
-
- Rectangle {
- width: 14
- height: 14
- x: 6
- y: 6
- radius: 2
- color: control.down ? "#17a81a" : "#21be2b"
- visible: control.checked
- }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- verticalAlignment: Text.AlignVCenter
- leftPadding: control.indicator.width + control.spacing
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-group.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-group.qml
deleted file mode 100644
index a32e9f5f..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-group.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Column {
- ButtonGroup {
- id: childGroup
- exclusive: false
- checkState: parentBox.checkState
- }
-
- CheckBox {
- id: parentBox
- text: qsTr("Parent")
- checkState: childGroup.checkState
- }
-
- CheckBox {
- checked: true
- text: qsTr("Child 1")
- leftPadding: indicator.width
- ButtonGroup.group: childGroup
- }
-
- CheckBox {
- text: qsTr("Child 2")
- leftPadding: indicator.width
- ButtonGroup.group: childGroup
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml
deleted file mode 100644
index b8fbbf69..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-CheckDelegate {
- id: control
- text: qsTr("CheckDelegate")
- checked: true
-
- contentItem: Text {
- rightPadding: control.indicator.width + control.spacing
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- indicator: Rectangle {
- implicitWidth: 26
- implicitHeight: 26
- x: control.width - width - control.rightPadding
- y: control.topPadding + control.availableHeight / 2 - height / 2
- radius: 3
- color: "transparent"
- border.color: control.down ? "#17a81a" : "#21be2b"
-
- Rectangle {
- width: 14
- height: 14
- x: 6
- y: 6
- radius: 2
- color: control.down ? "#17a81a" : "#21be2b"
- visible: control.checked
- }
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted
- color: control.down ? "#bdbebf" : "#eeeeee"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-accepted.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-accepted.qml
deleted file mode 100644
index 9f2ad928..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-accepted.qml
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [combobox]
-ComboBox {
- editable: true
- model: ListModel {
- id: model
- ListElement { text: "Banana" }
- ListElement { text: "Apple" }
- ListElement { text: "Coconut" }
- }
- onAccepted: {
- if (find(editText) === -1)
- model.append({text: editText})
- }
-}
-//! [combobox]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml
deleted file mode 100644
index b902dab1..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ComboBox {
- id: control
- model: ["First", "Second", "Third"]
-
- delegate: ItemDelegate {
- width: control.width
- contentItem: Text {
- text: modelData
- color: "#21be2b"
- font: control.font
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
- highlighted: control.highlightedIndex === index
- }
-
- indicator: Canvas {
- id: canvas
- x: control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
- width: 12
- height: 8
- contextType: "2d"
-
- Connections {
- target: control
- function onPressedChanged() { canvas.requestPaint(); }
- }
-
- onPaint: {
- context.reset();
- context.moveTo(0, 0);
- context.lineTo(width, 0);
- context.lineTo(width / 2, height);
- context.closePath();
- context.fillStyle = control.pressed ? "#17a81a" : "#21be2b";
- context.fill();
- }
- }
-
- contentItem: Text {
- leftPadding: 0
- rightPadding: control.indicator.width + control.spacing
-
- text: control.displayText
- font: control.font
- color: control.pressed ? "#17a81a" : "#21be2b"
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: Rectangle {
- implicitWidth: 120
- implicitHeight: 40
- border.color: control.pressed ? "#17a81a" : "#21be2b"
- border.width: control.visualFocus ? 2 : 1
- radius: 2
- }
-
- popup: Popup {
- y: control.height - 1
- width: control.width
- implicitHeight: contentItem.implicitHeight
- padding: 1
-
- contentItem: ListView {
- clip: true
- implicitHeight: contentHeight
- model: control.popup.visible ? control.delegateModel : null
- currentIndex: control.highlightedIndex
-
- ScrollIndicator.vertical: ScrollIndicator { }
- }
-
- background: Rectangle {
- border.color: "#21be2b"
- radius: 2
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-valuerole.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-valuerole.qml
deleted file mode 100644
index 4d7ae3d3..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-valuerole.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.14
-import QtQuick.Controls 2.14
-
-//! [file]
-ApplicationWindow {
- width: 640
- height: 480
- visible: true
-
- // Used as an example of a backend - this would usually be
- // e.g. a C++ type exposed to QML.
- QtObject {
- id: backend
- property int modifier
- }
-
- ComboBox {
- textRole: "text"
- valueRole: "value"
- // When an item is selected, update the backend.
- onActivated: backend.modifier = currentValue
- // Set the initial currentIndex to the value stored in the backend.
- Component.onCompleted: currentIndex = indexOfValue(backend.modifier)
- model: [
- { value: Qt.NoModifier, text: qsTr("No modifier") },
- { value: Qt.ShiftModifier, text: qsTr("Shift") },
- { value: Qt.ControlModifier, text: qsTr("Control") }
- ]
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-delaybutton-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-delaybutton-custom.qml
deleted file mode 100644
index 4bcbaa67..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-delaybutton-custom.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-DelayButton {
- id: control
- checked: true
- text: qsTr("Delay\nButton")
-
- contentItem: Text {
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: "white"
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 100
- opacity: enabled ? 1 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- radius: size / 2
-
- readonly property real size: Math.min(control.width, control.height)
- width: size
- height: size
- anchors.centerIn: parent
-
- Canvas {
- id: canvas
- anchors.fill: parent
-
- Connections {
- target: control
- function onProgressChanged() { canvas.requestPaint(); }
- }
-
- onPaint: {
- var ctx = getContext("2d")
- ctx.clearRect(0, 0, width, height)
- ctx.strokeStyle = "white"
- ctx.lineWidth = parent.size / 20
- ctx.beginPath()
- var startAngle = Math.PI / 5 * 3
- var endAngle = startAngle + control.progress * Math.PI / 5 * 9
- ctx.arc(width / 2, height / 2, width / 2 - ctx.lineWidth / 2 - 2, startAngle, endAngle)
- ctx.stroke()
- }
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-dial-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-dial-custom.qml
deleted file mode 100644
index 0221350d..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-dial-custom.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Dial {
- id: control
- background: Rectangle {
- x: control.width / 2 - width / 2
- y: control.height / 2 - height / 2
- width: Math.max(64, Math.min(control.width, control.height))
- height: width
- color: "transparent"
- radius: width / 2
- border.color: control.pressed ? "#17a81a" : "#21be2b"
- opacity: control.enabled ? 1 : 0.3
- }
-
- handle: Rectangle {
- id: handleItem
- x: control.background.x + control.background.width / 2 - width / 2
- y: control.background.y + control.background.height / 2 - height / 2
- width: 16
- height: 16
- color: control.pressed ? "#17a81a" : "#21be2b"
- radius: 8
- antialiasing: true
- opacity: control.enabled ? 1 : 0.3
- transform: [
- Translate {
- y: -Math.min(control.background.width, control.background.height) * 0.4 + handleItem.height / 2
- },
- Rotation {
- angle: control.angle
- origin.x: handleItem.width / 2
- origin.y: handleItem.height / 2
- }
- ]
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modal.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modal.qml
deleted file mode 100644
index c8a71e5b..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modal.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: dialog.implicitWidth
- height: dialog.implicitHeight
-//! [1]
-Dialog {
- id: dialog
- modal: true
- standardButtons: Dialog.Ok
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modeless.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modeless.qml
deleted file mode 100644
index be0e6f02..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-dialog-modeless.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: dialog.implicitWidth
- height: dialog.implicitHeight
-//! [1]
-Dialog {
- id: dialog
- modal: false
- standardButtons: Dialog.Ok
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-dialog.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-dialog.qml
deleted file mode 100644
index 2953c371..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-dialog.qml
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: dialog.implicitWidth
- height: dialog.implicitHeight
-//! [1]
-Dialog {
- id: dialog
- title: "Title"
- standardButtons: Dialog.Ok | Dialog.Cancel
-
- onAccepted: console.log("Ok clicked")
- onRejected: console.log("Cancel clicked")
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox-attached.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox-attached.qml
deleted file mode 100644
index f71f91cb..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox-attached.qml
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-DialogButtonBox {
- Button {
- text: qsTr("Save")
- DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
- }
- Button {
- text: qsTr("Close")
- DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox.qml
deleted file mode 100644
index adfd8035..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-dialogbuttonbox.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-DialogButtonBox {
- standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
-
- onAccepted: console.log("Ok clicked")
- onRejected: console.log("Cancel clicked")
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-frame-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-frame-custom.qml
deleted file mode 100644
index 0e90f0aa..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-frame-custom.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Frame {
- background: Rectangle {
- color: "transparent"
- border.color: "#21be2b"
- radius: 2
- }
-
- Label {
- text: qsTr("Content goes here!")
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-frame.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-frame.qml
deleted file mode 100644
index 8f8f9c23..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-frame.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Frame {
- ColumnLayout {
- anchors.fill: parent
- CheckBox { text: qsTr("E-mail") }
- CheckBox { text: qsTr("Calendar") }
- CheckBox { text: qsTr("Contacts") }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-checkable.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-checkable.qml
deleted file mode 100644
index 5f6ee591..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-checkable.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-//! [1]
-GroupBox {
- label: CheckBox {
- id: checkBox
- checked: true
- text: qsTr("Synchronize")
- }
-
- ColumnLayout {
- anchors.fill: parent
- enabled: checkBox.checked
- CheckBox { text: qsTr("E-mail") }
- CheckBox { text: qsTr("Calendar") }
- CheckBox { text: qsTr("Contacts") }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-custom.qml
deleted file mode 100644
index 7ccb55c3..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox-custom.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-GroupBox {
- id: control
- title: qsTr("GroupBox")
-
- background: Rectangle {
- y: control.topPadding - control.bottomPadding
- width: parent.width
- height: parent.height - control.topPadding + control.bottomPadding
- color: "transparent"
- border.color: "#21be2b"
- radius: 2
- }
-
- label: Label {
- x: control.leftPadding
- width: control.availableWidth
- text: control.title
- color: "#21be2b"
- elide: Text.ElideRight
- }
-
- Label {
- text: qsTr("Content goes here!")
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox.qml
deleted file mode 100644
index 67c68cf3..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-groupbox.qml
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-//! [1]
-GroupBox {
- title: qsTr("Synchronize")
- ColumnLayout {
- anchors.fill: parent
- CheckBox { text: qsTr("E-mail") }
- CheckBox { text: qsTr("Calendar") }
- CheckBox { text: qsTr("Contacts") }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml
deleted file mode 100644
index d6ec5f78..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ItemDelegate {
- id: control
- text: qsTr("ItemDelegate")
-
- contentItem: Text {
- rightPadding: control.spacing
- text: control.text
- font: control.font
- color: control.enabled ? (control.down ? "#17a81a" : "#21be2b") : "#bdbebf"
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- opacity: enabled ? 1 : 0.3
- color: control.down ? "#dddedf" : "#eeeeee"
-
- Rectangle {
- width: parent.width
- height: 1
- color: control.down ? "#17a81a" : "#21be2b"
- anchors.bottom: parent.bottom
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate.qml
deleted file mode 100644
index 8f483ed9..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-ListView {
- width: 160
- height: 240
-
- model: Qt.fontFamilies()
-
- delegate: ItemDelegate {
- text: modelData
- width: parent.width
- onClicked: console.log("clicked:", modelData)
- }
-
- ScrollIndicator.vertical: ScrollIndicator { }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-label-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-label-custom.qml
deleted file mode 100644
index e984fc71..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-label-custom.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Label {
- text: qsTr("Label")
- color: "#21be2b"
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-label.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-label.qml
deleted file mode 100644
index fb68bb04..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-label.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Label {
- text: "Label"
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-material-accent.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-material-accent.qml
deleted file mode 100644
index 5191efce..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-material-accent.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-
-Pane {
- padding: 4
-
-//! [1]
-Button {
- text: qsTr("Button")
- highlighted: true
- Material.accent: Material.Orange
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-material-background.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-material-background.qml
deleted file mode 100644
index cdbc16cc..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-material-background.qml
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-
-Pane {
- padding: 4
-
-//! [1]
-Button {
- text: qsTr("Button")
- highlighted: true
- Material.background: Material.Teal
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-material-elevation.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-material-elevation.qml
deleted file mode 100644
index e15bc216..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-material-elevation.qml
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-
-Pane {
- contentWidth: 120
- contentHeight: 120
- padding: 10
- bottomPadding: 20
-
-//! [1]
-Pane {
- width: 120
- height: 120
-
- Material.elevation: 6
-
- Label {
- text: qsTr("I'm a card!")
- anchors.centerIn: parent
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-material-foreground.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-material-foreground.qml
deleted file mode 100644
index 003b5624..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-material-foreground.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-
-Pane {
- padding: 4
-
-//! [1]
-Button {
- text: qsTr("Button")
- Material.foreground: Material.Pink
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-material-theme.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-material-theme.qml
deleted file mode 100644
index 955290fd..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-material-theme.qml
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-
-Pane {
- padding: 10
-
-//! [1]
-Pane {
- Material.theme: Material.Dark
-
- Button {
- text: qsTr("Button")
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-material-variant.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-material-variant.qml
deleted file mode 100644
index ce8a0356..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-material-variant.qml
+++ /dev/null
@@ -1,212 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Layouts 1.12
-
-Pane {
- implicitWidth: 400
- implicitHeight: 600
- padding: 10
-
- readonly property color measurementColor: "darkorange"
- readonly property int barLeftMargin: 10
- readonly property int textTopMargin: 12
-
- Component {
- id: measurementComponent
-
- Rectangle {
- color: measurementColor
- width: 1
- height: parent.height
-
- Rectangle {
- width: 5
- height: 1
- color: measurementColor
- anchors.horizontalCenter: parent.horizontalCenter
- }
-
- Rectangle {
- width: 5
- height: 1
- color: measurementColor
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- }
-
- Text {
- x: 8
- text: parent.height
- height: parent.height
- color: measurementColor
- verticalAlignment: Text.AlignVCenter
- }
- }
- }
-
- ColumnLayout {
- anchors.fill: parent
- spacing: 20
-
- ColumnLayout {
- spacing: textTopMargin
-
- Button {
- id: button
- text: qsTr("Button")
-
- Loader {
- sourceComponent: measurementComponent
- height: parent.height
- anchors.left: parent.right
- anchors.leftMargin: barLeftMargin
- }
-
- }
- Text {
- text: "Roboto " + button.font.pixelSize
- color: measurementColor
- }
- }
-
- ColumnLayout {
- spacing: textTopMargin
-
- ItemDelegate {
- id: itemDelegate
- text: qsTr("ItemDelegate")
-
- Loader {
- sourceComponent: measurementComponent
- height: parent.height
- anchors.left: parent.right
- anchors.leftMargin: barLeftMargin
- }
-
- }
- Text {
- text: "Roboto " + itemDelegate.font.pixelSize
- color: measurementColor
- }
- }
-
- ColumnLayout {
- spacing: textTopMargin
-
- CheckDelegate {
- id: checkDelegate
- text: qsTr("CheckDelegate")
-
- Loader {
- sourceComponent: measurementComponent
- height: parent.height
- anchors.left: parent.right
- anchors.leftMargin: barLeftMargin
- }
-
- }
- Text {
- text: "Roboto " + checkDelegate.font.pixelSize
- color: measurementColor
- }
- }
-
- ColumnLayout {
- spacing: textTopMargin
-
- RadioDelegate {
- id: radioDelegate
- text: qsTr("RadioDelegate")
-
- Loader {
- sourceComponent: measurementComponent
- height: parent.height
- anchors.left: parent.right
- anchors.leftMargin: barLeftMargin
- }
-
- }
- Text {
- text: "Roboto " + radioDelegate.font.pixelSize
- color: measurementColor
- }
- }
-
- ColumnLayout {
- spacing: textTopMargin
-
- ComboBox {
- id: comboBox
- model: [ qsTr("ComboBox") ]
-
- Loader {
- sourceComponent: measurementComponent
- height: parent.height
- anchors.left: parent.right
- anchors.leftMargin: barLeftMargin
- }
-
- }
- Text {
- text: "Roboto " + comboBox.font.pixelSize
- color: measurementColor
- }
- }
-
- ColumnLayout {
- spacing: textTopMargin
-
- Item {
- implicitWidth: groupBox.implicitWidth
- implicitHeight: groupBox.implicitHeight
-
- GroupBox {
- id: groupBox
- title: qsTr("GroupBox")
- }
- Loader {
- sourceComponent: measurementComponent
- height: parent.height
- anchors.left: parent.right
- anchors.leftMargin: barLeftMargin
- }
- }
- Text {
- text: "Roboto " + groupBox.font.pixelSize
- color: measurementColor
- }
- }
-
- Item {
- Layout.fillHeight: true
- }
- }
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-menu-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-menu-custom.qml
deleted file mode 100644
index 5a702b9f..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-menu-custom.qml
+++ /dev/null
@@ -1,133 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ApplicationWindow {
- id: window
- width: menu.width
- height: menu.height
- visible: true
-
- Component.onCompleted: menu.popup(menu.itemAt(1))
-
-// Indent it like this so that the indenting in the generated doc is normal.
-Menu {
- id: menu
-
- Action { text: qsTr("Tool Bar"); checkable: true }
- Action { text: qsTr("Side Bar"); checkable: true; checked: true }
- Action { text: qsTr("Status Bar"); checkable: true; checked: true }
-
- MenuSeparator {
- contentItem: Rectangle {
- implicitWidth: 200
- implicitHeight: 1
- color: "#21be2b"
- }
- }
-
- Menu {
- title: qsTr("Advanced")
- // ...
- }
-
- topPadding: 2
- bottomPadding: 2
-
- delegate: MenuItem {
- id: menuItem
- implicitWidth: 200
- implicitHeight: 40
-
- arrow: Canvas {
- x: parent.width - width
- implicitWidth: 40
- implicitHeight: 40
- visible: menuItem.subMenu
- onPaint: {
- var ctx = getContext("2d")
- ctx.fillStyle = menuItem.highlighted ? "#ffffff" : "#21be2b"
- ctx.moveTo(15, 15)
- ctx.lineTo(width - 15, height / 2)
- ctx.lineTo(15, height - 15)
- ctx.closePath()
- ctx.fill()
- }
- }
-
- indicator: Item {
- implicitWidth: 40
- implicitHeight: 40
- Rectangle {
- width: 26
- height: 26
- anchors.centerIn: parent
- visible: menuItem.checkable
- border.color: "#21be2b"
- radius: 3
- Rectangle {
- width: 14
- height: 14
- anchors.centerIn: parent
- visible: menuItem.checked
- color: "#21be2b"
- radius: 2
- }
- }
- }
-
- contentItem: Text {
- leftPadding: menuItem.indicator.width
- rightPadding: menuItem.arrow.width
- text: menuItem.text
- font: menuItem.font
- opacity: enabled ? 1.0 : 0.3
- color: menuItem.highlighted ? "#ffffff" : "#21be2b"
- horizontalAlignment: Text.AlignLeft
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- opacity: enabled ? 1 : 0.3
- color: menuItem.highlighted ? "#21be2b" : "transparent"
- }
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- color: "#ffffff"
- border.color: "#21be2b"
- radius: 2
- }
-}
-} //! [eof]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-menubar-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-menubar-custom.qml
deleted file mode 100644
index ea27acf6..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-menubar-custom.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ApplicationWindow {
- id: window
- visible: true
- width: menuBar.implicitWidth
- height: menuBar.height
-
- Component.onCompleted: menuBar.itemAt(1).highlighted = true
-
- header:
-
-// Indent it like this so that the indenting in the generated doc is normal.
-MenuBar {
- id: menuBar
-
- Menu { title: qsTr("File") }
- Menu { title: qsTr("Edit") }
- Menu { title: qsTr("View") }
- Menu { title: qsTr("Help") }
-
- delegate: MenuBarItem {
- id: menuBarItem
-
- contentItem: Text {
- text: menuBarItem.text
- font: menuBarItem.font
- opacity: enabled ? 1.0 : 0.3
- color: menuBarItem.highlighted ? "#ffffff" : "#21be2b"
- horizontalAlignment: Text.AlignLeft
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
- opacity: enabled ? 1 : 0.3
- color: menuBarItem.highlighted ? "#21be2b" : "transparent"
- }
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
- color: "#ffffff"
-
- Rectangle {
- color: "#21be2b"
- width: parent.width
- height: 1
- anchors.bottom: parent.bottom
- }
- }
-}
-} //! [eof]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-menubar.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-menubar.qml
deleted file mode 100644
index 87371877..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-menubar.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [begin]
-ApplicationWindow {
- id: window
- width: 320
- height: 260
- visible: true
-
- //! [skipfrom]
- Component.onCompleted: {
- menuBar.itemAt(0).triggered()
- menuBar.itemAt(0).menu.itemAt(2).highlighted = true
- }
- //! [skipto]
-
- menuBar: MenuBar {
- Menu {
- title: qsTr("&File")
- Action { text: qsTr("&New...") }
- Action { text: qsTr("&Open...") }
- Action { text: qsTr("&Save") }
- Action { text: qsTr("Save &As...") }
- MenuSeparator { }
- Action { text: qsTr("&Quit") }
- }
- Menu {
- title: qsTr("&Edit")
- Action { text: qsTr("Cu&t") }
- Action { text: qsTr("&Copy") }
- Action { text: qsTr("&Paste") }
- }
- Menu {
- title: qsTr("&Help")
- Action { text: qsTr("&About") }
- }
- }
-}
-//! [end]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator-custom.qml
deleted file mode 100644
index ea2d6ae7..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator-custom.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- id: window
- width: menu.contentItem.width
- height: menu.contentItem.height
- visible: true
-
-// Indent it like this so that the indenting in the generated doc is normal.
-Menu {
- id: menu
- contentItem.parent: window
-
- MenuItem {
- text: qsTr("New...")
- }
- MenuItem {
- text: qsTr("Open...")
- }
- MenuItem {
- text: qsTr("Save")
- }
-
- MenuSeparator {
- padding: 0
- topPadding: 12
- bottomPadding: 12
- contentItem: Rectangle {
- implicitWidth: 200
- implicitHeight: 1
- color: "#1E000000"
- }
- }
-
- MenuItem {
- text: qsTr("Exit")
- }
-}
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator.qml
deleted file mode 100644
index 0712c5fa..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-menuseparator.qml
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- id: window
- width: menu.contentItem.width
- height: menu.contentItem.height
- visible: true
-
-// Indent it like this so that the indenting in the generated doc is normal.
-Menu {
- id: menu
- contentItem.parent: window
-
- MenuItem {
- text: qsTr("New...")
- }
- MenuItem {
- text: qsTr("Open...")
- }
- MenuItem {
- text: qsTr("Save")
- }
-
- MenuSeparator {}
-
- MenuItem {
- text: qsTr("Exit")
- }
-}
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modal.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modal.qml
deleted file mode 100644
index 8913e5bd..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modal.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Window 2.2
-
-Item {
- id: root
- width: 200
- height: 200
-
- Binding {
- target: popup
- property: "visible"
- value: root.Window.active
- }
-//! [1]
-Popup {
- id: popup
- width: 400
- height: 400
- modal: true
- visible: true
-
- Overlay.modal: Rectangle {
- color: "#aacfdbe7"
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modeless.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modeless.qml
deleted file mode 100644
index 96fb606f..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-overlay-modeless.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Window 2.2
-
-Item {
- id: root
- width: 200
- height: 200
-
- Binding {
- target: popup
- property: "visible"
- value: root.Window.active
- }
-//! [1]
-Popup {
- id: popup
- width: 400
- height: 400
- dim: true
- visible: true
-
- Overlay.modeless: Rectangle {
- color: "#aacfdbe7"
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-custom.qml
deleted file mode 100644
index 7f828d93..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-custom.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-PageIndicator {
- id: control
- count: 5
- currentIndex: 2
-
- delegate: Rectangle {
- implicitWidth: 8
- implicitHeight: 8
-
- radius: width / 2
- color: "#21be2b"
-
- opacity: index === control.currentIndex ? 0.95 : pressed ? 0.7 : 0.45
-
- Behavior on opacity {
- OpacityAnimator {
- duration: 100
- }
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-interactive.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-interactive.qml
deleted file mode 100644
index 0a40c8b0..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator-interactive.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick.Controls 2.12
-
-Pane {
-//! [1]
-SwipeView {
- id: view
- currentIndex: pageIndicator.currentIndex
- anchors.fill: parent
-
- Page {
- title: qsTr("Home")
- }
- Page {
- title: qsTr("Discover")
- }
- Page {
- title: qsTr("Activity")
- }
-}
-
-PageIndicator {
- id: pageIndicator
- interactive: true
- count: view.count
- currentIndex: view.currentIndex
-
- anchors.bottom: parent.bottom
- anchors.horizontalCenter: parent.horizontalCenter
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator.qml
deleted file mode 100644
index 0eeec4d8..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-pageindicator.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-PageIndicator {
- count: 5
- currentIndex: 2
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-pane-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-pane-custom.qml
deleted file mode 100644
index dfe2eaa4..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-pane-custom.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Pane {
- background: Rectangle {
- color: "#eeeeee"
- }
-
- Label {
- text: qsTr("Content goes here!")
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-pane.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-pane.qml
deleted file mode 100644
index 9ed7a5b4..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-pane.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Pane {
- ColumnLayout {
- anchors.fill: parent
- CheckBox { text: qsTr("E-mail") }
- CheckBox { text: qsTr("Calendar") }
- CheckBox { text: qsTr("Contacts") }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-popup-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-popup-custom.qml
deleted file mode 100644
index 9408cd66..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-popup-custom.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Window 2.2
-
-Item {
- id: root
- width: 200
- height: 200
-
- Binding {
- target: popup
- property: "visible"
- value: root.Window.active
- }
-//! [1]
-Popup {
- id: popup
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 200
- border.color: "#444"
- }
- contentItem: Column {}
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-popup.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-popup.qml
deleted file mode 100644
index 6d46b810..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-popup.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
-//! [centerIn]
-ApplicationWindow {
- id: window
- // ...
-
- Pane {
- // ...
-
- Popup {
- anchors.centerIn: Overlay.overlay
- }
- }
-}
-//! [centerIn]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-progressbar-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-progressbar-custom.qml
deleted file mode 100644
index e23c1438..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-progressbar-custom.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ProgressBar {
- id: control
- value: 0.5
- padding: 2
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 6
- color: "#e6e6e6"
- radius: 3
- }
-
- contentItem: Item {
- implicitWidth: 200
- implicitHeight: 4
-
- Rectangle {
- width: control.visualPosition * parent.width
- height: parent.height
- radius: 2
- color: "#17a81a"
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml
deleted file mode 100644
index 1361f09e..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-RadioButton {
- id: control
- text: qsTr("RadioButton")
- checked: true
-
- indicator: Rectangle {
- implicitWidth: 26
- implicitHeight: 26
- x: control.leftPadding
- y: parent.height / 2 - height / 2
- radius: 13
- border.color: control.down ? "#17a81a" : "#21be2b"
-
- Rectangle {
- width: 14
- height: 14
- x: 6
- y: 6
- radius: 7
- color: control.down ? "#17a81a" : "#21be2b"
- visible: control.checked
- }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- verticalAlignment: Text.AlignVCenter
- leftPadding: control.indicator.width + control.spacing
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml
deleted file mode 100644
index 27ad9da2..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-RadioDelegate {
- id: control
- text: qsTr("RadioDelegate")
- checked: true
-
- contentItem: Text {
- rightPadding: control.indicator.width + control.spacing
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- indicator: Rectangle {
- implicitWidth: 26
- implicitHeight: 26
- x: control.width - width - control.rightPadding
- y: parent.height / 2 - height / 2
- radius: 13
- color: "transparent"
- border.color: control.down ? "#17a81a" : "#21be2b"
-
- Rectangle {
- width: 14
- height: 14
- x: 6
- y: 6
- radius: 7
- color: control.down ? "#17a81a" : "#21be2b"
- visible: control.checked
- }
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted
- color: control.down ? "#bdbebf" : "#eeeeee"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-rangeslider-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-rangeslider-custom.qml
deleted file mode 100644
index 1c5db214..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-rangeslider-custom.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-RangeSlider {
- id: control
- first.value: 0.25
- second.value: 0.75
-
- background: Rectangle {
- x: control.leftPadding
- y: control.topPadding + control.availableHeight / 2 - height / 2
- implicitWidth: 200
- implicitHeight: 4
- width: control.availableWidth
- height: implicitHeight
- radius: 2
- color: "#bdbebf"
-
- Rectangle {
- x: control.first.visualPosition * parent.width
- width: control.second.visualPosition * parent.width - x
- height: parent.height
- color: "#21be2b"
- radius: 2
- }
- }
-
- first.handle: Rectangle {
- x: control.leftPadding + first.visualPosition * (control.availableWidth - width)
- y: control.topPadding + control.availableHeight / 2 - height / 2
- implicitWidth: 26
- implicitHeight: 26
- radius: 13
- color: first.pressed ? "#f0f0f0" : "#f6f6f6"
- border.color: "#bdbebf"
- }
-
- second.handle: Rectangle {
- x: control.leftPadding + second.visualPosition * (control.availableWidth - width)
- y: control.topPadding + control.availableHeight / 2 - height / 2
- implicitWidth: 26
- implicitHeight: 26
- radius: 13
- color: second.pressed ? "#f0f0f0" : "#f6f6f6"
- border.color: "#bdbebf"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-roundbutton.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-roundbutton.qml
deleted file mode 100644
index 4f727344..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-roundbutton.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-RoundButton {
- text: "\u2713" // Unicode Character 'CHECK MARK'
- onClicked: textArea.readOnly = true
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-active.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-active.qml
deleted file mode 100644
index a4a66e93..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-active.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 100
- height: 100
-
- //! [1]
- Flickable {
- anchors.fill: parent
-
- contentWidth: parent.width * 2
- contentHeight: parent.height * 2
-
- ScrollBar.horizontal: ScrollBar { id: hbar; active: vbar.active }
- ScrollBar.vertical: ScrollBar { id: vbar; active: hbar.active }
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-custom.qml
deleted file mode 100644
index 5efcb461..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-custom.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ScrollBar {
- id: control
- size: 0.3
- position: 0.2
- active: true
- orientation: Qt.Vertical
-
- contentItem: Rectangle {
- implicitWidth: 6
- implicitHeight: 100
- radius: width / 2
- color: control.pressed ? "#81e889" : "#c2f4c6"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-non-attached.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-non-attached.qml
deleted file mode 100644
index 43e2853e..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-non-attached.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 200
- height: 200
-
-//! [1]
-Rectangle {
- id: frame
- clip: true
- width: 160
- height: 160
- border.color: "black"
- anchors.centerIn: parent
-
- Text {
- id: content
- text: "ABC"
- font.pixelSize: 160
- x: -hbar.position * width
- y: -vbar.position * height
- }
-
- ScrollBar {
- id: vbar
- hoverEnabled: true
- active: hovered || pressed
- orientation: Qt.Vertical
- size: frame.height / content.height
- anchors.top: parent.top
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- }
-
- ScrollBar {
- id: hbar
- hoverEnabled: true
- active: hovered || pressed
- orientation: Qt.Horizontal
- size: frame.width / content.width
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- }
-}
-//! [1]
-
-Component.onCompleted: {
- hbar.active = true
- vbar.active = true
-}
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-policy.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-policy.qml
deleted file mode 100644
index 942722a5..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollbar-policy.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Flickable {
- contentHeight: 2000
- ScrollBar.vertical: ScrollBar {
- policy: ScrollBar.AlwaysOn
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-active.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-active.qml
deleted file mode 100644
index 6cb749e6..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-active.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 100
- height: 100
-
- //! [1]
- Flickable {
- anchors.fill: parent
-
- contentWidth: parent.width * 2
- contentHeight: parent.height * 2
-
- ScrollIndicator.horizontal: ScrollIndicator { id: hbar; active: vbar.active }
- ScrollIndicator.vertical: ScrollIndicator { id: vbar; active: hbar.active }
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-custom.qml
deleted file mode 100644
index 616c877d..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-custom.qml
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ScrollIndicator {
- id: control
- size: 0.3
- position: 0.2
- active: true
- orientation: Qt.Vertical
-
- contentItem: Rectangle {
- implicitWidth: 2
- implicitHeight: 100
- color: "#c2f4c6"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-non-attached.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-non-attached.qml
deleted file mode 100644
index f1b99bca..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollindicator-non-attached.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 200
- height: 200
-
-//! [1]
-Rectangle {
- id: frame
- clip: true
- width: 160
- height: 160
- border.color: "black"
- anchors.centerIn: parent
-
- Text {
- id: content
- text: "ABC"
- font.pixelSize: 169
-
- MouseArea {
- id: mouseArea
- drag.target: content
- drag.minimumX: frame.width - width
- drag.minimumY: frame.height - height
- drag.maximumX: 0
- drag.maximumY: 0
- anchors.fill: content
- }
- }
-
- ScrollIndicator {
- id: verticalIndicator
- active: mouseArea.pressed
- orientation: Qt.Vertical
- size: frame.height / content.height
- position: -content.y / content.height
- anchors { top: parent.top; right: parent.right; bottom: parent.bottom }
- }
-
- ScrollIndicator {
- id: horizontalIndicator
- active: mouseArea.pressed
- orientation: Qt.Horizontal
- size: frame.width / content.width
- position: -content.x / content.width
- anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
- }
-}
-//! [1]
-
-Component.onCompleted: {
- horizontalIndicator.active = true;
- verticalIndicator.active = true;
-}
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-custom.qml
deleted file mode 100644
index 9010f0af..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-custom.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 200
- height: 200
-
- Binding {
- target: control.ScrollBar.horizontal
- property: "active"
- value: true
- }
-
- Binding {
- target: control.ScrollBar.vertical
- property: "active"
- value: true
- }
-
-//! [file]
-ScrollView {
- id: control
-
- width: 200
- height: 200
- focus: true
-
- Label {
- text: "ABC"
- font.pixelSize: 224
- }
-
- ScrollBar.vertical: ScrollBar {
- parent: control
- x: control.mirrored ? 0 : control.width - width
- y: control.topPadding
- height: control.availableHeight
- active: control.ScrollBar.horizontal.active
- }
-
- ScrollBar.horizontal: ScrollBar {
- parent: control
- x: control.leftPadding
- y: control.height - height
- width: control.availableWidth
- active: control.ScrollBar.vertical.active
- }
-
- background: Rectangle {
- border.color: control.activeFocus ? "#21be2b" : "#bdbebf"
- }
-}
-//! [file]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-interactive.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-interactive.qml
deleted file mode 100644
index 26b0b5c4..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-interactive.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [file]
-ScrollView {
- // ...
- ScrollBar.horizontal.interactive: true
- ScrollBar.vertical.interactive: true
-}
-//! [file]
-
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-listview.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-listview.qml
deleted file mode 100644
index 6907d674..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-listview.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- id: root
- width: 200
- height: 200
-
- Binding {
- target: root.children[0].ScrollBar.horizontal
- property: "active"
- value: true
- }
-
- Binding {
- target: root.children[0].ScrollBar.vertical
- property: "active"
- value: true
- }
-
-//! [file]
-ScrollView {
- width: 200
- height: 200
-
- ListView {
- model: 20
- delegate: ItemDelegate {
- text: "Item " + index
- }
- }
-}
-//! [file]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-policy.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-policy.qml
deleted file mode 100644
index f5c33975..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview-policy.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [file]
-ScrollView {
- // ...
- ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
- ScrollBar.vertical.policy: ScrollBar.AlwaysOn
-}
-//! [file]
-
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview.qml
deleted file mode 100644
index cbdf9eb8..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-scrollview.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Rectangle {
- id: root
- width: 200
- height: 200
- border.color: "#ddd"
-
- Binding {
- target: root.children[0].ScrollBar.horizontal
- property: "active"
- value: true
- }
-
- Binding {
- target: root.children[0].ScrollBar.vertical
- property: "active"
- value: true
- }
-
-//! [file]
-ScrollView {
- width: 200
- height: 200
- clip: true
-
- Label {
- text: "ABC"
- font.pixelSize: 224
- }
-}
-//! [file]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-slider-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-slider-custom.qml
deleted file mode 100644
index 7745892d..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-slider-custom.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Slider {
- id: control
- value: 0.5
-
- background: Rectangle {
- x: control.leftPadding
- y: control.topPadding + control.availableHeight / 2 - height / 2
- implicitWidth: 200
- implicitHeight: 4
- width: control.availableWidth
- height: implicitHeight
- radius: 2
- color: "#bdbebf"
-
- Rectangle {
- width: control.visualPosition * parent.width
- height: parent.height
- color: "#21be2b"
- radius: 2
- }
- }
-
- handle: Rectangle {
- x: control.leftPadding + control.visualPosition * (control.availableWidth - width)
- y: control.topPadding + control.availableHeight / 2 - height / 2
- implicitWidth: 26
- implicitHeight: 26
- radius: 13
- color: control.pressed ? "#f0f0f0" : "#f6f6f6"
- border.color: "#bdbebf"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-custom.qml
deleted file mode 100644
index ad05d463..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-custom.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-SpinBox {
- id: control
- value: 50
- editable: true
-
- contentItem: TextInput {
- z: 2
- text: control.textFromValue(control.value, control.locale)
-
- font: control.font
- color: "#21be2b"
- selectionColor: "#21be2b"
- selectedTextColor: "#ffffff"
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
-
- readOnly: !control.editable
- validator: control.validator
- inputMethodHints: Qt.ImhFormattedNumbersOnly
- }
-
- up.indicator: Rectangle {
- x: control.mirrored ? 0 : parent.width - width
- height: parent.height
- implicitWidth: 40
- implicitHeight: 40
- color: control.up.pressed ? "#e4e4e4" : "#f6f6f6"
- border.color: enabled ? "#21be2b" : "#bdbebf"
-
- Text {
- text: "+"
- font.pixelSize: control.font.pixelSize * 2
- color: "#21be2b"
- anchors.fill: parent
- fontSizeMode: Text.Fit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
- }
-
- down.indicator: Rectangle {
- x: control.mirrored ? parent.width - width : 0
- height: parent.height
- implicitWidth: 40
- implicitHeight: 40
- color: control.down.pressed ? "#e4e4e4" : "#f6f6f6"
- border.color: enabled ? "#21be2b" : "#bdbebf"
-
- Text {
- text: "-"
- font.pixelSize: control.font.pixelSize * 2
- color: "#21be2b"
- anchors.fill: parent
- fontSizeMode: Text.Fit
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
- }
-
- background: Rectangle {
- implicitWidth: 140
- border.color: "#bdbebf"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-double.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-double.qml
deleted file mode 100644
index 6f1bb55b..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-double.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-SpinBox {
- id: spinbox
- from: 0
- value: 110
- to: 100 * 100
- stepSize: 100
- anchors.centerIn: parent
-
- property int decimals: 2
- property real realValue: value / 100
-
- validator: DoubleValidator {
- bottom: Math.min(spinbox.from, spinbox.to)
- top: Math.max(spinbox.from, spinbox.to)
- }
-
- textFromValue: function(value, locale) {
- return Number(value / 100).toLocaleString(locale, 'f', spinbox.decimals)
- }
-
- valueFromText: function(text, locale) {
- return Number.fromLocaleString(locale, text) * 100
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml
deleted file mode 100644
index daa54967..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-SpinBox {
- from: 0
- to: items.length - 1
- value: 1 // "Medium"
-
- property var items: ["Small", "Medium", "Large"]
-
- validator: RegExpValidator {
- regExp: new RegExp("(Small|Medium|Large)", "i")
- }
-
- textFromValue: function(value) {
- return items[value];
- }
-
- valueFromText: function(text) {
- for (var i = 0; i < items.length; ++i) {
- if (items[i].toLowerCase().indexOf(text.toLowerCase()) === 0)
- return i
- }
- return sb.value
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox.qml
deleted file mode 100644
index 32d39b9f..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-SpinBox {
- value: 50
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-splitview-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-splitview-custom.qml
deleted file mode 100644
index 96e8ad2f..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-splitview-custom.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.13
-import QtQuick.Controls 2.13
-
-Item {
- width: 200
- height: 100
-
- //! [1]
- SplitView {
- id: splitView
- anchors.fill: parent
-
- handle: Rectangle {
- implicitWidth: 4
- implicitHeight: 4
- color: SplitHandle.pressed ? "#81e889"
- : (SplitHandle.hovered ? Qt.lighter("#c2f4c6", 1.1) : "#c2f4c6")
- }
-
- Rectangle {
- implicitWidth: 150
- color: "#444"
- }
- Rectangle {
- implicitWidth: 50
- color: "#666"
- }
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-stackview-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-stackview-custom.qml
deleted file mode 100644
index cfeab812..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-stackview-custom.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-StackView {
- id: control
-
- popEnter: Transition {
- XAnimator {
- from: (control.mirrored ? -1 : 1) * -control.width
- to: 0
- duration: 400
- easing.type: Easing.OutCubic
- }
- }
-
- popExit: Transition {
- XAnimator {
- from: 0
- to: (control.mirrored ? -1 : 1) * control.width
- duration: 400
- easing.type: Easing.OutCubic
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-stackview-visible.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-stackview-visible.qml
deleted file mode 100644
index a9298460..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-stackview-visible.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-StackView {
- id: stackView
- property real offset: 10
- width: 100; height: 100
-
- initialItem: Component {
- id: page
- Rectangle {
- property real pos: StackView.index * stackView.offset
- property real hue: Math.random()
- color: Qt.hsla(hue, 0.5, 0.8, 0.6)
- border.color: Qt.hsla(hue, 0.5, 0.5, 0.9)
- StackView.visible: true
- }
- }
-
- pushEnter: Transition {
- id: pushEnter
- ParallelAnimation {
- PropertyAction { property: "x"; value: pushEnter.ViewTransition.item.pos }
- NumberAnimation { properties: "y"; from: pushEnter.ViewTransition.item.pos + stackView.offset; to: pushEnter.ViewTransition.item.pos; duration: 400; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 400; easing.type: Easing.OutCubic }
- }
- }
- popExit: Transition {
- id: popExit
- ParallelAnimation {
- PropertyAction { property: "x"; value: popExit.ViewTransition.item.pos }
- NumberAnimation { properties: "y"; from: popExit.ViewTransition.item.pos; to: popExit.ViewTransition.item.pos + stackView.offset; duration: 400; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 1; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
- }
-
- pushExit: Transition {
- id: pushExit
- PropertyAction { property: "x"; value: pushExit.ViewTransition.item.pos }
- PropertyAction { property: "y"; value: pushExit.ViewTransition.item.pos }
- }
- popEnter: Transition {
- id: popEnter
- PropertyAction { property: "x"; value: popEnter.ViewTransition.item.pos }
- PropertyAction { property: "y"; value: popEnter.ViewTransition.item.pos }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml
deleted file mode 100644
index 432fcc87..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-SwipeDelegate {
- id: control
- text: qsTr("SwipeDelegate")
-
- Component {
- id: component
-
- Rectangle {
- color: SwipeDelegate.pressed ? "#333" : "#444"
- width: parent.width
- height: parent.height
- clip: true
-
- Label {
- text: qsTr("Press me!")
- color: "#21be2b"
- anchors.centerIn: parent
- }
- }
- }
-
- swipe.left: component
- swipe.right: component
-
- contentItem: Text {
- text: control.text
- font: control.font
- color: control.enabled ? (control.down ? "#17a81a" : "#21be2b") : "#bdbebf"
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
-
- Behavior on x {
- enabled: !control.down
- NumberAnimation {
- easing.type: Easing.InOutCubic
- duration: 400
- }
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-transition.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-transition.qml
deleted file mode 100644
index 6b71a5f0..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-transition.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-SwipeDelegate {
- swipe.transition: Transition {
- SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate.qml
deleted file mode 100644
index 6e02c057..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-ListView {
- id: listView
- anchors.fill: parent
- model: ListModel {
- ListElement { sender: "Bob Bobbleton"; title: "How are you going?" }
- ListElement { sender: "Rug Emporium"; title: "SALE! All rugs MUST go!" }
- ListElement { sender: "Electric Co."; title: "Electricity bill 15/07/2016 overdue" }
- ListElement { sender: "Tips"; title: "Five ways this tip will save your life" }
- }
- delegate: SwipeDelegate {
- id: swipeDelegate
- text: model.sender + " - " + model.title
- width: parent.width
-
- ListView.onRemove: SequentialAnimation {
- PropertyAction {
- target: swipeDelegate
- property: "ListView.delayRemove"
- value: true
- }
- NumberAnimation {
- target: swipeDelegate
- property: "height"
- to: 0
- easing.type: Easing.InOutQuad
- }
- PropertyAction {
- target: swipeDelegate
- property: "ListView.delayRemove"
- value: false
- }
- }
-
- swipe.right: Label {
- id: deleteLabel
- text: qsTr("Delete")
- color: "white"
- verticalAlignment: Label.AlignVCenter
- padding: 12
- height: parent.height
- anchors.right: parent.right
-
- SwipeDelegate.onClicked: listView.model.remove(index)
-
- background: Rectangle {
- color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
- }
- }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-custom.qml
deleted file mode 100644
index 40833dde..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-custom.qml
+++ /dev/null
@@ -1,39 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-SwipeView {
- id: control
-
- background: Rectangle {
- color: "#eeeeee"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-indicator.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-indicator.qml
deleted file mode 100644
index 1869a032..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-swipeview-indicator.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 200
- height: 320
-
- //! [1]
- SwipeView {
- id: view
-
- currentIndex: 1
- anchors.fill: parent
-
- Item {
- id: firstPage
- }
- Item {
- id: secondPage
- }
- Item {
- id: thirdPage
- }
- }
-
- PageIndicator {
- id: indicator
-
- count: view.count
- currentIndex: view.currentIndex
-
- anchors.bottom: view.bottom
- anchors.horizontalCenter: parent.horizontalCenter
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml
deleted file mode 100644
index a7dd2eea..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Switch {
- id: control
- text: qsTr("Switch")
-
- indicator: Rectangle {
- implicitWidth: 48
- implicitHeight: 26
- x: control.leftPadding
- y: parent.height / 2 - height / 2
- radius: 13
- color: control.checked ? "#17a81a" : "#ffffff"
- border.color: control.checked ? "#17a81a" : "#cccccc"
-
- Rectangle {
- x: control.checked ? parent.width - width : 0
- width: 26
- height: 26
- radius: 13
- color: control.down ? "#cccccc" : "#ffffff"
- border.color: control.checked ? (control.down ? "#17a81a" : "#21be2b") : "#999999"
- }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- verticalAlignment: Text.AlignVCenter
- leftPadding: control.indicator.width + control.spacing
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml
deleted file mode 100644
index 19060824..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-SwitchDelegate {
- id: control
- text: qsTr("SwitchDelegate")
- checked: true
-
- contentItem: Text {
- rightPadding: control.indicator.width + control.spacing
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- indicator: Rectangle {
- implicitWidth: 48
- implicitHeight: 26
- x: control.width - width - control.rightPadding
- y: parent.height / 2 - height / 2
- radius: 13
- color: control.checked ? "#17a81a" : "transparent"
- border.color: control.checked ? "#17a81a" : "#cccccc"
-
- Rectangle {
- x: control.checked ? parent.width - width : 0
- width: 26
- height: 26
- radius: 13
- color: control.down ? "#cccccc" : "#ffffff"
- border.color: control.checked ? (control.down ? "#17a81a" : "#21be2b") : "#999999"
- }
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted
- color: control.down ? "#bdbebf" : "#eeeeee"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-custom.qml
deleted file mode 100644
index c06c44c7..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-custom.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-TabBar {
- id: control
-
- background: Rectangle {
- color: "#eeeeee"
- }
-
- TabButton {
- text: qsTr("Home")
- }
- TabButton {
- text: qsTr("Discover")
- }
- TabButton {
- text: qsTr("Activity")
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-explicit.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-explicit.qml
deleted file mode 100644
index 01f0d875..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-explicit.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 360
- height: childrenRect.height
-
-//! [1]
-TabBar {
- width: parent.width
- TabButton {
- text: "First"
- width: implicitWidth
- }
- TabButton {
- text: "Second"
- width: implicitWidth
- }
- TabButton {
- text: "Third"
- width: implicitWidth
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-flickable.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-flickable.qml
deleted file mode 100644
index 628aef80..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar-flickable.qml
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 360
- height: bar.height
-
-//! [1]
-TabBar {
- id: bar
- width: parent.width
-
- Repeater {
- model: ["First", "Second", "Third", "Fourth", "Fifth"]
-
- TabButton {
- text: modelData
- width: Math.max(100, bar.width / 5)
- }
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar.qml
deleted file mode 100644
index cbf6d728..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbar.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-Column {
- width: 300
-
- //! [1]
- TabBar {
- id: bar
- width: parent.width
- TabButton {
- text: qsTr("Home")
- }
- TabButton {
- text: qsTr("Discover")
- }
- TabButton {
- text: qsTr("Activity")
- }
- }
-
- StackLayout {
- width: parent.width
- currentIndex: bar.currentIndex
- Item {
- id: homeTab
- }
- Item {
- id: discoverTab
- }
- Item {
- id: activityTab
- }
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbutton.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tabbutton.qml
deleted file mode 100644
index 0aae7d15..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tabbutton.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-TabBar {
- TabButton {
- text: qsTr("Home")
- }
- TabButton {
- text: qsTr("Discover")
- }
- TabButton {
- text: qsTr("Activity")
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-textarea-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-textarea-custom.qml
deleted file mode 100644
index 3ce856ac..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-textarea-custom.qml
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-TextArea {
- id: control
- placeholderText: qsTr("Enter description")
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- border.color: control.enabled ? "#21be2b" : "transparent"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-textarea-scrollable.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-textarea-scrollable.qml
deleted file mode 100644
index e16c6bbf..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-textarea-scrollable.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
- width: 100
- height: 100
-
- Binding { target: view.ScrollBar.vertical; property: "active"; value: true }
-
- //! [1]
- ScrollView {
- id: view
- anchors.fill: parent
-
- TextArea {
- text: "TextArea\n...\n...\n...\n...\n...\n...\n"
- }
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-custom.qml
deleted file mode 100644
index e48e0d65..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-custom.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-TextField {
- id: control
- placeholderText: qsTr("Enter description")
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- color: control.enabled ? "transparent" : "#353637"
- border.color: control.enabled ? "#21be2b" : "transparent"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-disabled.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-disabled.qml
deleted file mode 100644
index 18634d5e..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-disabled.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-TextField {
- width: 80
- text: "Disabled"
- enabled: false
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-focused.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-focused.qml
deleted file mode 100644
index 5d8e067b..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-focused.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-TextField {
- width: 80
- text: "Focused"
- focus: true
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-normal.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-normal.qml
deleted file mode 100644
index b0a04674..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-textfield-normal.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-TextField {
- width: 80
- text: "Normal"
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-toolbar-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-toolbar-custom.qml
deleted file mode 100644
index 3d26e510..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-toolbar-custom.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-//! [file]
-ToolBar {
- id: control
-
- background: Rectangle {
- implicitHeight: 40
- color: "#eeeeee"
-
- Rectangle {
- width: parent.width
- height: 1
- anchors.bottom: parent.bottom
- color: "transparent"
- border.color: "#21be2b"
- }
- }
-
- RowLayout {
- anchors.fill: parent
- ToolButton {
- text: qsTr("Undo")
- }
- ToolButton {
- text: qsTr("Redo")
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-toolbar.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-toolbar.qml
deleted file mode 100644
index e1c8c580..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-toolbar.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-
-Item {
- width: children[0].implicitWidth * 2
- height: children[0].implicitHeight
- Binding {
- target: children[0]
- property: "width"
- value: width
- }
-//! [1]
-ToolBar {
- RowLayout {
- anchors.fill: parent
- ToolButton {
- text: qsTr("‹")
- onClicked: stack.pop()
- }
- Label {
- text: "Title"
- elide: Label.ElideRight
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
- Layout.fillWidth: true
- }
- ToolButton {
- text: qsTr("â‹®")
- onClicked: menu.open()
- }
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-toolbutton-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-toolbutton-custom.qml
deleted file mode 100644
index cf5bc70e..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-toolbutton-custom.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-ToolButton {
- id: control
- text: qsTr("ToolButton")
- width: 120
-
- contentItem: Text {
- text: control.text
- font: control.font
- opacity: enabled ? 1.0 : 0.3
- color: control.down ? "#17a81a" : "#21be2b"
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
- color: Qt.darker("#33333333", control.enabled && (control.checked || control.highlighted) ? 1.5 : 1.0)
- opacity: enabled ? 1 : 0.3
- visible: control.down || (control.enabled && (control.checked || control.highlighted))
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator-custom.qml
deleted file mode 100644
index e26986cc..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator-custom.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Window 2.2
-import QtQuick.Controls 2.12
-
-//! [file]
-ToolBar {
- RowLayout {
- anchors.fill: parent
-
- ToolButton {
- text: qsTr("Action 1")
- }
- ToolButton {
- text: qsTr("Action 2")
- }
-
- ToolSeparator {
- padding: vertical ? 10 : 2
- topPadding: vertical ? 2 : 10
- bottomPadding: vertical ? 2 : 10
-
- contentItem: Rectangle {
- implicitWidth: parent.vertical ? 1 : 24
- implicitHeight: parent.vertical ? 24 : 1
- color: "#c3c3c3"
- }
- }
-
- ToolButton {
- text: qsTr("Action 3")
- }
- ToolButton {
- text: qsTr("Action 4")
- }
-
- Item {
- Layout.fillWidth: true
- }
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator.qml
deleted file mode 100644
index 2ccfb439..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-toolseparator.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Window 2.2
-import QtQuick.Controls 2.12
-
-//! [1]
-ToolBar {
- RowLayout {
- anchors.fill: parent
-
- ToolButton {
- text: qsTr("Action 1")
- }
- ToolButton {
- text: qsTr("Action 2")
- }
-
- ToolSeparator {}
-
- ToolButton {
- text: qsTr("Action 3")
- }
- ToolButton {
- text: qsTr("Action 4")
- }
-
- ToolSeparator {}
-
- ToolButton {
- text: qsTr("Action 5")
- }
- ToolButton {
- text: qsTr("Action 6")
- }
-
- Item {
- Layout.fillWidth: true
- }
- }
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-custom.qml
deleted file mode 100644
index 6a0a5b38..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-custom.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Item {
-ToolTip {
- id: control
- text: qsTr("A descriptive tool tip of what the button does")
-
- contentItem: Text {
- text: control.text
- font: control.font
- color: "#21be2b"
- }
-
- background: Rectangle {
- border.color: "#21be2b"
- }
-}
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-hover.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-hover.qml
deleted file mode 100644
index 812b5ba2..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-hover.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Button {
- text: qsTr("Button")
- hoverEnabled: true
-
- ToolTip.delay: 1000
- ToolTip.timeout: 5000
- ToolTip.visible: hovered
- ToolTip.text: qsTr("This tool tip is shown after hovering the button for a second.")
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-pressandhold.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-pressandhold.qml
deleted file mode 100644
index 927d29c3..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-pressandhold.qml
+++ /dev/null
@@ -1,39 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [1]
-Button {
- text: qsTr("Button")
-
- ToolTip.visible: pressed
- ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval
- ToolTip.text: qsTr("This tool tip is shown after pressing and holding the button down.")
-}
-//! [1]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml
deleted file mode 100644
index 508a417e..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.2
-import QtQuick.Controls 2.12
-
-Item {
- id: root
- width: slider.width
- height: slider.height * 2.0
-
- Binding { target: slider.anchors; property: "centerIn"; value: root }
- Binding { target: slider.anchors; property: "verticalCenterOffset"; value: slider.height / 2 }
- Binding { target: slider; property: "pressed"; value: root.Window.active }
-
- //! [1]
- Slider {
- id: slider
- value: 0.5
-
- ToolTip {
- parent: slider.handle
- visible: slider.pressed
- text: slider.value.toFixed(1)
- }
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml
deleted file mode 100644
index a4e92f88..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.2
-import QtQuick.Controls 2.12
-
-Item {
- id: root
- width: 360
- height: button.height * 2
-
- property Button button: children[0]
-
- Binding { target: button; property: "down"; value: root.Window.active }
- Binding { target: button.anchors; property: "bottom"; value: root.bottom }
- Binding { target: button.anchors; property: "horizontalCenter"; value: root.horizontalCenter }
-
- //! [1]
- Button {
- text: qsTr("Save")
-
- ToolTip.visible: down
- ToolTip.text: qsTr("Save the active project")
- }
- //! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-custom.qml
deleted file mode 100644
index ee054106..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-custom.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [file]
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-Tumbler {
- id: control
- model: 15
-
- background: Item {
- Rectangle {
- opacity: control.enabled ? 0.2 : 0.1
- border.color: "#000000"
- width: parent.width
- height: 1
- anchors.top: parent.top
- }
-
- Rectangle {
- opacity: control.enabled ? 0.2 : 0.1
- border.color: "#000000"
- width: parent.width
- height: 1
- anchors.bottom: parent.bottom
- }
- }
-
- delegate: Text {
- text: qsTr("Item %1").arg(modelData + 1)
- font: control.font
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- opacity: 1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)
- }
-
- Rectangle {
- anchors.horizontalCenter: control.horizontalCenter
- y: control.height * 0.4
- width: 40
- height: 1
- color: "#21be2b"
- }
-
- Rectangle {
- anchors.horizontalCenter: control.horizontalCenter
- y: control.height * 0.6
- width: 40
- height: 1
- color: "#21be2b"
- }
-}
-//! [file]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-listView.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-listView.qml
deleted file mode 100644
index 7d16d139..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-listView.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [contentItem]
-Tumbler {
- id: tumbler
-
- contentItem: ListView {
- model: tumbler.model
- delegate: tumbler.delegate
-
- snapMode: ListView.SnapToItem
- highlightRangeMode: ListView.StrictlyEnforceRange
- preferredHighlightBegin: height / 2 - (height / tumbler.visibleItemCount / 2)
- preferredHighlightEnd: height / 2 + (height / tumbler.visibleItemCount / 2)
- clip: true
- }
-}
-//! [contentItem]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-pathView.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-pathView.qml
deleted file mode 100644
index 61e4ce01..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-pathView.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-
-//! [contentItem]
-Tumbler {
- id: tumbler
-
- contentItem: PathView {
- id: pathView
- model: tumbler.model
- delegate: tumbler.delegate
- clip: true
- pathItemCount: tumbler.visibleItemCount + 1
- preferredHighlightBegin: 0.5
- preferredHighlightEnd: 0.5
- dragMargin: width / 2
-
- path: Path {
- startX: pathView.width / 2
- startY: -pathView.delegateHeight / 2
- PathLine {
- x: pathView.width / 2
- y: pathView.pathItemCount * pathView.delegateHeight - pathView.delegateHeight / 2
- }
- }
-
- property real delegateHeight: tumbler.availableHeight / tumbler.visibleItemCount
- }
-}
-//! [contentItem]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-timePicker.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-timePicker.qml
deleted file mode 100644
index 13130f97..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tumbler-timePicker.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [tumbler]
-import QtQuick 2.12
-import QtQuick.Window 2.2
-import QtQuick.Controls 2.12
-
-Rectangle {
- width: frame.implicitWidth + 10
- height: frame.implicitHeight + 10
-
- function formatText(count, modelData) {
- var data = count === 12 ? modelData + 1 : modelData;
- return data.toString().length < 2 ? "0" + data : data;
- }
-
- FontMetrics {
- id: fontMetrics
- }
-
- Component {
- id: delegateComponent
-
- Label {
- text: formatText(Tumbler.tumbler.count, modelData)
- opacity: 1.0 - Math.abs(Tumbler.displacement) / (Tumbler.tumbler.visibleItemCount / 2)
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: fontMetrics.font.pixelSize * 1.25
- }
- }
-
- Frame {
- id: frame
- padding: 0
- anchors.centerIn: parent
-
- Row {
- id: row
-
- Tumbler {
- id: hoursTumbler
- model: 12
- delegate: delegateComponent
- }
-
- Tumbler {
- id: minutesTumbler
- model: 60
- delegate: delegateComponent
- }
-
- Tumbler {
- id: amPmTumbler
- model: ["AM", "PM"]
- delegate: delegateComponent
- }
- }
- }
-}
-//! [tumbler]
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-accent.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-universal-accent.qml
deleted file mode 100644
index c54a18a0..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-accent.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Layouts 1.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
-
-Pane {
- padding: 10
-
-//! [1]
-Button {
- text: qsTr("Button")
- highlighted: true
- Universal.accent: Universal.Orange
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-background.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-universal-background.qml
deleted file mode 100644
index f22b5308..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-background.qml
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
-
-Pane {
- padding: 10
-
-//! [1]
-Pane {
- Universal.background: Universal.Steel
-
- Button {
- text: qsTr("Button")
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-foreground.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-universal-foreground.qml
deleted file mode 100644
index 8c5b99a3..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-foreground.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
-
-Pane {
- padding: 10
-
-//! [1]
-Button {
- text: qsTr("Button")
- Universal.foreground: Universal.Pink
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-theme.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-universal-theme.qml
deleted file mode 100644
index 1f0d6bd0..00000000
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-universal-theme.qml
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
-
-Pane {
- padding: 10
-
-//! [1]
-Pane {
- Universal.theme: Universal.Dark
-
- Button {
- text: qsTr("Button")
- }
-}
-//! [1]
-}
diff --git a/src/imports/controls/doc/src/includes/inputmethodhints.qdocinc b/src/imports/controls/doc/src/includes/inputmethodhints.qdocinc
deleted file mode 100644
index 73710e1e..00000000
--- a/src/imports/controls/doc/src/includes/inputmethodhints.qdocinc
+++ /dev/null
@@ -1,38 +0,0 @@
-//! [flags]
-The value is a bit-wise combination of flags or \c Qt.ImhNone if no hints are set.
-
-Flags that alter behavior are:
-
-\list
-\li Qt.ImhHiddenText - Characters should be hidden, as is typically used when entering passwords.
-\li Qt.ImhSensitiveData - Typed text should not be stored by the active input method
- in any persistent storage like predictive user dictionary.
-\li Qt.ImhNoAutoUppercase - The input method should not try to automatically switch to upper case
- when a sentence ends.
-\li Qt.ImhPreferNumbers - Numbers are preferred (but not required).
-\li Qt.ImhPreferUppercase - Upper case letters are preferred (but not required).
-\li Qt.ImhPreferLowercase - Lower case letters are preferred (but not required).
-\li Qt.ImhNoPredictiveText - Do not use predictive text (i.e. dictionary lookup) while typing.
-
-\li Qt.ImhDate - The text editor functions as a date field.
-\li Qt.ImhTime - The text editor functions as a time field.
-\endlist
-
-Flags that restrict input (exclusive flags) are:
-
-\list
-\li Qt.ImhDigitsOnly - Only digits are allowed.
-\li Qt.ImhFormattedNumbersOnly - Only number input is allowed. This includes decimal point and minus sign.
-\li Qt.ImhUppercaseOnly - Only upper case letter input is allowed.
-\li Qt.ImhLowercaseOnly - Only lower case letter input is allowed.
-\li Qt.ImhDialableCharactersOnly - Only characters suitable for phone dialing are allowed.
-\li Qt.ImhEmailCharactersOnly - Only characters suitable for email addresses are allowed.
-\li Qt.ImhUrlCharactersOnly - Only characters suitable for URLs are allowed.
-\endlist
-
-Masks:
-
-\list
-\li Qt.ImhExclusiveInputMask - This mask yields nonzero if any of the exclusive flags are used.
-\endlist
-//! [flags]
diff --git a/src/imports/controls/doc/src/includes/qquickcontrol-background.qdocinc b/src/imports/controls/doc/src/includes/qquickcontrol-background.qdocinc
deleted file mode 100644
index 02d92de0..00000000
--- a/src/imports/controls/doc/src/includes/qquickcontrol-background.qdocinc
+++ /dev/null
@@ -1,13 +0,0 @@
-//! [notes]
-
-\note If the background item has no explicit size specified, it automatically
- follows the control's size. In most cases, there is no need to specify
- width or height for a background item.
-
-\note Most controls use the implicit size of the background item to calculate
-the implicit size of the control itself. If you replace the background item
-with a custom one, you should also consider providing a sensible implicit
-size for it (unless it is an item like \l Image which has its own implicit
-size).
-
-//! [notes]
diff --git a/src/imports/controls/doc/src/includes/qquickcontrol-focusreason.qdocinc b/src/imports/controls/doc/src/includes/qquickcontrol-focusreason.qdocinc
deleted file mode 100644
index b69e9e60..00000000
--- a/src/imports/controls/doc/src/includes/qquickcontrol-focusreason.qdocinc
+++ /dev/null
@@ -1,15 +0,0 @@
-This property holds the reason of the last focus change.
-
-\note This property does not indicate whether the control has \l {Item::activeFocus}
- {active focus}, but the reason why the control either gained or lost focus.
-
-\value Qt.MouseFocusReason A mouse action occurred.
-\value Qt.TabFocusReason The Tab key was pressed.
-\value Qt.BacktabFocusReason A Backtab occurred. The input for this may include the Shift or Control keys; e.g. Shift+Tab.
-\value Qt.ActiveWindowFocusReason The window system made this window either active or inactive.
-\value Qt.PopupFocusReason The application opened/closed a pop-up that grabbed/released the keyboard focus.
-\value Qt.ShortcutFocusReason The user typed a label's buddy shortcut
-\value Qt.MenuBarFocusReason The menu bar took focus.
-\value Qt.OtherFocusReason Another reason, usually application-specific.
-
-\sa Item::activeFocus
diff --git a/src/imports/controls/doc/src/includes/qquickdial.qdocinc b/src/imports/controls/doc/src/includes/qquickdial.qdocinc
deleted file mode 100644
index 3370b3d8..00000000
--- a/src/imports/controls/doc/src/includes/qquickdial.qdocinc
+++ /dev/null
@@ -1,13 +0,0 @@
-//! [inputMode]
-Dial supports three \l {inputMode}{input modes}: \c Dial.Circular,
-\c Dial.Horizontal and \c Dial.Vertical. The circular input mode operates on an
-absolute input system, where the position of the cursor within the dial
-directly reflects its value. The horizontal and vertical input modes use a
-relative input system, where changes in the cursor's position are "added" to
-the value of the dial.
-
-The following image illustrates the directions in which the various input modes
-track movement:
-
-\image qtquickcontrols2-dial-inputmode.png
-//! [inputMode]
diff --git a/src/imports/controls/doc/src/includes/qquickicon.qdocinc b/src/imports/controls/doc/src/includes/qquickicon.qdocinc
deleted file mode 100644
index ba7cede9..00000000
--- a/src/imports/controls/doc/src/includes/qquickicon.qdocinc
+++ /dev/null
@@ -1,48 +0,0 @@
-//! [grouped-properties]
-\table
-\header
- \li Name
- \li Description
-\row
- \li name
- \li This property holds the name of the icon to use.
-
- The icon will be loaded from the platform theme. If the icon is found
- in the theme, it will always be used; even if \l icon.source is also set.
- If the icon is not found, \l icon.source will be used instead.
-
- For more information on theme icons, see \l {QIcon::fromTheme()}.
-\row
- \li source
- \li This property holds the name of the icon to use.
-
- The icon will be loaded as a regular image.
-
- If \l icon.name is set and refers to a valid theme icon, it will always
- be used instead of this property.
-\row
- \li width
- \li This property holds the width of the icon.
-
- The icon's width will never exceed this value, though it will
- shrink when necessary.
-\row
- \li height
- \li This property holds the height of the icon.
-
- The icon's height will never exceed this value, though it will
- shrink when necessary.
-\row
- \li color
- \li This property holds the color of the icon.
-
- The icon is tinted with the specified color, unless the color is
- set to \c "transparent".
-
-\row
- \li cache
- \li This property specifies whether the icon should be cached.
-
- The default value is true.
-\endtable
-//! [grouped-properties]
diff --git a/src/imports/controls/doc/src/includes/qquickimaginestyle.qdocinc b/src/imports/controls/doc/src/includes/qquickimaginestyle.qdocinc
deleted file mode 100644
index f6fe5a97..00000000
--- a/src/imports/controls/doc/src/includes/qquickimaginestyle.qdocinc
+++ /dev/null
@@ -1,57 +0,0 @@
-//! [conf]
-\table
- \header
- \li Variable
- \li Description
- \row
- \li \c Path
- \li Specifies the \l {imagine-path-attached-prop}{path} to the directory that contains
- the Imagine style assets. If not specified, the built-in assets are used.
-
- For example, to specify a path to a directory stored in the
- \l {The Qt Resource System}{resource system}:
-
- \badcode
- [Imagine]
- Path=:/imagine-assets
- \endcode
-
- To specify a relative path to a local directory:
-
- \badcode
- [Imagine]
- Path=imagine-assets
- \endcode
-
- \note Due to a technical limitation, the path should not be named
- \e "imagine" if it is relative to the \c qtquickcontrols2.conf file.
-\endtable
-//! [conf]
-
-//! [env]
-\table
- \header
- \li Variable
- \li Description
- \row
- \li \c QT_QUICK_CONTROLS_IMAGINE_PATH
- \li Specifies the path to the directory that contains the Imagine style assets.
- If not specified, the built-in assets are used.
-
- For example, to specify a path to a directory stored in the
- \l {The Qt Resource System}{resource system}:
-
- \badcode
- QT_QUICK_CONTROLS_IMAGINE_PATH=:/imagine-assets
- \endcode
-
- To specify a relative path to a local directory:
-
- \badcode
- QT_QUICK_CONTROLS_IMAGINE_PATH=imagine-assets
- \endcode
-
- \note Due to a technical limitation, the path should not be named
- \e "imagine" if it is relative to the \c qtquickcontrols2.conf file.
-\endtable
-//! [env]
diff --git a/src/imports/controls/doc/src/includes/qquickmaterialstyle.qdocinc b/src/imports/controls/doc/src/includes/qquickmaterialstyle.qdocinc
deleted file mode 100644
index 72c97bb6..00000000
--- a/src/imports/controls/doc/src/includes/qquickmaterialstyle.qdocinc
+++ /dev/null
@@ -1,79 +0,0 @@
-//! [conf]
-\table
- \header
- \li Variable
- \li Description
- \row
- \li \c Theme
- \li Specifies the default \l {material-theme-attached-prop}{Material theme}.
- The value can be one of the available themes, for example \c "Dark".
- \row
- \li \c Variant
- \li Specifies the Material variant. The Material Design has two
- variants: a normal variant designed for touch devices, and a dense
- variant for desktop. The dense variant uses smaller sizes for
- controls and their fonts.
-
- The value can be \c "Normal" or \c "Dense".
- \row
- \li \c Accent
- \li Specifies the default \l {material-accent-attached-prop}{Material accent color}.
- The value can be any \l {colorbasictypedocs}{color}, but it is recommended to use
- one of the \l {pre-defined Material colors}, for example \c "Teal".
- \row
- \li \c Primary
- \li Specifies the default \l {material-primary-attached-prop}{Material primary color}.
- The value can be any \l {colorbasictypedocs}{color}, but it is recommended to use
- one of the \l {pre-defined Material colors}, for example \c "BlueGrey".
- \row
- \li \c Foreground
- \li Specifies the default \l {material-foreground-attached-prop}{Material foreground color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Material colors},
- for example \c "Brown".
- \row
- \li \c Background
- \li Specifies the default \l {material-background-attached-prop}{Material background color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Material colors},
- for example \c "Grey".
-\endtable
-//! [conf]
-
-//! [env]
-\table
- \header
- \li Variable
- \li Description
- \row
- \li \c QT_QUICK_CONTROLS_MATERIAL_THEME
- \li Specifies the default \l {material-theme-attached-prop}{Material theme}.
- The value can be one of the available themes, for example \c "Dark".
- \row
- \li \c QT_QUICK_CONTROLS_MATERIAL_VARIANT
- \li Specifies the Material variant. The Material Design has two
- variants: a normal variant designed for touch devices, and a dense
- variant for desktop. The dense variant uses smaller sizes for
- controls and their fonts.
-
- The value can be \c "Normal" or \c "Dense".
- \row
- \li \c QT_QUICK_CONTROLS_MATERIAL_ACCENT
- \li Specifies the default \l {material-accent-attached-prop}{Material accent color}.
- The value can be any \l {colorbasictypedocs}{color}, but it is recommended to use
- one of the \l {pre-defined Material colors}, for example \c "Teal".
- \row
- \li \c QT_QUICK_CONTROLS_MATERIAL_PRIMARY
- \li Specifies the default \l {material-primary-attached-prop}{Material primary color}.
- The value can be any \l {colorbasictypedocs}{color}, but it is recommended to use
- one of the \l {pre-defined Material colors}, for example \c "BlueGrey".
- \row
- \li \c QT_QUICK_CONTROLS_MATERIAL_FOREGROUND
- \li Specifies the default \l {material-foreground-attached-prop}{Material foreground color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Material colors},
- for example \c "Brown".
- \row
- \li \c QT_QUICK_CONTROLS_MATERIAL_BACKGROUND
- \li Specifies the default \l {material-background-attached-prop}{Material background color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Material colors},
- for example \c "Grey".
-\endtable
-//! [env]
diff --git a/src/imports/controls/doc/src/includes/qquickoverlay-popup-parent.qdocinc b/src/imports/controls/doc/src/includes/qquickoverlay-popup-parent.qdocinc
deleted file mode 100644
index 5562f6a0..00000000
--- a/src/imports/controls/doc/src/includes/qquickoverlay-popup-parent.qdocinc
+++ /dev/null
@@ -1,20 +0,0 @@
-The following example uses the attached \l {Overlay::overlay}{Overlay.overlay}
-property to position a popup in the center of the window, despite the position
-of the button that opens the popup:
-
-\code
-Button {
- onClicked: popup.open()
-
- Popup {
- id: popup
-
- parent: Overlay.overlay
-
- x: Math.round((parent.width - width) / 2)
- y: Math.round((parent.height - height) / 2)
- width: 100
- height: 100
- }
-}
-\endcode
diff --git a/src/imports/controls/doc/src/includes/qquickpopup-padding.qdocinc b/src/imports/controls/doc/src/includes/qquickpopup-padding.qdocinc
deleted file mode 100644
index 31f5d2db..00000000
--- a/src/imports/controls/doc/src/includes/qquickpopup-padding.qdocinc
+++ /dev/null
@@ -1,10 +0,0 @@
-//! [padding]
-
-The padding properties are used to control the geometry of the
-\l {contentItem}{content item}.
-
-Popup uses the same approach to padding as \l {Control::padding}{Control}.
-For a visual explanation of the padding system, see the \l {Control Layout}
-section of the documentation.
-
-//! [padding]
diff --git a/src/imports/controls/doc/src/includes/qquickstackview.qdocinc b/src/imports/controls/doc/src/includes/qquickstackview.qdocinc
deleted file mode 100644
index 20c9bdc3..00000000
--- a/src/imports/controls/doc/src/includes/qquickstackview.qdocinc
+++ /dev/null
@@ -1,5 +0,0 @@
-//! [pop-ownership]
-Only items that StackView created itself (from a \l Component or \l [QML]
-url) will be destroyed when popped. See \l {Item Ownership} for more
-information.
-//! [pop-ownership]
diff --git a/src/imports/controls/doc/src/includes/qquickswipedelegate-interaction.qdocinc b/src/imports/controls/doc/src/includes/qquickswipedelegate-interaction.qdocinc
deleted file mode 100644
index 05aeadb6..00000000
--- a/src/imports/controls/doc/src/includes/qquickswipedelegate-interaction.qdocinc
+++ /dev/null
@@ -1,5 +0,0 @@
-Both interactive and non-interactive items can be used here. Normal
-event handling rules apply; if an interactive control like \l Button
-is used, interaction signals of SwipeDelegate such as
-\l {AbstractButton::}{clicked()} will not get emitted if the button
-is clicked.
diff --git a/src/imports/controls/doc/src/includes/qquickswitch.qdocinc b/src/imports/controls/doc/src/includes/qquickswitch.qdocinc
deleted file mode 100644
index 985f85d9..00000000
--- a/src/imports/controls/doc/src/includes/qquickswitch.qdocinc
+++ /dev/null
@@ -1,28 +0,0 @@
-//! [position]
-
-This property holds the logical position of the thumb indicator.
-
-The position is expressed as a fraction of the indicator's size, in the range
-\c 0.0 - \c 1.0. The position can be used for example to determine whether
-the thumb has been dragged past the halfway point. For visualizing a thumb
-indicator, the right-to-left aware \l visualPosition should be used instead.
-
-\sa visualPosition
-
-//! [position]
-
-
-//! [visualPosition]
-
-This property holds the visual position of the thumb indicator.
-
-The position is expressed as a fraction of the indicator's size, in the range
-\c 0.0 - \c 1.0. When the control is \l {Control::mirrored}{mirrored}, the
-value is equal to \c {1.0 - position}. This makes the value suitable for
-visualizing the thumb indicator taking right-to-left support into account.
-In order to for example determine whether the thumb has been dragged past
-the halfway point, the logical \l position should be used instead.
-
-\sa position
-
-//! [visualPosition]
diff --git a/src/imports/controls/doc/src/includes/qquickuniversalstyle.qdocinc b/src/imports/controls/doc/src/includes/qquickuniversalstyle.qdocinc
deleted file mode 100644
index a7ecbaef..00000000
--- a/src/imports/controls/doc/src/includes/qquickuniversalstyle.qdocinc
+++ /dev/null
@@ -1,53 +0,0 @@
-//! [conf]
-\table
- \header
- \li Variable
- \li Description
- \row
- \li \c Theme
- \li Specifies the default \l {universal-theme-attached-prop}{Universal theme}.
- The value can be one of the available themes, for example \c "Dark".
- \row
- \li \c Accent
- \li Specifies the default \l {universal-accent-attached-prop}{Universal accent color}.
- The value can be any \l {colorbasictypedocs}{color}, but it is recommended to use
- one of the \l {pre-defined Universal colors}, for example \c "Violet".
- \row
- \li \c Foreground
- \li Specifies the default \l {universal-foreground-attached-prop}{Universal foreground color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Universal colors},
- for example \c "Brown".
- \row
- \li \c Background
- \li Specifies the default \l {universal-background-attached-prop}{Universal background color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Universal colors},
- for example \c "Steel".
-\endtable
-//! [conf]
-
-//! [env]
-\table
- \header
- \li Variable
- \li Description
- \row
- \li \c QT_QUICK_CONTROLS_UNIVERSAL_THEME
- \li Specifies the default \l {universal-theme-attached-prop}{Universal theme}.
- The value can be one of the available themes, for example \c "Dark".
- \row
- \li \c QT_QUICK_CONTROLS_UNIVERSAL_ACCENT
- \li Specifies the default \l {universal-accent-attached-prop}{Universal accent color}.
- The value can be any \l {colorbasictypedocs}{color}, but it is recommended to use
- one of the \l {pre-defined Universal colors}, for example \c "Violet".
- \row
- \li \c QT_QUICK_CONTROLS_UNIVERSAL_FOREGROUND
- \li Specifies the default \l {universal-foreground-attached-prop}{Universal foreground color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Universal colors},
- for example \c "Brown".
- \row
- \li \c QT_QUICK_CONTROLS_UNIVERSAL_BACKGROUND
- \li Specifies the default \l {universal-background-attached-prop}{Universal background color}.
- The value can be any \l {colorbasictypedocs}{color}, or one of the \l {pre-defined Universal colors},
- for example \c "Steel".
-\endtable
-//! [env]
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-buttons.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-buttons.qdoc
deleted file mode 100644
index 6a4c5926..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-buttons.qdoc
+++ /dev/null
@@ -1,191 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-buttons.html
- \title Button Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for button controls
-
- Qt Quick Controls offers a selection of button-like controls.
-
- \annotatedlist qtquickcontrols2-buttons
-
- Each type of button has its own specific use case. The following
- sections offer guidelines for choosing the appropriate type of button,
- depending on the use case.
-
- \section1 Button Control
-
- \l Button is a clickable control that starts an action, or opens or
- closes a popup. A button usually has a text label but it can also
- contain an icon.
-
- Button is a very suitable control when a popup or dialog needs
- to perform an action. The most common examples are Apply, Cancel,
- Save, Close and Help.
-
- \image qtquickcontrols2-button.gif
-
- Recommendations:
-
- \list
- \li The button's text should be a verb describing the action, or a noun matching
- the title of the popup that will be opened.
- \li Don't use a button to set state. \l Switch is more suitable for that.
- \li Use the default font unless you have UI guidelines specifying otherwise.
- \li If the text is localized, consider the influence of a longer text on the layout.
- \endlist
-
- \b {See also} \l Button and \l AbstractButton
-
- \section1 CheckBox Control
-
- \image qtquickcontrols2-checkbox.gif
-
- \l CheckBox is used to build multi-selection option lists. Any number of
- options can be selected, including none, but the options should
- not be mutually exclusive.
-
- Use a single CheckBox for a yes/no choice, such as when you have
- to accept the terms of service agreement in a form.
-
- For a single yes/no choice, it is also possible to use a switch. If the choice
- concerns an option, it is best to use a CheckBox. If it concerns action to
- be taken, a switch is recommended.
-
- When options can be grouped, you can use a partially checked CheckBox to
- represent the whole group. Use the checkbox's
- \l {CheckBox::checkState}{partially checked state} when a user selects
- some, but not all, sub-items in the group.
-
- The three availables check states are: checked, partially checked and
- unchecked.
-
- The checkable options are often listed vertically.
-
- Recommendations:
- \list
- \li The checkbox label should be a statement that the check mark makes true,
- and that the absence of a check mark makes false.
- \li The checkbox label should not contain a negative statement.
- \li Use the default font, unless you have UI guidelines specifying otherwise.
- \li If the text is localized, consider the influence of a longer text on the layout.
- \endlist
-
- \b {See also} \l CheckBox
-
- \section1 DelayButton Control
-
- \l DelayButton is a button that incorporates a delay before triggering an action.
- This delay prevents accidental presses.
-
- \image qtquickcontrols2-delaybutton.gif
-
- Recommendations:
- \list
- \li Use in touch user interfaces.
- \li Use for actions that must be triggered with care.
- \endlist
-
- \b {See also} \l Button and \l AbstractButton
-
- \section1 RadioButton Control
-
- \image qtquickcontrols2-radiobutton.gif
-
- \l RadioButton is used to select only one option from a set of options.
- Selecting one option automatically deselects the one selected before.
-
- If there are only two mutually exclusive options, combine them into a
- single checkbox or a switch.
-
- Recommendations:
-
- \list
- \li Limit the label text to one line.
- \li Ensure that a sensible default option is checked.
- \li List RadioButton options vertically.
- \li If the text is localized, consider the influence of a longer text on the layout.
- \li Use the default font, unless you have UI guidelines that specify otherwise.
- \li Just like with CheckBox, do not make the list too large.
- \li In order to avoid confusion, do not put two groups of radio buttons next to each
- other.
- \endlist
-
- \b {See also} \l RadioButton
-
- \section1 RoundButton Control
-
- \l RoundButton is a clickable control that starts an action, or opens or
- closes a popup. A round button with a square image icon or one-letter font
- icon is circular. A circular RoundButton takes less space than a normal
- \l Button, and can also be used as a floating action button.
-
- \image qtquickcontrols2-roundbutton.png
-
- Recommendations:
-
- \list
- \li Keep labels short and concise.
- \li If the text is localized, consider the influence of a longer text on the layout.
- \endlist
-
- \b {See also} \l RoundButton
-
- \section1 Switch Control
-
- \image qtquickcontrols2-switch.png
-
- \l Switch represents a physical switch that allows users to choose between an "on"
- or "off" state.
- Use a switch for binary operations that take effect immediately after it has been
- switched on. For example, a switch to turn WIFI on or off.
-
- Recommendations:
-
- \list
- \li Keep labels short and concise.
- \li If the text is localized, consider the influence of a longer text on the layout.
- \endlist
-
- \b {See also} \l Switch
-
- \section1 ToolButton Control
-
- \image qtquickcontrols2-toolbutton.png
-
- \l ToolButton is nearly identical to \l Button, but it has a graphical
- appearance that makes it more suitable for insertion into a \l ToolBar.
-
- \b {See also} \l ToolButton
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc
deleted file mode 100644
index 8caa392f..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc
+++ /dev/null
@@ -1,206 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-configuration.html
- \keyword Qt Quick Controls Configuration File
- \title Qt Quick Controls Configuration File
- \keyword Qt Quick Controls 2 Configuration File
-
- Qt Quick Controls support a special configuration file, \c qtquickcontrols2.conf,
- which is built into an application's resources.
-
- The configuration file can specify the preferred style and certain style-specific
- attributes. The following example specifies that the preferred style is the \l {Material style}.
- Furthermore, when the application is run with the Material style, its theme is light and the
- accent and primary colors are teal and blue grey, respectively. However, if the application
- is run with the \l {Universal style} instead, the accent color is red and the appropriate theme
- is chosen based on the system theme colors.
-
- \code
- [Controls]
- Style=Material
-
- [Universal]
- Theme=System
- Accent=Red
-
- [Material]
- Theme=Light
- Accent=Teal
- Primary=BlueGrey
- \endcode
-
- It is possible to specify a custom location for the configuration file with
- the \l {Supported Environment Variables in Qt Quick Controls}
- {QT_QUICK_CONTROLS_CONF} environment variable.
-
- \section1 Controls Section
-
- The following values can be specified in a \c Controls section of the
- configuration file:
-
- \table
- \header
- \li Variable
- \li Description
- \row
- \li \c Style
- \li Specifies the style to run the application with.
- The value can be the name of one of the \l {Available Styles}{built-in styles}
- or a \l {Creating a Custom Style}{custom style}.
- \row
- \li \c FallbackStyle
- \li Specifies the style to use for controls that are not implemented.
- The style must be one of the \l {Available Styles}{built-in styles}.
- By default, the \l {Default Style}{Default} style is used.
- \endtable
-
- \section1 Imagine Section
-
- The following table lists values that can be used to configure the
- \l {Imagine style} in an \c Imagine section of the configuration file:
-
- \include qquickimaginestyle.qdocinc conf
-
- \section1 Material Section
-
- The following table lists values that can be used to configure the
- \l {Material style} in a \c Material section of the configuration file:
-
- \include qquickmaterialstyle.qdocinc conf
-
- \section1 Universal Section
-
- The following table lists values that can be used to configure the
- \l {Universal style} in a \c Universal section of the configuration file:
-
- \include qquickuniversalstyle.qdocinc conf
-
- \section1 Font Configuration
-
- The default \l {Control::font}{font} can be specified in a \c Font sub-group
- in each style's section in the configuration file. The \c Font sub-group can
- be defined in two alternative ways:
-
- \code
- [Default]
- Font\Family=Open Sans
- Font\PixelSize=20
-
- [Material\Font]
- Family=Open Sans
- PixelSize=20
- \endcode
-
- Supported font attributes:
- \table
- \header
- \li Variable
- \li Description
- \row
- \li \c Family
- \li The \l {QFont::family}{font family}.
- \row
- \li \c PointSize
- \li The \l {QFont::pointSizeF}{point size}.
- \row
- \li \c PixelSize
- \li The \l {QFont::pixelSize}{pixel size}.
- \row
- \li \c StyleHint
- \li The \l {QFont::styleHint}{style hint}.
- Available values: \c SansSerif, \c Helvetica, \c Serif, \c Times, \c TypeWriter, \c Courier,
- \c OldEnglish, \c Decorative, \c Monospace, \c Fantasy, \c Cursive.
- \row
- \li \c Weight
- \li The \l {QFont::}{weight}. Qt uses a weighting scale from \c 0 to \c 99 similar to,
- but not the same as, the scales used in Windows or CSS. A weight of \c 0 will be thin,
- whilst \c 99 will be extremely black.
- Available pre-defined weights: \c Thin (0), \c ExtraLight (12), \c Light (25), \c Normal (50),
- \c Medium (57), \c DemiBold (63), \c Bold (75), \c ExtraBold (81),
- \c Black (87).
- \row
- \li \c Style
- \li The \l {QFont::}{style}.
- Available values: \c StyleNormal, \c StyleItalic, \c StyleOblique.
- \endtable
-
- \section1 Palette Configuration
-
- The default \l {Control::palette}{palette} can be specified in a \c Palette sub-group
- in each style's section in the configuration file. The \c Palette sub-group can be
- defined in two alternative ways:
-
- \code
- [Fusion]
- Palette\Window=#dedede
- Palette\WindowText=#212121
- \endcode
-
- or:
- \code
- [Fusion\Palette]
- Window=#dedede
- WindowText=#212121
- \endcode
-
- See \l {qtquickcontrols2-palette}{palette QML Basic Type} for a full list of supported
- attributes.
-
- \section1 Using the Configuration File in a Project
-
- In order to make it possible for Qt Quick Controls to find the configuration file,
- it must be built into application's resources using the \l {The Qt Resource System}.
- Here's an example \c .qrc file:
-
- \code
- <!DOCTYPE RCC><RCC version="1.0">
- <qresource prefix="/">
- <file>qtquickcontrols2.conf</file>
- </qresource>
- </RCC>
- \endcode
-
- \note Qt Quick Controls uses a file selector to load the configuration file. It
- is possible to provide a different configuration file for different platforms and
- locales. See \l QFileSelector documentation for more details.
-
- Finally, the \c .qrc file must be listed in the application's \c .pro file so that
- the build system knows about it. For example:
-
- \code
- RESOURCES = application.qrc
- \endcode
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \li \l{Supported Environment Variables in Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-containers.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-containers.qdoc
deleted file mode 100644
index 81e24c26..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-containers.qdoc
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-containers.html
- \title Container Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for container controls
-
- Qt Quick Controls offers a selection of container-like controls.
-
- \annotatedlist qtquickcontrols2-containers
-
- Each type of container can be used to group a set of controls together.
- The following sections offer guidelines for choosing the appropriate type
- of container, depending on the use case.
-
- \section1 ApplicationWindow Control
-
- \image qtquickcontrols2-applicationwindow-wireframe.png
-
- \l ApplicationWindow creates the root window of an application, and makes
- it easy to add an optional header and footer to that window.
-
- \section1 Frame Control
-
- \image qtquickcontrols2-frame.png
-
- \l Frame is used to layout a logical group of controls together, within
- a visual frame.
-
- \section1 GroupBox Control
-
- \image qtquickcontrols2-groupbox.png
-
- \l GroupBox is used to layout a logical group of controls together,
- within a titled visual frame.
-
- \section1 Page Control
-
- \image qtquickcontrols2-page-wireframe.png
-
- \l Page provides page-specific header and footer items.
- It is perfectly possible to use ApplicationWindow for setting the header
- and the footer, but if you have a header and footer which varies per
- screen, then it is better to use \l Page.
-
- \section1 Pane Control
-
- \image qtquickcontrols2-pane.png
-
- \l Pane provides a background color that matches with the application
- style and theme. Pane does not provide a layout of its own, but requires
- you to position its contents, for instance by using a \l RowLayout or
- a \l ColumnLayout.
-
- \section1 ScrollView Control
-
- \image qtquickcontrols2-scrollview-wireframe.png
-
- \l ScrollView provides scrolling for user-defined content.
-
- \section1 StackView Control
-
- \image qtquickcontrols2-stackview-wireframe.png
-
- \l StackView organizes content pages into a stack using a last-in-first-out
- principle: the last item to be "pushed" onto the stack is the first one to
- be removed, and the top-most item is always the one that is visible.
-
- \section1 SwipeView Control
-
- \image qtquickcontrols2-swipeview-wireframe.png
-
- \l SwipeView organizes content pages into a swipable strip.
-
- \section1 TabBar Control
-
- \image qtquickcontrols2-tabbar-wireframe.png
-
- \l TabBar organizes content pages into tabs.
-
- \section1 ToolBar Control
-
- \image qtquickcontrols2-toolbar.png
-
- \l ToolBar is a container of application-wide and context-sensitive
- actions and controls.
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-cppclasses.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-cppclasses.qdoc
deleted file mode 100644
index 4a8ecfea..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-cppclasses.qdoc
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \module QtQuickControls2
- \keyword Qt Quick Controls C++ Classes
- \title Qt Quick Controls C++ Classes
- \keyword Qt Quick Controls 2 C++ Classes
- \ingroup modules
- \qtvariable quickcontrols2
-
- \brief Provides classes for setting up the controls from C++.
-
- The C++ types can be included into your application using the following
- include statement:
-
- \code
- #include <QtQuickControls2>
- \endcode
-
- \note If you are using a few classes from this module, we recommend including
- those specific classes only instead of the module.
-
- To link against the corresponding C++ libraries, add the following to your
- qmake project file:
-
- \code
- QT += quickcontrols2
- \endcode
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
deleted file mode 100644
index cd06a456..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
+++ /dev/null
@@ -1,893 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-customize.html
- \keyword Customizing Qt Quick Controls 2
- \title Customizing Qt Quick Controls
- \brief A set of UI controls to create user interfaces in Qt Quick
-
- Qt Quick Controls consist of a hierarchy (tree) of items. In order to
- provide a custom look and feel, the default QML implementation of each
- item can be replaced with a custom one.
-
- \section1 Customizing a Control
-
- Sometimes you'll want to create a "one-off" look for a specific part of
- your UI, and use a complete style everywhere else. Perhaps you're happy
- with the style you're using, but there's a certain button that has some
- special significance.
-
- The first way to create this button is to simply define it in-place,
- wherever it is needed. For example, perhaps you're not satisfied with the
- default style's Button having square corners. To make them rounded, you
- can override the \l {Control::}{background} item and set the radius
- property of Rectangle:
-
- \qml \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- width: 400
- height: 400
- visible: true
-
- Button {
- id: button
- text: "A Special Button"
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- color: button.down ? "#d6d6d6" : "#f6f6f6"
- border.color: "#26282a"
- border.width: 1
- radius: 4
- }
- }
- }
- \endqml
-
- The second way to create the button is good if you plan to use your rounded
- button in several places. It involves moving the code into its own QML file
- within your project.
-
- For this approach, we'll copy the background code from the default style's
- \c Button.qml. This file can be found in the following path in your Qt
- installation:
-
- \c {$QTDIR/qml/QtQuick/Controls.2/Button.qml}
-
- After doing that, we'll simply add the following line:
-
- \code
- radius: 4
- \endcode
-
- To avoid confusion with the controls in the
- module itself, we'll call the file \c MyButton.qml. To use the control in
- your application, refer to it by its filename:
-
- \qml \QtMinorVersion
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- MyButton {
- text: qsTr("A Special Button")
- }
- }
- \endqml
-
- The third way to create the button is a bit more structured, both in terms
- of where the file sits in the file system and how it is used in QML. First,
- copy an existing file as you did above, but this time, put it into a
- subfolder in your project named (for example) \c controls. To use the
- control, first import the folder into a namespace:
-
- \qml \QtMinorVersion
- import QtQuick.Controls 2.\1
- import "controls" as MyControls
-
- ApplicationWindow {
- MyControls.Button {
- text: qsTr("A Special Button")
- }
- }
- \endqml
-
- As you now have the \c MyControls namespace, you can name the controls after
- their actual counterparts in the Qt Quick Controls module. You can repeat
- this process for any control that you wish to add.
-
- An added benefit of these three methods is that it's not necessary to
- implement the template from scratch.
-
- \section1 Creating a Custom Style
-
- There are several ways to go about creating your own styles. Below, we'll
- explain the various approaches.
-
- \section2 Definition of a Style
-
- In Qt Quick Controls, a style is essentially an interchangeable set of
- QML files within a single directory. There are three requirements for a style
- to be \l {Using Styles in Qt Quick Controls}{usable}:
-
- \list
- \li At least one QML file whose name matches a control (for example,
- \c Button.qml) must exist.
- \li Each QML file must contain the relevant type from the \l {Qt Quick Templates 2}
- {QtQuick.Templates} import as the root item. For example,
- Button.qml must contain a Button template as its root item.
-
- If we instead used the corresponding type from the \l {Qt Quick Controls}
- {QtQuick.Controls} import as we did in the previous section, it would not work:
- the control we were defining would try to derive from itself.
- \li The files must be in a directory in the filesystem or in the
- \l {The Qt Resource System}{resource system}.
-
- For example, these are all valid paths to a style:
-
- \list
- \li \c {./myapp -style /home/absolute/path/to/my/style}
- \li \c {./myapp -style :/mystyle}
- \li \c {./myapp -style relative/path/to/my/style}
- \li \c {./myapp -style MyStyle}
- \endlist
-
- The third and fourth paths will be looked up within the QML engine's import path
- list. This is the same as what happens when you pass \c Material as the style,
- for example.
- \endlist
-
- By default, the styling system uses the Default style as a fallback for
- controls that aren't implemented. To customize or extend any other built-in
- style, it is possible to specify a different fallback style using \l QQuickStyle.
-
- What this means is that you can implement as many controls as you like for
- your custom style, and place them almost anywhere. It also allows users to
- create their own styles for your application.
-
- \section3 Previewing Custom Styles in Qt Quick Designer
-
- Using the approach above, it is possible to preview a custom style
- in \l {Using Qt Quick Designer}{Qt Quick Designer}. In order to do so,
- ensure that the project has a
- \l {Qt Quick Controls Configuration File}{qtquickcontrols2.conf} file,
- and that the following entry exists:
-
- \badcode
- [Controls]
- Style=MyStyle
- \endcode
-
- For more information, take a look at the
- \l {Qt Quick Controls - Flat Style}{Flat Style example}.
-
- \section2 Style-specific C++ Extensions
-
- Sometimes you may need to use C++ to extend your custom style. There are two
- ways to expose such types to QML:
-
- \list
- \li If the style that uses the type is the only style used by an application,
- it's enough to register it with the QML engine via qmlRegisterType():
-
- \code
- qmlRegisterType<ACoolCppItem>("MyApp", 1, 0, "ACoolItem");
- \endcode
-
- See \l {Using C++ Data From QML} for more information about this.
- \li If the style that uses the type is one of many styles used by an
- application, it may be better to only register it when necessary. This
- is the point at which it would make sense to implement your own
- \l {Creating C++ Plugins for QML}{QML plugin}.
-
- Using a plugin as part of your style is not that much different from
- using a set of QML files. The only difference is that the plugin and
- its \c qmldir file must be present in the same directory as the QML
- files.
- \endlist
-
- \section3 Attached properties
-
- It is common for a style to have certain properties or attributes that
- apply to all controls. \l {Attached Properties and Attached Signal
- Handlers}{Attached properties} are a great way of extending an item in QML
- without having to modify any existing C++ belonging to that item. For
- example, both the \l {Material Style}{Material} and \l {Universal
- Style}{Universal} styles have an attached theme property that controls
- whether an item and its children will be rendered in a light or dark theme.
-
- As an example, let's add an attached property that controls elevation. Our
- style will illustrate the elevation with a drop shadow; the higher the
- elevation, the larger the shadow.
-
- The first step is to \l {Qt Creator: Creating Qt Quick Projects}{create a new Qt Quick
- Controls 2 application} in Qt Creator. After that, we
- \l {Qt Creator: Creating C++ Classes}{add a C++ type} that stores the elevation. Since
- the type will be used for every control supported by our style, and because
- we may wish to add other attached properties later on, we'll call it
- MyStyle. Here is \c MyStyle.h:
-
- \code
- #ifndef MYSTYLE_H
- #define MYSTYLE_H
-
- #include <QObject>
- #include <QtQml>
-
- class MyStyle : public QObject
- {
- Q_OBJECT
- Q_PROPERTY(int elevation READ elevation WRITE setElevation NOTIFY elevationChanged)
-
- public:
- explicit MyStyle(QObject *parent = nullptr);
-
- static MyStyle *qmlAttachedProperties(QObject *object);
-
- int elevation() const;
- void setElevation(int elevation);
-
- signals:
- void elevationChanged();
-
- private:
- int m_elevation;
- };
-
- QML_DECLARE_TYPEINFO(MyStyle, QML_HAS_ATTACHED_PROPERTIES)
-
- #endif // MYSTYLE_H
- \endcode
-
- \c MyStyle.cpp:
-
- \code
- #include "mystyle.h"
-
- MyStyle::MyStyle(QObject *parent) :
- QObject(parent),
- m_elevation(0)
- {
- }
-
- MyStyle *MyStyle::qmlAttachedProperties(QObject *object)
- {
- return new MyStyle(object);
- }
-
- int MyStyle::elevation() const
- {
- return m_elevation;
- }
-
- void MyStyle::setElevation(int elevation)
- {
- if (elevation == m_elevation)
- return;
-
- m_elevation = elevation;
- emit elevationChanged();
- }
- \endcode
-
- The \c MyStyle type is special in the sense that it shouldn't be
- instantiated, but rather used for its attached properties. For that reason,
- we register it in the following manner in \c main.cpp:
-
- \code
- #include <QGuiApplication>
- #include <QQmlApplicationEngine>
-
- #include "mystyle.h"
-
- int main(int argc, char *argv[])
- {
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
-
- qmlRegisterUncreatableType<MyStyle>("MyStyle", 1, 0, "MyStyle", "MyStyle is an attached property");
-
- QQmlApplicationEngine engine;
- engine.load(QUrl(QLatin1String("qrc:/main.qml")));
-
- return app.exec();
- }
- \endcode
-
- We then copy \c Button.qml from the Default style in
- \c {$QTDIR/qml/QtQuick/Controls.2/} into a new \c myproject folder in our
- project directory. Add the newly copied \c Button.qml to \c qml.qrc, which is
- the resource file that contains our QML files.
-
- Next, we add a drop shadow to the \l {Control::}{background} delegate of
- the Button:
-
- \code \QtMinorVersion
- // ...
- import QtGraphicalEffects 1.\1
- import MyStyle 1.0
- // ...
-
- background: Rectangle {
- // ...
-
- layer.enabled: control.enabled && control.MyStyle.elevation > 0
- layer.effect: DropShadow {
- verticalOffset: 1
- color: control.visualFocus ? "#330066ff" : "#aaaaaa"
- samples: control.MyStyle.elevation
- spread: 0.5
- }
- }
- \endcode
-
- Note that we:
-
- \list
- \li Don't bother using the drop shadow when the elevation is \c 0
- \li Change the shadow's color depending on whether or not the button has
- focus
- \li Make the size of the shadow depend on the elevation
- \endlist
-
- To try out the attached property, we create a \l Row with two Buttons in
- \c main.qml:
-
- \qml \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- import MyStyle 1.0
-
- ApplicationWindow {
- id: window
- width: 400
- height: 400
- visible: true
-
- Row {
- spacing: 20
- anchors.centerIn: parent
-
- Button {
- text: "Button 1"
- }
- Button {
- text: "Button 2"
- MyStyle.elevation: 10
- }
- }
- }
- \endqml
-
- One button has no elevation, and the other has an elevation of \c 10.
-
- With that in place, we can run our example. To tell the application to
- use our new style, we pass \c {-style :/mystyle} as an application
- argument, but there are \l {Using Styles in Qt Quick Controls}{many
- ways} to specify the style to use.
-
- The end result:
-
- \image qtquickcontrols2-customize-buttons.png
-
- Note that the \c {import MyStyle 1.0} statement is only necessary
- because we are using the attached property belonging to \c MyStyle.
- Both buttons will use our custom style, even if we were to remove the
- import.
-
- \section1 Customization Reference
-
- The following snippets present examples where the default style's controls
- have been customized using the same approach as the
- \l {Customizing a Control} section. The code can be used as a starting
- point to implement a custom look and feel.
-
- \section2 Customizing ApplicationWindow
-
- ApplicationWindow consists of one visual item:
- \l {ApplicationWindow::background}{background}. It is also possible
- to customize the \l {ApplicationWindow::overlay}{modal} and
- \l {ApplicationWindow::overlay}{modeless} items.
-
- \code \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- visible: true
-
- background: Rectangle {
- gradient: Gradient {
- GradientStop { position: 0; color: "#ffffff" }
- GradientStop { position: 1; color: "#c1bbf9" }
- }
- }
-
- overlay.modal: Rectangle {
- color: "#8f28282a"
- }
-
- overlay.modeless: Rectangle {
- color: "#2f28282a"
- }
- }
- \endcode
-
-
- \section2 Customizing BusyIndicator
-
- BusyIndicator consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{contentItem}.
-
- \image qtquickcontrols2-busyindicator-custom.png
-
- \snippet qtquickcontrols2-busyindicator-custom.qml file
-
-
- \section2 Customizing Button
-
- Button consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-button-custom.png
-
- \snippet qtquickcontrols2-button-custom.qml file
-
-
- \section2 Customizing CheckBox
-
- CheckBox consists of three visual items: \l {Control::background}{background},
- \l {Control::contentItem}{contentItem} and \l {AbstractButton::indicator}{indicator}.
-
- \image qtquickcontrols2-checkbox-custom.png
-
- \snippet qtquickcontrols2-checkbox-custom.qml file
-
- \section2 Customizing CheckDelegate
-
- CheckDelegate consists of three visual items: \l {Control::background}{background},
- \l {Control::contentItem}{contentItem} and \l {AbstractButton::indicator}{indicator}.
-
- \image qtquickcontrols2-checkdelegate-custom.png
-
- \snippet qtquickcontrols2-checkdelegate-custom.qml file
-
-
- \section2 Customizing ComboBox
-
- ComboBox consists of \l {Control::background}{background},
- \l {Control::contentItem}{content item}, \l {ComboBox::popup}{popup},
- \l {ComboBox::indicator}{indicator}, and \l {ComboBox::delegate}{delegate}.
-
- \image qtquickcontrols2-combobox-custom.png
-
- \snippet qtquickcontrols2-combobox-custom.qml file
-
-
- \section2 Customizing DelayButton
-
- DelayButton consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-delaybutton-custom.png
-
- \snippet qtquickcontrols2-delaybutton-custom.qml file
-
-
- \section2 Customizing Dial
-
- Dial consists of two visual items: \l {Control::background}{background}
- and \l {Dial::handle}{handle}.
-
- \image qtquickcontrols2-dial-custom.png
-
- \snippet qtquickcontrols2-dial-custom.qml file
-
-
- \section2 Customizing Drawer
-
- Drawer can have a visual \l {Control::background}{background}
- item.
-
- \code
- background: Rectangle {
- Rectangle {
- x: parent.width - 1
- width: 1
- height: parent.height
- color: "#21be2b"
- }
- }
- \endcode
-
-
- \section2 Customizing Frame
-
- Frame consists of one visual item: \l {Control::background}{background}.
-
- \image qtquickcontrols2-frame-custom.png
-
- \snippet qtquickcontrols2-frame-custom.qml file
-
-
- \section2 Customizing GroupBox
-
- GroupBox consists of two visual items: \l {Control::background}{background}
- and \l {GroupBox::label}{label}.
-
- \image qtquickcontrols2-groupbox-custom.png
-
- \snippet qtquickcontrols2-groupbox-custom.qml file
-
-
- \section2 Customizing ItemDelegate
-
- ItemDelegate consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-itemdelegate-custom.png
-
- \snippet qtquickcontrols2-itemdelegate-custom.qml file
-
-
- \section2 Customizing Label
-
- Label can have a visual \l {Label::background}{background} item.
-
- \image qtquickcontrols2-label-custom.png
-
- \snippet qtquickcontrols2-label-custom.qml file
-
-
- \section2 Customizing Menu
-
- \list
- \li \l Menu consists of a visual \l {Popup::background}{background} item.
- \li \l MenuItem consists of four visual items: \l {Control::background}{background},
- \l {Control::contentItem}{content item}, \l {AbstractButton::}{indicator}, and
- \l {MenuItem::}{arrow}.
- \li \l MenuSeparator consists of a visual \l {Control::background}{background} and
- \l {Control::contentItem}{content item}.
- \endlist
-
- \image qtquickcontrols2-menu-custom.png
-
- \quotefromfile qtquickcontrols2-menu-custom.qml
- \skipto import QtQuick
- \printuntil import QtQuick.Controls
- \skipto Menu
- \printto eof
-
-
- \section2 Customizing MenuBar
-
- MenuBar can have a visual \l {Control::background}{background} item,
- and MenuBarItem consists of two visual items: \l {Control::background}
- {background} and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-menubar-custom.png
-
- \quotefromfile qtquickcontrols2-menubar-custom.qml
- \skipto import QtQuick
- \printuntil import QtQuick.Controls
- \skipto MenuBar
- \printto eof
-
-
- \section2 Customizing PageIndicator
-
- PageIndicator consists of a \l {Control::background}{background}, \l {Control::contentItem}{content item}, and \l {PageIndicator::delegate}{delegate}.
-
- \image qtquickcontrols2-pageindicator-custom.png
-
- \snippet qtquickcontrols2-pageindicator-custom.qml file
-
-
- \section2 Customizing Pane
-
- Pane consists of a \l {Control::background}{background}.
-
- \image qtquickcontrols2-pane-custom.png
-
- \snippet qtquickcontrols2-pane-custom.qml file
-
-
- \section2 Customizing Popup
-
- Popup consists of a \l {Popup::background}{background} and
- \l {Popup::contentItem}{content item}.
-
- \image qtquickcontrols2-popup-custom.png
-
- \quotefromfile qtquickcontrols2-popup-custom.qml
- \skipto import QtQuick 2.12
- \printuntil import QtQuick.Controls 2.12
- \codeline
- \skipto Popup
- \printuntil {
- \printuntil }
- \printuntil }
- \printuntil }
-
-
- \section2 Customizing ProgressBar
-
- ProgressBar consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-progressbar-custom.png
-
- \snippet qtquickcontrols2-progressbar-custom.qml file
-
-
- \section2 Customizing RadioButton
-
- RadioButton consists of three visual items: \l {Control::background}{background},
- \l {Control::contentItem}{content item} and \l {AbstractButton::indicator}{indicator}.
-
- \image qtquickcontrols2-radiobutton-custom.png
-
- \snippet qtquickcontrols2-radiobutton-custom.qml file
-
-
- \section2 Customizing RadioDelegate
-
- RadioDelegate consists of three visual items: \l {Control::background}{background},
- \l {Control::contentItem}{contentItem} and \l {AbstractButton::indicator}{indicator}.
-
- \image qtquickcontrols2-radiodelegate-custom.png
-
- \snippet qtquickcontrols2-radiodelegate-custom.qml file
-
-
- \section2 Customizing RangeSlider
-
- RangeSlider consists of three visual items:
- \l {Control::background}{background},
- \l {RangeSlider::first}{first.handle} and
- \l {RangeSlider::second.handle}{second.handle}.
-
- \image qtquickcontrols2-rangeslider-custom.png
-
- \snippet qtquickcontrols2-rangeslider-custom.qml file
-
-
- \section2 Customizing RoundButton
-
- RoundButton can be customized in the same manner as
- \l {Customizing Button}{Button}.
-
-
- \section2 Customizing ScrollBar
-
- ScrollBar consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-scrollbar-custom.png
-
- \snippet qtquickcontrols2-scrollbar-custom.qml file
-
-
- \section2 Customizing ScrollIndicator
-
- ScrollIndicator consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-scrollindicator-custom.png
-
- \snippet qtquickcontrols2-scrollindicator-custom.qml file
-
-
- \section2 Customizing ScrollView
-
- ScrollView consists of a \l {Control::background}{background} item,
- and horizontal and vertical scroll bars.
-
- \image qtquickcontrols2-scrollview-custom.png
-
- \snippet qtquickcontrols2-scrollview-custom.qml file
-
-
- \section2 Customizing Slider
-
- Slider consists of two visual items: \l {Control::background}{background},
- and \l {Slider::handle}{handle}.
-
- \image qtquickcontrols2-slider-custom.png
-
- \snippet qtquickcontrols2-slider-custom.qml file
-
-
- \section2 Customizing SpinBox
-
- SpinBox consists of four visual items: \l {Control::background}{background},
- \l {Control::contentItem}{contentItem}, \l {SpinBox::up.indicator}{up indicator},
- and \l {SpinBox::down.indicator}{down indicator}.
-
- \image qtquickcontrols2-spinbox-custom.png
-
- \snippet qtquickcontrols2-spinbox-custom.qml file
-
-
- \section2 Customizing SplitView
-
- SplitView consists of a visual \l {SplitView::handle}{handle} delegate.
-
- \image qtquickcontrols2-splitview-custom.png
-
- \snippet qtquickcontrols2-splitview-custom.qml 1
-
-
- \section2 Customizing StackView
-
- StackView can have a visual \l {Control::background}{background}
- item, and it allows customizing the transitions that are used for
- push, pop, and replace operations.
-
- \snippet qtquickcontrols2-stackview-custom.qml file
-
-
- \section2 Customizing SwipeDelegate
-
- SwipeDelegate consists of six visual items: \l {Control::background}{background},
- \l {Control::contentItem}{content item}, \l {AbstractButton::indicator}{indicator},
- \c swipe.left, \c swipe.right, and \c swipe.behind.
-
- \image qtquickcontrols2-swipedelegate-custom.png
-
- \snippet qtquickcontrols2-swipedelegate-custom.qml file
-
-
- \section2 Customizing SwipeView
-
- SwipeView can have a visual \l {Control::background}{background}
- item. The navigation is implemented by the \l {Control::contentItem}
- {content item}.
-
- \snippet qtquickcontrols2-swipeview-custom.qml file
-
-
- \section2 Customizing Switch
-
- Switch consists of three visual items: \l {Control::background}{background},
- \l {Control::contentItem}{content item} and \l {AbstractButton::indicator}{indicator}.
-
- \image qtquickcontrols2-switch-custom.png
-
- \snippet qtquickcontrols2-switch-custom.qml file
-
- \section2 Customizing SwitchDelegate
-
- SwitchDelegate consists of three visual items: \l {Control::background}{background},
- \l {Control::contentItem}{contentItem} and \l {AbstractButton::indicator}{indicator}.
-
- \image qtquickcontrols2-switchdelegate-custom.png
-
- \snippet qtquickcontrols2-switchdelegate-custom.qml file
-
-
- \section2 Customizing TabBar
-
- TabBar consists of two visual items: \l {Control::background}{background},
- and \l {Control::contentItem}{contentItem}.
-
- \image qtquickcontrols2-tabbar-custom.png
-
- \snippet qtquickcontrols2-tabbar-custom.qml file
-
-
- \section2 Customizing TabButton
-
- TabButton can be customized in the same manner as
- \l {Customizing Button}{Button}.
-
-
- \section2 Customizing TextArea
-
- TextArea consists of a \l {TextArea::background}{background} item.
-
- \image qtquickcontrols2-textarea-custom.png
-
- \snippet qtquickcontrols2-textarea-custom.qml file
-
-
- \section2 Customizing TextField
-
- TextField consists of a \l {TextField::background}{background} item.
-
- \image qtquickcontrols2-textfield-custom.png
-
- \snippet qtquickcontrols2-textfield-custom.qml file
-
-
- \section2 Customizing ToolBar
-
- ToolBar consists of one visual item: \l {Control::background}{background}.
-
- \image qtquickcontrols2-toolbar-custom.png
-
- \snippet qtquickcontrols2-toolbar-custom.qml file
-
-
- \section2 Customizing ToolButton
-
- ToolButton consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-toolbutton-custom.png
-
- \snippet qtquickcontrols2-toolbutton-custom.qml file
-
-
- \section2 Customizing ToolSeparator
-
- ToolSeparator consists of two visual items: \l {Control::background}{background}
- and \l {Control::contentItem}{content item}.
-
- \image qtquickcontrols2-toolseparator-custom.png
-
- \snippet qtquickcontrols2-toolseparator-custom.qml file
-
-
- \section2 Customizing ToolTip
-
- ToolTip consists of two visual items: \l {Popup::background}{background}
- and \l {Popup::contentItem}{content item}.
-
- \quotefromfile qtquickcontrols2-tooltip-custom.qml
- \skipto import QtQuick
- \printuntil import QtQuick.Controls
- \skipto ToolTip
- \printuntil }
- \printuntil }
- \printuntil }
-
-
- \section2 Customizing Tumbler
-
- Tumbler consists of three visual items:
- \l {Control::background}{background},
- \l {Control::contentItem}{contentItem}, and
- \l {Tumbler::delegate}{delegate}.
-
- \image qtquickcontrols2-tumbler-custom.png
-
- \snippet qtquickcontrols2-tumbler-custom.qml file
-
- If you want to define your own contentItem, use either a \l ListView or
- \l PathView as the root item. For a wrapping Tumbler, use PathView:
-
- \snippet qtquickcontrols2-tumbler-pathView.qml contentItem
-
- For a non-wrapping Tumbler, use ListView:
-
- \snippet qtquickcontrols2-tumbler-listView.qml contentItem
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-default.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-default.qdoc
deleted file mode 100644
index 779f3241..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-default.qdoc
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-default.html
- \title Default Style
-
- The Default style is a basic all-round style.
-
- The Default style is a simple and light-weight style that offers the maximum
- performance for Qt Quick Controls. It is built with a minimal amount of Qt
- Quick primitives, and keeps animations and transitions to the minimum.
-
- \image qtquickcontrols2-default.png
-
- The style is selected by default when running Qt Quick Controls applications.
- It is built into the module's resources, so by default it is shipped with
- any application that depends on the Qt Quick Controls module
-
- \note The Default style is used as a fallback for other styles. If a style
- does not implement a certain control, the Default style implementation of
- that control is selected.
-
- \b {See also} \l {Material Style}, \l {Universal Style}
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-delegates.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-delegates.qdoc
deleted file mode 100644
index bea87abf..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-delegates.qdoc
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-delegates.html
- \title Delegate Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for delegate controls
-
- Qt Quick Controls offers a selection of controls that are used as
- delegates in views.
-
- \annotatedlist qtquickcontrols2-delegates
-
- Each type of delegate has its own specific target use case. The following
- sections offer guidelines for choosing the appropriate type of delegate,
- depending on the use case.
-
- \section1 ItemDelegate Control
-
- \image qtquickcontrols2-itemdelegate.gif
-
- \l ItemDelegate presents a checkable control that can be pressed and
- clicked by the user.
-
- \section1 RadioDelegate Control
-
- \image qtquickcontrols2-radiodelegate.gif
-
- \l RadioDelegate presents a checkable control that can be toggled on
- (checked) or off (unchecked). Radio delegates are typically used to select
- one option from a set of options.
-
- \b {See also} \l {RadioButton Control}.
-
- \section1 SwipeDelegate Control
-
- \image qtquickcontrols2-swipedelegate.gif
-
- \l SwipeDelegate presents a view item that can be swiped left or right to
- expose more options or information.
-
- \section1 SwitchDelegate Control
-
- \image qtquickcontrols2-switchdelegate.gif
-
- \l SwitchDelegate presents a switchable delegate that can be toggled on or off.
-
- \b {See also} \l {Switch Control}.
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-deployment.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-deployment.qdoc
deleted file mode 100644
index 7b27c9d5..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-deployment.qdoc
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-deployment.html
- \title Deploying Qt Quick Controls Applications
-
- Deployment of Qt Quick Controls applications is very similar to
- deployment of other types of Qt applications. However, there are a few
- factors to consider.
-
- \section1 Deploying an Application with Several Styles
-
- Suppose you have an application that will be deployed to both Android and
- Windows devices. To ensure that only the minimum set of files that are
- necessary for the application to run are deployed to each device, you can
- use file selectors. For example, your directory structure could look like
- this:
-
- \code
- resources.qrc
- main.qml
- +windows/MyPage.qml
- +windows/qtquickcontrols2.conf
- +android/MyPage.qml
- +android/qtquickcontrols2.conf
- \endcode
-
- In the project above, \c main.qml would import \c QtQuick.Controls, for
- example, but shouldn't import, say, \c QtQuick.Controls.Material. Any code
- that is style-specific is moved out into separate files; just as we've done
- for \c MyPage.qml.
-
- The \c +windows/qtquickcontrols2.conf file would contain configuration
- options specific to the Universal style:
-
- \code
- [Controls]
- Style=Universal
-
- [Universal]
- Theme=Dark
- Accent=Red
- \endcode
-
- The \c +android/qtquickcontrols2.conf file would contain configuration
- options specific to the Material style:
-
- \code
- [Controls]
- Style=Material
-
- [Material]
- Theme=Light
- Accent=Brown
- \endcode
-
- \section1 Static Builds
-
- For dynamically built applications, it is not necessary to import a
- specific style that should be usable by that application. For statically
- built applications, Qt's build system must be involved to ensure that
- QML plugins function as expected. Specifically, \c qmake uses
- \c qmlimportscanner to scan the QML files in your application for import
- statements. For this reason, any styles that should be usable by a
- statically built application must explicitly import that style. Where the
- import occurs is up to the developer, but it is recommended to follow the
- approach mentioned in the \l {Deploying an Application with Several Styles}
- section, so that only the minimum set of files that are necessary for a
- particular device are deployed.
-
- \sa {Deploying Qt Applications}
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc
deleted file mode 100644
index bfb27dcb..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc
+++ /dev/null
@@ -1,689 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-differences.html
- \title Differences with Qt Quick Controls 1
-
- Qt Quick Controls 1 was originally developed to support desktop platforms,
- with mobile and embedded support coming shortly afterwards. They have a
- very broad scope, in that they provide a styling system flexible enough to
- allow the development of applications that have either a platform-dependent
- or platform-independent style.
-
- On embedded systems, where the hardware has limited resources, this approach
- can be inefficient. Qt Quick Controls was designed to solve this problem,
- using
- \l {https://blog.qt.io/blog/2015/03/31/qt-quick-controls-for-embedded/}{benchmarks}
- to guide the development.
-
- \section2 C++ and QML
-
- In many cases, the internal state of a control can be more efficiently
- processed in C++. For example, handling input events in C++ makes a
- difference for controls that would otherwise need to create internal
- MouseAreas and attached Keys objects.
-
- \section2 Styles
-
- Not only does handling events and logic in C++ increase performance, but it
- allows the visual QML layer to be a simple, declarative layer on top. This
- is reflected in the structure of the controls project: all visual
- implementations sit in the \e imports folder, so that users who want to
- create their own complete style can copy the folder and start tweaking.
- Read more about implementing a style plugin
- \l {Creating a Custom Style}{here}.
-
- In Qt Quick Controls, styles no longer provide components that are
- dynamically instantiated by controls, but controls themselves consist of
- item delegates that can be replaced. In effect, this means that delegates
- are Qt Quick items that are instantiated on the spot, as properties of the
- control, and are simply parented to the control.
-
- \section2 Modularity and Simplicity
-
- When it comes to more complex controls, it is sometimes better to split
- them up into separate building blocks. As an example, the complex
- ScrollView control:
-
- \qml
- ScrollView {
- horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
- Flickable {
- // ...
- }
- }
- \endqml
-
- Is replaced with simple ScrollBar/ScrollIndicator controls that can be
- attached to any Flickable:
-
- \qml
- Flickable {
- // ...
- ScrollBar.vertical: ScrollBar { }
- }
- \endqml
-
- The API of Qt Quick Controls aims to be clean and simple. Common
- operations are easy, and more advanced ones are liberally documented with
- snippets that can be copied into your code.
-
- \section2 Feature Comparison Table
-
- \table
- \header
- \li
- \li Qt Quick Controls 1
- \li Qt Quick Controls
- \row
- \li Stylable delegates
- \li Yes
- \li Yes
- \row
- \li Pre-built native styles
- \li Yes
- \li No
- \row
- \li Runtime style/theme changes
- \li Yes \sup 1
- \li Yes \sup 2
- \row
- \li Can be used on Desktop
- \li Yes
- \li Yes
- \row
- \li Can be used on Mobile
- \li Yes \sup 3
- \li Yes
- \row
- \li Can be used on Embedded
- \li Yes \sup 3
- \li Yes
- \row
- \li Internal event handling
- \li QML
- \li C++
- \endtable
-
- \list 1
- \li Not officially supported, but technically possible via private APIs
- \li Only themes for specific styles can be changed at runtime, styles are fixed
- \li Performance may not be optimal
- \endlist
-
- \section2 Porting Qt Quick Controls 1 Code
-
- The API of Qt Quick Controls is very similar to Qt Quick Controls 1, but it
- does come with some changes necessary to facilitate the improvements. The
- majority of changes are to do with styling; all of a control's delegates
- are now accessible in the control itself, instead of in a separate style
- object.
-
- For example, to style a button in Qt Quick Controls 1:
-
- \qml
- Button {
- style: ButtonStyle {
- label: Label {
- // ...
- }
- }
- }
- \endqml
-
- To style a button in Qt Quick Controls:
-
- \qml
- Button {
- contentItem: Label {
- // ...
- }
- }
- \endqml
-
- \section3 Preparing for Migration
-
- With this in mind, a good way to prepare for a migration to Qt Quick
- Controls 2 is to place each control that you have a custom style for in its
- own QML file. For example, the Qt Quick Controls 1 button above could be
- moved to a file named \c Button.qml in a directory named \c controls, and
- used in the following manner:
-
- \qml
- import "controls" as Controls
-
- Controls.Button {
- // ...
- }
- \endqml
-
- This works with both modules, and will reduce the amount of work needed
- when the migration begins.
-
- \section2 Type Comparison Table
-
- The first column lists all types available in \l {Qt Quick Controls 1},
- \l {Qt Quick Dialogs}, and \l {Qt Quick Extras}.
- The second column documents the respective type in Qt Quick Controls.
- When a direct alternative is not available, the third column contains
- an alternative that provides related functionality. The last column
- contains some remarks about the differences between the types in the
- different modules.
-
- \table
- \header
- \li Qt Quick Controls 1
- \li Qt Quick Controls
- \li Alternatives
- \li Remarks
- \row
- \li \l [QML QtQuickControls1] {Action}
- \li \l [QML QtQuickControls2] {Action}
- \li \l [QML QtQuick] {Shortcut} \br\sup {(Qt Quick)}
- \li
- \row
- \li \l [QML QtQuickControls1] {ApplicationWindow}
- \li \l [QML QtQuickControls2] {ApplicationWindow}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {BusyIndicator}
- \li \l [QML QtQuickControls2] {BusyIndicator}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {Button}
- \li \l [QML QtQuickControls2] {Button}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {Calendar}
- \li \mdash
- \li \l [QML QtLabsCalendar] {MonthGrid},\br
- \l [QML QtLabsCalendar] {DayOfWeekRow},\br
- \l [QML QtLabsCalendar] {WeekNumberColumn} \br\sup {(Qt Labs Calendar)}
- \li \list
- \li \b {Qt Labs Calendar}: \c MonthGrid, \c DayOfWeek, and \c WeekNumberColumn
- are \e experimental unstyled building blocks for calendar views.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {CheckBox}
- \li \l [QML QtQuickControls2] {CheckBox}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {ComboBox}
- \li \l [QML QtQuickControls2] {ComboBox}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {ExclusiveGroup}
- \li \mdash
- \li \l [QML QtQuickControls2] {ActionGroup},\br
- \l [QML QtQuickControls2] {ButtonGroup} \br\sup {(Qt Quick Controls)}
- \li \list
- \li \b {Qt Quick Controls}: \c ActionGroup and \c ButtonGroup offer similar functionality.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {GroupBox}
- \li \l [QML QtQuickControls2] {GroupBox}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {Label}
- \li \l [QML QtQuickControls2] {Label}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {Menu}
- \li \l [QML QtQuickControls2] {Menu}
- \li \l [QML QtLabsPlatform] {Menu} \br\sup {(Qt Labs Platform)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c Menu is native on platforms where an
- implementation is available in the Qt Platform Abstraction Layer.
- Other platforms use a QML-based top-level menu popup window. \c Menu
- supports traditional desktop style cascading submenus, but does not
- work on Embedded Linux because \l EGLFS does not support multiple
- top-level windows.
- \li \b {Qt Quick Controls}: \c Menu is a non-native \c Item-based popup
- that is stacked above the application content. Due to this, menu popups
- are restricted within window boundaries. \c Menu is fully customizable
- using QML and Qt Quick, and allows adding any \c Items. Traditional
- desktop oriented features, such as cascading submenus and visualizing
- keyboard shortcuts are missing.
- \li \b {Qt Labs Platform}: \c Menu is an \e experimental native menu that
- uses Qt Widgets as a fallback on platforms where a native implementation
- is not available in the Qt Platform Abstraction Layer.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {MenuBar}
- \li \l [QML QtQuickControls2] {MenuBar}
- \li \l [QML QtLabsPlatform] {MenuBar} \br\sup {(Qt Labs Platform)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c MenuBar is native on platforms where an
- implementation is available in the Qt Platform Abstraction Layer. Other
- platforms use a QML-based menubar item stacked at the top of the window.
- \li \b {Qt Quick Controls}: \c MenuBar is a non-native QML-based menubar
- that can be fully customized using QML and Qt Quick.
- \li \b {Qt Labs Platform}: \c MenuBar is an \e experimental native menubar.
- It is only available on platforms where a native implementation is available
- in the Qt Platform Abstraction Layer.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {MenuItem},\br
- \l [QML QtQuickControls1] {MenuSeparator}
- \li \l [QML QtQuickControls2] {MenuItem},\br
- \l [QML QtQuickControls2] {MenuSeparator}
- \li \l [QML QtLabsPlatform] {MenuItem},\br
- \l [QML QtLabsPlatform] {MenuSeparator} \br\sup {(Qt Labs Platform)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c MenuItem and \c MenuSeparator are native
- on platforms where an implementation is available in the Qt Platform
- Abstraction Layer. Other platforms use QML-based menu items and separators.
- \li \b {Qt Quick Controls}: \c MenuItem and \c MenuSeparator are a non-native
- QML-based menu items and separators that can be fully customized using QML
- and Qt Quick.
- \li \b {Qt Labs Platform}: \c MenuItem and \c MenuSeparator are \e experimental
- native menu items and separators.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {ProgressBar}
- \li \l [QML QtQuickControls2] {ProgressBar}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {RadioButton}
- \li \l [QML QtQuickControls2] {RadioButton}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {ScrollView}
- \li \l [QML QtQuickControls2] {ScrollView}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {Slider}
- \li \l [QML QtQuickControls2] {Slider}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {SpinBox}
- \li \l [QML QtQuickControls2] {SpinBox}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {SplitView}
- \li \l [QML QtQuickControls2] {SplitView}
- \li
- \li \list
- \li \b {Qt Quick Controls 1}: Uses \l Layout attached properties
- to specify size hints.
- \li \b {Qt Quick Controls}: Uses dedicated
- \l [QML QtQuickControls2] {SplitView} attached properties
- to specify size hints.
- Allows \l {SplitView::saveState()}{saving} and
- \l {SplitView::restoreState()}{restoring} state.
- Separate attached \l SplitHandle API for managing split
- handles.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {StackView},\br
- \l [QML QtQuickControls1] {StackViewDelegate},\br
- \l [QML QtQuickControls1] {Stack}
- \li \l [QML QtQuickControls2] {StackView}
- \li
- \li \list
- \li \b {Qt Quick Controls}: \c StackView provides customizable transitions
- and attached properties via a single \c StackView type.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {StatusBar}
- \li \mdash
- \li \l [QML QtQuickControls2] {ToolBar} \br\sup {(Qt Quick Controls)}
- \li \list
- \li \b {Qt Quick Controls}: \c ApplicationWindow allows assigning any
- item or control, such as \c ToolBar, as a header or footer.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {Switch}
- \li \l [QML QtQuickControls2] {Switch}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {TabView},\br
- \l [QML QtQuickControls1] {Tab}
- \li \mdash
- \li \l [QML QtQuickControls2] {TabBar},\br
- \l [QML QtQuickControls2] {TabButton} \br\sup {(Qt Quick Controls)}
- \li \list
- \li \b {Qt Quick Controls}: \c TabBar and \c TabButton offer similar
- functionality, and can be used to build tabbed views.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {TableView}
- \li \mdash
- \li The new \l [QML QtQuick] {TableView} can be found in the Qt Quick
- module.
- \li
- \row
- \li \l [QML QtQuickControls1] {TextArea}
- \li \l [QML QtQuickControls2] {TextArea}
- \li
- \li \list
- \li \b {Qt Quick Controls 1}: \c TextArea inherits \c ScrollView and is therefore
- always a scrollable editor.
- \li \b {Qt Quick Controls}: \c TextArea is a simpler multi-line editor that can
- be optionally attached to a \c Flickable to provide scrolling functionality.
- This allows using \c TextArea in a scrollable page without having two nested
- scrollable areas, which can be problematic and cause usability issues.
- \endlist
- \row
- \li \l [QML QtQuickControls1] {TextField}
- \li \l [QML QtQuickControls2] {TextField}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {ToolBar}
- \li \l [QML QtQuickControls2] {ToolBar}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {ToolButton}
- \li \l [QML QtQuickControls2] {ToolButton}
- \li
- \li
- \row
- \li \l [QML QtQuickControls1] {TreeView}
- \li \mdash
- \li
- \li
-
- \header
- \li Qt Quick Dialogs
- \li Qt Quick Controls
- \li Alternatives
- \li Remarks
- \row
- \li \l [QML QtQuickDialogs] {Dialog}
- \li \mdash
- \li \l [QML QtQuickControls2] {Dialog}
- \li \list
- \li \b {Qt Quick Dialogs}: \c Dialog is either a top-level window or an \c Item-based popup
- depending on whether the underlying platform supports multiple top-level windows.
- \li \b {Qt Quick Controls}: \c Dialog is not a top-level window, but an \c Item-based
- popup that is stacked above the application content. Due to this, dialogs are restricted
- within window boundaries.
- \endlist
- \row
- \li \l [QML QtQuickDialogs] {ColorDialog},\br
- \l [QML QtQuickDialogs] {FileDialog},\br
- \l [QML QtQuickDialogs] {FontDialog},\br
- \l [QML QtQuickDialogs] {MessageDialog}
- \li \mdash
- \li \l [QML QtLabsPlatform] {ColorDialog},\br
- \l [QML QtLabsPlatform] {FileDialog},\br
- \l [QML QtLabsPlatform] {FolderDialog},\br
- \l [QML QtLabsPlatform] {FontDialog},\br
- \l [QML QtLabsPlatform] {MessageDialog} \br\sup {(Qt Labs Platform)}
- \li \list
- \li \b {Qt Quick Dialogs}: Dialogs are native on platforms where an implementation
- is available in the Qt Platform Abstraction Layer. Other platforms use either
- Qt Widgets or QML-based dialogs depending on whether the underlying platform
- supports multiple top-level windows.
- \li \b {Qt Labs Platform}: \e Experimental native dialogs that use Qt Widgets as
- a fallback on platforms where a native implementation is not available in the
- Qt Platform Abstraction Layer.
- \endlist
-
- \header
- \li Qt Quick Extras
- \li Qt Quick Controls
- \li Alternatives
- \li Remarks
- \row
- \li \l [QML QtQuickExtras] {CircularGauge}
- \li \mdash
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {DelayButton}
- \li \l [QML QtQuickControls2] {DelayButton}
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {Dial}
- \li \l [QML QtQuickControls2] {Dial}
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {Gauge}
- \li \mdash
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {Picture}
- \li \mdash
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {PieMenu}
- \li \mdash
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {StatusIndicator}
- \li \mdash
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {ToggleButton}
- \li \mdash
- \li
- \li
- \row
- \li \l [QML QtQuickExtras] {Tumbler},\br
- \l [QML QtQuickExtras] {TumblerColumn}
- \li \l [QML QtQuickControls2] {Tumbler}
- \li
- \li \list
- \li \b {Qt Quick Extras}: \c Tumbler can consist of multiple columns.
- \li \b {Qt Quick Controls}: \c Tumbler presents a single spinnable wheel.
- Multiple columns can be created by placing multiple \c Tumblers next
- to each other.
- \endlist
-
- \header
- \li No Predecessor
- \li Qt Quick Controls
- \li Alternatives
- \li Remarks
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {AbstractButton}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {ActionGroup}
- \li \l [QML QtQuickControls1] {ExclusiveGroup} \br\sup {(Qt Quick Controls 1)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c ExclusiveGroup offers similar functionality.
- \endlist
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {ButtonGroup}
- \li \l [QML QtQuickControls1] {ExclusiveGroup} \br\sup {(Qt Quick Controls 1)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c ExclusiveGroup offers similar functionality.
- \endlist
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {CheckDelegate}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Container}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Control}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Drawer}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Frame}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {ItemDelegate}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Page}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {PageIndicator}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Pane}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {Popup}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {RadioDelegate}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {RangeSlider}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {RoundButton}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {ScrollBar},\br
- \l [QML QtQuickControls2] {ScrollIndicator}
- \li \l [QML QtQuickControls1] {ScrollView} \br\sup {(Qt Quick Controls 1)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c ScrollView offers similar functionality.
- It combines horizontal and vertical scrollbars, and the background and
- frame around the scrollable view.
- \endlist
- \row
- \li \mdash
- \li \mdash
- \li \l [QML QtLabsPlatform] {StandardPaths} \br\sup {(Qt Labs Platform)}
- \li \list
- \li \b {Qt Quick Dialogs}: \c FileDialog offers a shortcut property that can be used
- to access the most common standard paths.
- \li \b {Qt Labs Platform}: \c StandardPaths offers a separate type to give full access
- to the standard paths.
- \endlist
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {SwipeDelegate}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {SwipeView}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {SwitchDelegate}
- \li
- \li
- \row
- \li \mdash
- \li \mdash
- \li \l [QML QtLabsPlatform] {SystemTrayIcon} \br\sup {(Qt Labs Platform)}
- \li \list
- \li \b {Qt Labs Platform}: \c SystemTrayIcon is an \e experimental native
- system tray icon that uses Qt Widgets as a fallback on platforms where
- a native implementation is not available in the Qt Platform Abstraction
- Layer.
- \endlist
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {TabBar},\br
- \l [QML QtQuickControls2] {TabButton}
- \li \l [QML QtQuickControls1] {TabView} \br\sup {(Qt Quick Controls 1)}
- \li \list
- \li \b {Qt Quick Controls 1}: \c TabView offers similar functionality.
- It combines the tab bar, background and frame around the tabs.
- \endlist
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {ToolSeparator}
- \li
- \li
- \row
- \li \mdash
- \li \l [QML QtQuickControls2] {ToolTip}
- \li
- \li \list
- \li \b {Qt Quick Controls 1}: \c Button and \c Action have built-in
- Qt Widgets-based tooltips.
- \li \b {Qt Quick Controls}: \c ToolTip can be attached to any \c Item.
- \endlist
- \endtable
-
- \section1 Related Information
-
- \list
- \li \l{Qt Quick}
- \li \l{Qt Quick Controls QML Types}
- \li \l{Qt Quick Controls 1 QML Types}
- \li \l{Qt Quick Extras QML Types}
- \li \l{Qt Labs Calendar QML Types}
- \li \l{Qt Labs Platform QML Types}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-environment.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-environment.qdoc
deleted file mode 100644
index 37be7b4c..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-environment.qdoc
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-environment.html
- \title Supported Environment Variables in Qt Quick Controls
-
- This page contains a list of all environment variables that Qt Quick Controls
- supports. The environment variables are primarily meant for testing purposes, but
- they can also be used to set system-wide defaults.
-
- \table
- \header
- \li Variable
- \li Description
- \row
- \li \c QT_QUICK_CONTROLS_STYLE
- \li Specifies the default \l {Styling Qt Quick Controls}{Qt Quick Controls style}.
- The value can be either one of the built-in styles, for example \c "Material",
- or the path to a custom style such as \c ":/mystyle".
- \row
- \li \c QT_QUICK_CONTROLS_FALLBACK_STYLE
- \li Specifies a fallback style for \l {Creating a Custom Style}{custom styles}.
- The value can be one of the built-in styles, for example \c "Material",
- \row
- \li \c QT_QUICK_CONTROLS_STYLE_PATH
- \li Specifies a list of additional paths that are used to lookup \l {Styling Qt Quick Controls}
- {Qt Quick Controls styles}. Multiple path entries must be \l {QDir::listSeparator}{separated}
- by \c ':' under Unix and \c ';' under Windows. By default, styles are looked up from
- \c $QML2_IMPORT_PATH/QtQuick/Controls.2.
- \row
- \li \c QT_QUICK_CONTROLS_CONF
- \li Specifies the location of the \l {Qt Quick Controls configuration file}.
- By default, the configuration file is loaded from the application's
- resources in \c ":/qtquickcontrols2.conf".
- \row
- \li \c QT_QUICK_CONTROLS_HOVER_ENABLED
- \li Specifies whether Qt Quick Controls use \l {Control::hoverEnabled}{hover effects}.
- The value can be set to \c 0 or \c 1 to disable or enable hover effects, respectively.
- \endtable
-
- \l {Imagine style} specific environment variables:
-
- \include qquickimaginestyle.qdocinc env
-
- \l {Material style} specific environment variables:
-
- \include qquickmaterialstyle.qdocinc env
-
- \l {Universal style} specific environment variables:
-
- \include qquickuniversalstyle.qdocinc env
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \li \l{Qt Quick Controls Configuration File}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-examples.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-examples.qdoc
deleted file mode 100644
index 2924114f..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-examples.qdoc
+++ /dev/null
@@ -1,37 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \group qtquickcontrols2-examples
- \ingroup all-examples
- \keyword Qt Quick Controls Examples
- \title Qt Quick Controls Examples
- \keyword Qt Quick Controls 2 Examples
- \brief A collection of examples for \l {Qt Quick Controls}
-
- These examples demonstrate creating user interfaces using \l {Qt Quick Controls}.
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-fileselectors.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-fileselectors.qdoc
deleted file mode 100644
index d73d1abe..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-fileselectors.qdoc
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-fileselectors.html
- \title Using File Selectors with Qt Quick Controls
-
- \l {QFileSelector}{File selectors} provide a convenient way of selecting
- file variants. Qt offers the platform name and the locale as built-in
- selectors. Qt Quick Controls extends the built-in selectors with the name
- (lowercase) of the style that an application is running with.
-
- By using file selectors, style-specific tweaks can be applied without
- creating a hard dependency to a style. From the available file variants,
- only the selected QML file is loaded by the QML engine. Each file variant
- can assume the context, that is, a specific style. This typically leads
- to some code duplication, but on the other hand, cuts the aforementioned
- hard dependency to the style, and leads to simpler and more efficient
- QML code. The same technique is used to implement the \l {Styling Qt
- Quick Controls}{Qt Quick Controls styles}.
-
- The following example demonstrates a custom rounded button that has a
- styled drop shadow in the \l {Material Style}{Material style}, and looks
- flat in other styles. The files are organized so that the Material version
- of \c CustomButton.qml is placed into a \c +material sub-directory.
-
- \code
- :/main.qml
- :/CustomButton.qml
- :/+material/CustomButton.qml
- \endcode
-
- By default, \c main.qml will use \c CustomButton.qml for the \c CustomButton
- type. However, when the application is run with the Material style, the
- \c material selector will be present and the \c +material/CustomButton.qml
- version will be used instead.
-
- \code \QtMinorVersion
- // main.qml
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- id: window
- visible: true
-
- CustomButton {
- text: "Button"
- anchors.centerIn: parent
- }
- }
- \endcode
-
- The base implementation of the custom button is a simple rounded
- flat button.
-
- \code \QtMinorVersion
- // CustomButton.qml
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- Button {
- id: control
-
- background: Rectangle {
- radius: width / 2
- implicitWidth: 36
- implicitHeight: 36
- color: control.pressed ? "#ccc" : "#eee"
- }
- }
- \endcode
-
- The Material style's implementation of the custom button imports the
- Material style, requests a dark theme to get light text, and creates
- a drop shadow for the background.
-
- \code \QtMinorVersion
- // +material/CustomButton.qml
- import QtQuick 2.\1
- import QtGraphicalEffects 1.\1
- import QtQuick.Controls 2.\1
- import QtQuick.Controls.Material 2.\1
-
- Button {
- id: control
-
- Material.theme: Material.Dark
-
- background: Rectangle {
- implicitWidth: 48
- implicitHeight: 48
- color: Material.accentColor
- radius: width / 2
-
- layer.enabled: control.enabled
- layer.effect: DropShadow {
- verticalOffset: 1
- color: Material.dropShadowColor
- samples: control.pressed ? 20 : 10
- spread: 0.5
- }
- }
- }
- \endcode
-
- \note It is recommended to use \l QQmlApplicationEngine, which internally
- creates a \l QQmlFileSelector instance. This is all that is needed to take
- QML file selectors into use.
-
- \section1 Related Information
- \list
- \li \l {QFileSelector}
- \li \l {QQmlFileSelector}
- \li \l {Styling Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-focus.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-focus.qdoc
deleted file mode 100644
index 77bc9883..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-focus.qdoc
+++ /dev/null
@@ -1,48 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-focus.html
- \keyword Focus Management in Qt Quick Controls 2
- \title Focus Management in Qt Quick Controls
- \brief Overview of focus handling with Qt Quick Controls
-
- Qt Quick Controls follows the standard
- \l {Keyboard Focus in Qt Quick}{Qt Quick focus system}, while also
- providing some added convenience. For example, the
- \l {Control::}{focusPolicy} property can be used to control the ways in
- which a control receives focus.
-
- \section1 Focus Scope Controls
-
- Qt Quick Controls offers a selection of controls that act as
- \l {Acquiring Focus and Focus Scopes}{focus scopes}:
-
- \annotatedlist qtquickcontrols2-focusscopes
-
- \sa {Keyboard Focus in Qt Quick}
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-fusion.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-fusion.qdoc
deleted file mode 100644
index 135cae71..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-fusion.qdoc
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-fusion.html
- \title Fusion Style
-
- The Fusion style is a desktop-oriented style.
-
- The Fusion style is a platform-agnostic style that offers a desktop-oriented
- look'n'feel. It implements the same design language as the \l {Qt Widget Gallery}
- {Fusion style for Qt Widgets}.
-
- \image qtquickcontrols2-fusion.png
-
- To run an application with the Fusion style, see
- \l {Using Styles in Qt Quick Controls}.
-
- \note The Fusion style is not a native desktop style. The style runs on any
- platform, and looks similar everywhere. Minor differences may occur due to
- differences in the standard system palettes, available fonts, and font
- rendering engines.
-
- \section2 Customization
-
- The Fusion style uses the standard system \l {Control::palette}{palettes}
- to provide colors that match the desktop environment.
-
- \image qtquickcontrols2-fusion-palettes.png
-
- Custom palettes can be specified for any \l {Control::palette}{control},
- \l {Popup::palette}{popup}, or \l {ApplicationWindow::palette}{application window}.
- Explicit palette attributes are automatically propagated from parent to children,
- overriding any system defaults for that attribute. In the following example,
- the window and all three switches appear with a violet highlight color:
-
- \table
- \row
- \li
- \qml
- import QtQuick 2.12
- import QtQuick.Controls 2.12
-
- ApplicationWindow {
- visible: true
-
- palette.highlight: "violet"
-
- Column {
- anchors.centerIn: parent
-
- Switch { text: qsTr("First"); checked: true }
- Switch { text: qsTr("Second"); checked: true }
- Switch { text: qsTr("Third") }
- }
- }
- \endqml
- \li
- \image qtquickcontrols2-fusion-violet.png
- \endtable
-
- \b {See also} \l {Default Style}, \l {Material Style}, \l {Universal Style}
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-gettingstarted.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-gettingstarted.qdoc
deleted file mode 100644
index 22187bf4..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-gettingstarted.qdoc
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-gettingstarted.html
- \keyword Getting Started with Qt Quick Controls 2
- \title Getting Started with Qt Quick Controls
-
- A basic example of a QML file that makes use of controls is shown here:
-
- \qml \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- title: "My Application"
- width: 640
- height: 480
- visible: true
-
- Button {
- text: "Push Me"
- anchors.centerIn: parent
- }
- }
- \endqml
-
- \section1 Setting Up Controls from C++
-
- Although QQuickView has traditionally been used to display QML files in a
- C++ application, doing this means you can only set window properties from
- C++.
-
- With Qt Quick Controls, declare an ApplicationWindow as the root item of
- your application and launch it by using QQmlApplicationEngine instead.
- This ensures that you can control top level window properties from QML.
-
- A basic example of a source file that makes use of controls is shown here:
-
- \code
- #include <QGuiApplication>
- #include <QQmlApplicationEngine>
-
- int main(int argc, char *argv[])
- {
- QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
- return app.exec();
- }
- \endcode
-
- \section2 Using C++ Data From QML
-
- If you need to register a C++ class to use from QML, you can call
- qmlRegisterType() before declaring your QQmlApplicationEngine.
- See \l [QtQml] {Defining QML Types from C++} for more information.
-
- If you need to expose data to QML components, you need to make them
- available to the context of the current QML engine. See QQmlContext for
- more information.
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-guidelines.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-guidelines.qdoc
deleted file mode 100644
index 83d6db93..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-guidelines.qdoc
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-guidelines.html
- \keyword Qt Quick Controls Guidelines
- \title Qt Quick Controls Guidelines
- \keyword Qt Quick Controls 2 Guidelines
-
- Qt Quick Controls offers a selection of controls that can be used to
- build complete interfaces in Qt Quick.
-
- Below you will find practical guidelines on how and when to use
- the controls.
-
- \annotatedlist qtquickcontrols2-guidelines
-
- \section1 Related Information
- \list
- \li \l{Qt Quick Controls QML Types}{All Qt Quick Controls QML Types}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-highdpi.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-highdpi.qdoc
deleted file mode 100644
index f0440e4f..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-highdpi.qdoc
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-highdpi.html
- \keyword High-DPI Support in Qt Quick Controlsi 2
- \title High-DPI Support in Qt Quick Controls
-
- Qt Quick Controls support Qt's cross-platform high-DPI scaling introduced in Qt 5.6.
- The feature is opt-in, and can be enabled by setting the \c Qt::AA_EnableHighDpiScaling
- application attribute in C++ before QGuiApplication is constructed:
-
- \code
- #include <QGuiApplication>
- #include <QQmlApplicationEngine>
-
- int main(int argc, char *argv[])
- {
- QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // <--
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
- return app.exec();
- }
- \endcode
-
- Alternatively, an environment variable \c QT_AUTO_SCREEN_SCALE_FACTOR=1 can be set
- to enable automatic high-DPI scaling.
-
- \warning \l {Qt Quick Controls}{Qt Quick Controls 1.x} are not compatible with Qt's
- automatic high-DPI scaling. There is currently no available solution for high-DPI
- support in applications wishing to mix Qt Quick Controls and Qt Quick Controls.
-
- \section1 Related Information
- \list
- \li \l {High DPI Displays}
- \li \l {Scalability}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-icons.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-icons.qdoc
deleted file mode 100644
index f8cb1f52..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-icons.qdoc
+++ /dev/null
@@ -1,170 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-icons.html
- \keyword Icons in Qt Quick Controls 2
- \title Icons in Qt Quick Controls
-
- Qt Quick Controls comes with support for icons since Qt 5.10. This means,
- Buttons, item delegates, and menu items are now capable of presenting an
- icon in addition to a text label.
-
- \section1 Using Icons
-
- \l {AbstractButton::icon}{AbstractButton} and \l {Action::icon}{Action} provide
- the following properties through which icons can be set:
- \list
- \li \c icon.name
- \li \c icon.source
- \li \c icon.width
- \li \c icon.height
- \li \c icon.color
- \endlist
-
- Theme icons are referenced by a name, and regular icons by a source URL. Both
- \c icon.name and \c icon.source can be set to ensure that an icon will always
- be found. If the icon is found in the theme, it will always be used; even if
- \c icon.source is also set. If the icon is not found in the theme, \c icon.source
- will be used instead.
-
- \code
- Button {
- icon.name: "edit-cut"
- icon.source: "images/cut.png"
- }
- \endcode
-
- Each \l {Styling Qt Quick Controls}{Qt Quick Controls 2 style} requests a
- default icon size and color according to their guidelines, but it is possible
- to override these by setting the \c icon.width, \c icon.height, and \c icon.color
- properties.
-
- The image that is loaded by an icon whose \c width and \c height are not set
- depends on the type of icon in use. For theme icons, the closest available size
- will be chosen. For regular icons, the behavior is the same as the \l {Image::}
- {sourceSize} property of \l Image.
-
- The icon color is specified by default so that it matches the text color in
- different states. In order to use an icon with the original colors, set the
- color to \c "transparent".
-
- \code
- Button {
- icon.color: "transparent"
- icon.source: "images/logo.png"
- }
- \endcode
-
- For buttons, the \l {AbstractButton::}{display} property can be used to control
- how the icon and text are displayed within the button.
-
- \section1 Icon Themes
-
- Compliant icon themes must follow the freedesktop icon theme specification,
- which can be obtained here: \l {http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html}.
-
- Traditionally, only Linux and UNIX support icon themes on the platform level,
- but it is possible to bundle a compliant icon theme in an application to use
- themed icons on any platform.
-
- The default \l {QIcon::themeSearchPaths()}{icon theme search paths} depend on
- the platform. On Linux and UNIX, the search path will use the \c XDG_DATA_DIRS
- environment variable if available. All platforms have the resource directory
- \c :/icons as a fallback. Custom icon theme search paths can be set with
- \l QIcon::setThemeSearchPaths().
-
- The following example bundles an icon theme called \e mytheme into the application's
- resources using \l {The Qt Resource System}{Qt's resource system}.
-
- \badcode
- <RCC>
- <qresource prefix="/">
- <file>icons/mytheme/index.theme</file>
- <file>icons/mytheme/32x32/myicon.png</file>
- <file>icons/mytheme/32x32@2/myicon.png</file>
- </qresource>
- </RCC>
- \endcode
-
- The \c index.theme file describes the general attributes of the icon theme, and
- lists the available theme icon directories:
-
- \badcode
- [Icon Theme]
- Name=mytheme
- Comment=My Icon Theme
-
- Directories=32x32,32x32@2
-
- [32x32]
- Size=32
- Type=Fixed
-
- [32x32@2]
- Size=32
- Scale=2
- Type=Fixed
- \endcode
-
- In order to use the bundled icon theme, an application should call \l QIcon::setThemeName()
- before loading the main QML file:
-
- \code
- #include <QGuiApplication>
- #include <QQmlApplicationEngine>
- #include <QIcon>
-
- int main(int argc, char *argv[])
- {
- QGuiApplication app(argc, argv);
-
- QIcon::setThemeName("mytheme"); // <--
-
- QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
- return app.exec();
- }
- \endcode
-
- Now it is possible to use named icons from the bundled icon theme without having
- to specify any fallback source:
-
- \code
- Button {
- icon.name: "myicon"
- }
- \endcode
-
- The \l {Qt Quick Controls - Gallery}{Gallery example} and \l {Qt Quick Controls 2 - Wearable Demo}
- {Wearable Demo} provide complete runnable applications with a bundled icon theme.
-
- \section1 Related Information
- \list
- \li \l {High-DPI Support in Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc
deleted file mode 100644
index 6e15762d..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc
+++ /dev/null
@@ -1,2529 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-imagine.html
- \title Imagine Style
-
- The Imagine Style is based on configurable image assets. \l{detailed-desc-imagine}{More...}
-
- \styleimport {QtQuick.Controls.Imagine 2.12} {Qt 5.10}
-
- \section1 Attached Properties
-
- \list
- \li \l {imagine-path-attached-prop}{\b path} : string
- \endlist
-
- \section1 Detailed Description
- \target detailed-desc-imagine
-
- The Imagine style is based on image assets. The style comes with a default
- set of images, but the images can be easily changed by providing a directory
- with images using a predefined naming convention.
-
- \image qtquickcontrols2-imagine.png
- \caption The Imagine style with the default images
-
- To run an application with the Imagine style, see
- \l {Using Styles in Qt Quick Controls}.
-
- \section2 File Names
-
- The image files are named using the following convention:
-
- \c <control>-<element>-<states>
-
- The \c <control> and \c <element> sections are mandatory, but the
- \c <states> section is optional. For example, if a single file named
- \c "button-background.9.png" is provided for \l {Button}, it will be used
- for every state that \c Button supports. It is up to the developer to
- decide the set of states that they will provide images for. However, it
- is recommended to provide images for the most common control states where
- possible, such as \c disabled, \c pressed, etc. This will ensure that
- interactive controls visually behave as the end user would expect them to.
-
- \section2 Element Reference
-
- The following table lists which elements are supported for each control,
- along with the possible states for that element, and the file extension
- that it expects. An element is an image that represents a certain visual
- part of the control. For example, \c {Button}'s \c "background" element
- represents its \l {Control::}{background}.
-
- \table
- \header
- \li Control
- \li Element
- \li States
- \li Extension
- \row
- \li \l ApplicationWindow
- \li background
- \li active
- \li .9.png (or .png)
- \row
- \li
- \li overlay
- \li modal
- \li .9.png (or .png)
- \row
- \li \l BusyIndicator
- \li animation
- \li disabled, running, mirrored, hovered
- \li .webp
- \row
- \li
- \li background
- \li same as above
- \li .webp
- \row
- \li \l Button
- \li background
- \li disabled, pressed, checked, checkable, focused, highlighted, flat, mirrored, hovered
- \li .9.png
- \row
- \li \l CheckBox
- \li background
- \li disabled, pressed, checked, partially-checked, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .png
- \row
- \li \l CheckDelegate
- \li background
- \li disabled, pressed, checked, partially-checked, focused, highlighted, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .png
- \row
- \li \l ComboBox
- \li background
- \li disabled, pressed, editable, open, focused, mirrored, hovered, flat
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .png
- \row
- \li
- \li popup
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l DelayButton
- \li background
- \li disabled, pressed, checked, checkable, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li progress
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li mask
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l Dial
- \li background
- \li disabled, pressed, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l Dialog
- \li background
- \li modal, dim
- \li .9.png (or .png)
- \row
- \li
- \li title
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li overlay
- \li modal
- \li .9.png (or .png)
- \row
- \li \l DialogButtonBox
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li \l Drawer
- \li background
- \li modal, dim, top, left, right, bottom
- \li .9.png (or .png)
- \row
- \li
- \li overlay
- \li modal
- \li .9.png (or .png)
- \row
- \li \l Frame
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li \l GroupBox
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li
- \li title
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l ItemDelegate
- \li background
- \li disabled, pressed, focused, highlighted, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l Label
- \li background
- \li disabled, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l Menu
- \li background
- \li modal, dim
- \li .9.png (or .png)
- \row
- \li
- \li overlay
- \li modal
- \li .9.png (or .png)
- \row
- \li \l MenuItem
- \li arrow
- \li disabled, pressed, checked, focused, highlighted, mirrored, hovered
- \li .png
- \row
- \li
- \li background
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .png
- \row
- \li \l MenuSeparator
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li
- \li separator
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l Page
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li \l PageIndicator
- \li background
- \li disabled, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li delegate
- \li disabled, pressed, current, mirrored, hovered
- \li .png
- \row
- \li \l Pane
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li \l Popup
- \li background
- \li modal, dim
- \li .9.png (or .png)
- \row
- \li
- \li overlay
- \li modal
- \li .9.png (or .png)
- \row
- \li \l ProgressBar
- \li animation
- \li disabled, mirrored, hovered
- \li .png
- \row
- \li
- \li background
- \li disabled, indeterminate, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li mask
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li progress
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l RadioButton
- \li background
- \li disabled, pressed, checked, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .png
- \row
- \li \l RadioDelegate
- \li background
- \li disabled, pressed, checked, focused, highlighted, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .png
- \row
- \li \l RangeSlider
- \li background
- \li vertical, horizontal, disabled, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l RangeSlider
- \li progress
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li first, second, vertical, horizontal, disabled, pressed, focused, mirrored, hovered
- \li .png
- \row
- \li \l RoundButton
- \li background
- \li disabled, pressed, checked, checkable, focused, highlighted, flat, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l ScrollBar
- \li background
- \li vertical, horizontal, disabled, interactive, pressed, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l ScrollIndicator
- \li background
- \li vertical, horizontal, disabled, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l ScrollView
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li \l Slider
- \li background
- \li vertical, horizontal, disabled, pressed, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li progress
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l SpinBox
- \li background
- \li disabled, editable, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li editor
- \li disabled, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li up, down, disabled, editable, pressed, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l StackView
- \li background
- \li disabled, mirrored
- \li .9.png (or .png)
- \row
- \li \l SwipeDelegate
- \li background
- \li disabled, pressed, focused, highlighted, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l SwipeView
- \li background
- \li vertical, horizontal, disabled, interactive, focused, mirrored
- \li .9.png (or .png)
- \row
- \li \l Switch
- \li background
- \li disabled, pressed, checked, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l SwitchDelegate
- \li background
- \li disabled, pressed, checked, focused, highlighted, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li
- \li handle
- \li same as above
- \li .9.png (or .png)
- \row
- \li
- \li indicator
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l TabBar
- \li background
- \li disabled, header, footer, mirrored
- \li .9.png (or .png)
- \row
- \li \l TabButton
- \li background
- \li disabled, pressed, checked, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l TextArea
- \li background
- \li disabled, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l TextField
- \li background
- \li disabled, focused, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l ToolBar
- \li background
- \li disabled, header, footer, mirrored
- \li .9.png (or .png)
- \row
- \li \l ToolButton
- \li background
- \li disabled, pressed, checked, checkable, focused, highlighted, flat, mirrored, hovered
- \li .9.png (or .png)
- \row
- \li \l ToolSeparator
- \li background
- \li vertical, horizontal, disabled, mirrored
- \li .9.png (or .png)
- \row
- \li
- \li separator
- \li same as above
- \li .9.png (or .png)
- \row
- \li \l ToolTip
- \li background
- \li
- \li .9.png (or .png)
- \row
- \li \l Tumbler
- \li background
- \li disabled, focused, mirrored, hovered
- \li .9.png (or .png)
- \endtable
-
- \section2 Asset Examples
-
- The following table lists examples of assets (taken from the default
- Imagine style assets) for all controls. The list is not exhaustive,
- as not all elements need assets, but it can be used as a guide
- when creating your own assets.
-
- \table
- \header
- \li Control
- \li Element
- \li States
- \li Asset
- \li Notes
- \row
- \li \l ApplicationWindow
- \li background
- \li
- \li \image imagine/images/applicationwindow-background.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li
- \li overlay
- \li
- \li \image imagine/images/applicationwindow-overlay.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li
- \li overlay
- \li modal
- \li \image imagine/images/applicationwindow-overlay-modal.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li \l Button
- \li background
- \li
- \li \image imagine/images/button-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/button-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/button-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/button-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li checked
- \li \image imagine/images/button-background-checked.9.png
- \li
- \row
- \li
- \li background
- \li checked, disabled
- \li \image imagine/images/button-background-checked-disabled.9.png
- \li
- \row
- \li
- \li background
- \li checked, focused
- \li \image imagine/images/button-background-checked-focused.9.png
- \li
- \row
- \li
- \li background
- \li checked, hovered
- \li \image imagine/images/button-background-checked-hovered.9.png
- \li
- \row
- \li
- \li background
- \li highlighted
- \li \image imagine/images/button-background-highlighted.9.png
- \li
- \row
- \li
- \li background
- \li highlighted, disabled
- \li \image imagine/images/button-background-highlighted-disabled.9.png
- \li
- \row
- \li
- \li background
- \li highlighted, focused
- \li \image imagine/images/button-background-highlighted-focused.9.png
- \li
- \row
- \li
- \li background
- \li highlighted, hovered
- \li \image imagine/images/button-background-highlighted-hovered.9.png
- \li
- \row
- \li
- \li background
- \li highlighted, pressed
- \li \image imagine/images/button-background-highlighted-pressed.9.png
- \li
- \row
- \li
- \li background
- \li highlighted, checked
- \li \image imagine/images/button-background-highlighted-checked.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/button-background-hovered.9.png
- \li
- \row
- \li
- \li background
- \li flat
- \li \image imagine/images/button-background-flat.9.png
- \li
- \row
- \li
- \li background
- \li flat, disabled
- \li \image imagine/images/button-background-flat-disabled.9.png
- \li
- \row
- \li
- \li background
- \li flat, hovered
- \li \image imagine/images/button-background-flat-hovered.9.png
- \li
- \row
- \li
- \li background
- \li flat, pressed
- \li \image imagine/images/button-background-flat-pressed.9.png
- \li
- \row
- \li
- \li background
- \li flat, checked
- \li \image imagine/images/button-background-flat-checked.9.png
- \li
- \row
- \li \l CheckBox
- \li indicator
- \li
- \li \image imagine/images/checkbox-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/checkbox-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/checkbox-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/checkbox-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/checkbox-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/checkbox-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/checkbox-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked
- \li \image imagine/images/checkbox-indicator-partially-checked.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked, pressed
- \li \image imagine/images/checkbox-indicator-partially-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked, focused
- \li \image imagine/images/checkbox-indicator-partially-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked, hovered
- \li \image imagine/images/checkbox-indicator-partially-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/checkbox-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/checkbox-indicator-hovered.png
- \li
- \row
- \li \l CheckDelegate
- \li background
- \li
- \li \image imagine/images/checkdelegate-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/checkdelegate-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/checkdelegate-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/checkdelegate-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/checkdelegate-background-hovered.9.png
- \li
- \row
- \li
- \li indicator
- \li
- \li \image imagine/images/checkdelegate-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/checkdelegate-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/checkdelegate-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/checkdelegate-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/checkdelegate-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/checkdelegate-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/checkdelegate-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/checkdelegate-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/checkdelegate-indicator-hovered.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked
- \li \image imagine/images/checkdelegate-indicator-partially-checked.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked, pressed
- \li \image imagine/images/checkdelegate-indicator-partially-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked, focused
- \li \image imagine/images/checkdelegate-indicator-partially-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li partially, checked, hovered
- \li \image imagine/images/checkdelegate-indicator-partially-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/checkdelegate-indicator-hovered.png
- \li
- \row
- \li \l ComboBox
- \li background
- \li
- \li \image imagine/images/combobox-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/combobox-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/combobox-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/combobox-background-hovered.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/combobox-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li open
- \li \image imagine/images/combobox-background-open.9.png
- \li
- \row
- \li
- \li background
- \li editable
- \li \image imagine/images/combobox-background-editable.9.png
- \li
- \row
- \li
- \li background
- \li editable, focused
- \li \image imagine/images/combobox-background-editable-focused.9.png
- \li
- \row
- \li
- \li background
- \li editable, disabled
- \li \image imagine/images/combobox-background-editable-disabled.9.png
- \li
- \row
- \li
- \li indicator
- \li
- \li \image imagine/images/combobox-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/combobox-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li editable
- \li \image imagine/images/combobox-indicator-editable.png
- \li
- \row
- \li
- \li indicator
- \li editable, disabled
- \li \image imagine/images/combobox-indicator-editable-disabled.png
- \li
- \row
- \li
- \li indicator
- \li editable, mirrored
- \li \image imagine/images/combobox-indicator-editable-mirrored.png
- \li
- \row
- \li
- \li indicator
- \li editable, mirrored, disabled
- \li \image imagine/images/combobox-indicator-editable-mirrored-disabled.png
- \li
- \row
- \li
- \li popup
- \li
- \li \image imagine/images/combobox-popup.9.png
- \li
- \row
- \li \l DelayButton
- \li background
- \li
- \li \image imagine/images/delaybutton-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/delaybutton-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li disabled, checked
- \li \image imagine/images/delaybutton-background-disabled-checked.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/delaybutton-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/delaybutton-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li checked
- \li \image imagine/images/delaybutton-background-checked.9.png
- \li
- \row
- \li
- \li background
- \li checked, focused
- \li \image imagine/images/delaybutton-background-checked-focused.9.png
- \li
- \row
- \li
- \li background
- \li checked, hovered
- \li \image imagine/images/delaybutton-background-checked-hovered.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/delaybutton-background-hovered.9.png
- \li
- \row
- \li
- \li progress
- \li
- \li \image imagine/images/delaybutton-progress.9.png
- \li
- \row
- \li
- \li progress
- \li disabled
- \li \image imagine/images/delaybutton-progress-disabled.9.png
- \li
- \row
- \li
- \li mask
- \li
- \li \image imagine/images/delaybutton-mask.9.png
- \li
- \row
- \li \l Dial
- \li background
- \li
- \li \image imagine/images/dial-background.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/dial-background-disabled.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/dial-background-focused.png
- \li
- \row
- \li
- \li handle
- \li
- \li \image imagine/images/dial-handle.png
- \li
- \row
- \li
- \li handle
- \li disabled
- \li \image imagine/images/dial-handle-disabled.png
- \li
- \row
- \li
- \li handle
- \li focused
- \li \image imagine/images/dial-handle-focused.png
- \li
- \row
- \li
- \li handle
- \li focused, pressed
- \li \image imagine/images/dial-handle-focused-pressed.png
- \li
- \row
- \li
- \li handle
- \li focused, hovered
- \li \image imagine/images/dial-handle-focused-hovered.png
- \li
- \row
- \li
- \li handle
- \li pressed
- \li \image imagine/images/dial-handle-pressed.png
- \li
- \row
- \li
- \li handle
- \li hovered
- \li \image imagine/images/dial-handle-hovered.png
- \li
- \row
- \li \l Dialog
- \li background
- \li
- \li \image imagine/images/dialog-background.9.png
- \li
- \row
- \li
- \li overlay
- \li
- \li \image imagine/images/dialog-overlay.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li
- \li overlay
- \li modal
- \li \image imagine/images/dialog-overlay-modal.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li \l DialogButtonBox
- \li background
- \li
- \li \image imagine/images/dialogbuttonbox-background.9.png
- \li
- \row
- \li \l Drawer
- \li background
- \li left
- \li \image imagine/images/drawer-background-left.9.png
- \li
- \row
- \li
- \li background
- \li right
- \li \image imagine/images/drawer-background-right.9.png
- \li
- \row
- \li
- \li background
- \li top
- \li \image imagine/images/drawer-background-top.9.png
- \li
- \row
- \li
- \li background
- \li bottom
- \li \image imagine/images/drawer-background-bottom.9.png
- \li
- \row
- \li
- \li overlay
- \li
- \li \image imagine/images/drawer-overlay.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li
- \li overlay
- \li modal
- \li \image imagine/images/drawer-overlay-modal.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li \l Frame
- \li background
- \li
- \li \image imagine/images/frame-background.9.png
- \li
- \row
- \li \l GroupBox
- \li background
- \li
- \li \image imagine/images/groupbox-background.9.png
- \li
- \row
- \li
- \li title
- \li
- \li \image imagine/images/groupbox-title.9.png
- \li
- \row
- \li \l ItemDelegate
- \li background
- \li
- \li \image imagine/images/itemdelegate-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/itemdelegate-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/itemdelegate-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/itemdelegate-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/itemdelegate-background-hovered.9.png
- \li
- \row
- \li
- \li background
- \li highlighted
- \li \image imagine/images/itemdelegate-background-highlighted.9.png
- \li
- \row
- \li \l Menu
- \li background
- \li
- \li \image imagine/images/menu-background.9.png
- \li
- \row
- \li \l MenuItem
- \li background
- \li
- \li \image imagine/images/menuitem-background.9.png
- \li
- \row
- \li
- \li background
- \li highlighted
- \li \image imagine/images/menuitem-background-highlighted.9.png
- \li
- \row
- \li
- \li arrow
- \li
- \li \image imagine/images/menuitem-arrow.png
- \li
- \row
- \li
- \li arrow
- \li mirrored
- \li \image imagine/images/menuitem-arrow-mirrored.png
- \li
- \row
- \li
- \li arrow
- \li disabled
- \li \image imagine/images/menuitem-arrow-disabled.png
- \li
- \row
- \li
- \li arrow
- \li mirrored, disabled
- \li \image imagine/images/menuitem-arrow-mirrored-disabled.png
- \li
- \row
- \li
- \li indicator
- \li
- \li \image imagine/images/menuitem-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/menuitem-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/menuitem-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/menuitem-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/menuitem-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/menuitem-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/menuitem-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/menuitem-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/menuitem-indicator-hovered.png
- \li
- \row
- \li \l MenuSeparator
- \li separator
- \li
- \li \image imagine/images/menuseparator-separator.9.png
- \li
- \row
- \li \l Page
- \li background
- \li
- \li \image imagine/images/page-background.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li \l PageIndicator
- \li delegate
- \li
- \li \image imagine/images/pageindicator-delegate.png
- \li
- \row
- \li
- \li delegate
- \li disabled
- \li \image imagine/images/pageindicator-delegate-disabled.png
- \li
- \row
- \li
- \li delegate
- \li disabled, current
- \li \image imagine/images/pageindicator-delegate-disabled-current.png
- \li
- \row
- \li
- \li delegate
- \li pressed
- \li \image imagine/images/pageindicator-delegate-pressed.png
- \li
- \row
- \li
- \li delegate
- \li current
- \li \image imagine/images/pageindicator-delegate-current.png
- \li
- \row
- \li \l Pane
- \li background
- \li
- \li \image imagine/images/pane-background.9.png
- \li
- \row
- \li \l Popup
- \li background
- \li
- \li \image imagine/images/popup-background.9.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li
- \li overlay
- \li
- \li \image imagine/images/popup-overlay.png
- \li \l {sup1}{See footnote} \sup 1
- \row
- \li
- \li overlay
- \li modal
- \li \image imagine/images/popup-overlay-modal.png
- \li
- \row
- \li \l ProgressBar
- \li background
- \li
- \li \image imagine/images/progressbar-background.9.png
- \li
- \row
- \li
- \li progress
- \li
- \li \image imagine/images/progressbar-progress.png
- \li
- \row
- \li
- \li mask
- \li
- \li \image imagine/images/progressbar-mask.9.png
- \li
- \row
- \li \l RadioButton
- \li indicator
- \li
- \li \image imagine/images/radiobutton-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/radiobutton-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/radiobutton-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/radiobutton-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/radiobutton-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/radiobutton-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/radiobutton-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/radiobutton-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/radiobutton-indicator-hovered.png
- \li
- \row
- \li \l RadioDelegate
- \li background
- \li
- \li \image imagine/images/radiodelegate-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/radiodelegate-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/radiodelegate-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/radiodelegate-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/radiodelegate-background-hovered.9.png
- \li
- \row
- \li
- \li indicator
- \li
- \li \image imagine/images/radiodelegate-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/radiodelegate-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/radiodelegate-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/radiodelegate-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/radiodelegate-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/radiodelegate-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/radiodelegate-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/radiodelegate-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/radiodelegate-indicator-hovered.png
- \li
- \row
- \li \l RangeSlider
- \li background
- \li vertical
- \li \image imagine/images/rangeslider-background-vertical.9.png
- \li
- \row
- \li
- \li background
- \li horizontal
- \li \image imagine/images/rangeslider-background-horizontal.9.png
- \li
- \row
- \li
- \li progress
- \li vertical
- \li \image imagine/images/rangeslider-progress-vertical.9.png
- \li
- \row
- \li
- \li progress
- \li vertical, disabled
- \li \image imagine/images/rangeslider-progress-vertical-disabled.9.png
- \li
- \row
- \li
- \li progress
- \li horizontal
- \li \image imagine/images/rangeslider-progress-horizontal.9.png
- \li
- \row
- \li
- \li progress
- \li horizontal, disabled
- \li \image imagine/images/rangeslider-progress-horizontal-disabled.9.png
- \li
- \row
- \li
- \li handle
- \li
- \li \image imagine/images/rangeslider-handle.png
- \li
- \row
- \li
- \li handle
- \li disabled
- \li \image imagine/images/rangeslider-handle-disabled.png
- \li
- \row
- \li
- \li handle
- \li focused
- \li \image imagine/images/rangeslider-handle-focused.png
- \li
- \row
- \li
- \li handle
- \li focused, hovered
- \li \image imagine/images/rangeslider-handle-focused-hovered.png
- \li
- \row
- \li
- \li handle
- \li focused, pressed
- \li \image imagine/images/rangeslider-handle-focused-pressed.png
- \li
- \row
- \li
- \li handle
- \li hovered
- \li \image imagine/images/rangeslider-handle-hovered.png
- \li
- \row
- \li
- \li handle
- \li pressed
- \li \image imagine/images/rangeslider-handle-pressed.png
- \li
- \row
- \li \l RoundButton
- \li background
- \li
- \li \image imagine/images/roundbutton-background.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/roundbutton-background-disabled.png
- \li
- \row
- \li
- \li background
- \li disabled, checked
- \li \image imagine/images/roundbutton-background-disabled-checked.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/roundbutton-background-focused.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/roundbutton-background-pressed.png
- \li
- \row
- \li
- \li background
- \li checked
- \li \image imagine/images/roundbutton-background-checked.png
- \li
- \row
- \li
- \li background
- \li checked, focused
- \li \image imagine/images/roundbutton-background-checked-focused.png
- \li
- \row
- \li
- \li background
- \li checked, hovered
- \li \image imagine/images/roundbutton-background-checked-hovered.png
- \li
- \row
- \li
- \li background
- \li highlighted
- \li \image imagine/images/roundbutton-background-highlighted.png
- \li
- \row
- \li
- \li background
- \li highlighted, pressed
- \li \image imagine/images/roundbutton-background-highlighted-pressed.png
- \li
- \row
- \li
- \li background
- \li highlighted, focused
- \li \image imagine/images/roundbutton-background-highlighted-focused.png
- \li
- \row
- \li
- \li background
- \li highlighted, hovered
- \li \image imagine/images/roundbutton-background-highlighted-hovered.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/roundbutton-background-hovered.png
- \li
- \row
- \li \l ScrollBar
- \li handle
- \li
- \li \image imagine/images/scrollbar-handle.png
- \li
- \row
- \li
- \li handle
- \li disabled
- \li \image imagine/images/scrollbar-handle-disabled.png
- \li
- \row
- \li
- \li handle
- \li interactive
- \li \image imagine/images/scrollbar-handle-interactive.png
- \li
- \row
- \li
- \li handle
- \li interactive, disabled
- \li \image imagine/images/scrollbar-handle-interactive-disabled.png
- \li
- \row
- \li
- \li handle
- \li interactive, pressed
- \li \image imagine/images/scrollbar-handle-interactive-pressed.png
- \li
- \row
- \li
- \li handle
- \li interactive, hovered
- \li \image imagine/images/scrollbar-handle-interactive-hovered.png
- \li
- \row
- \li \l ScrollIndicator
- \li handle
- \li
- \li \image imagine/images/scrollindicator-handle.png
- \li
- \row
- \li \l Slider
- \li background
- \li vertical
- \li \image imagine/images/slider-background-vertical.9.png
- \li
- \row
- \li
- \li background
- \li horizontal
- \li \image imagine/images/slider-background-horizontal.9.png
- \li
- \row
- \li
- \li progress
- \li vertical
- \li \image imagine/images/slider-progress-vertical.9.png
- \li
- \row
- \li
- \li progress
- \li vertical, disabled
- \li \image imagine/images/slider-progress-vertical-disabled.9.png
- \li
- \row
- \li
- \li progress
- \li horizontal
- \li \image imagine/images/slider-progress-horizontal.9.png
- \li
- \row
- \li
- \li progress
- \li horizontal, disabled
- \li \image imagine/images/slider-progress-horizontal-disabled.9.png
- \li
- \row
- \li
- \li handle
- \li
- \li \image imagine/images/slider-handle.png
- \li
- \row
- \li
- \li handle
- \li disabled
- \li \image imagine/images/slider-handle-disabled.png
- \li
- \row
- \li
- \li handle
- \li focused
- \li \image imagine/images/slider-handle-focused.png
- \li
- \row
- \li
- \li handle
- \li focused, hovered
- \li \image imagine/images/slider-handle-focused-hovered.png
- \li
- \row
- \li
- \li handle
- \li focused, pressed
- \li \image imagine/images/slider-handle-focused-pressed.png
- \li
- \row
- \li
- \li handle
- \li hovered
- \li \image imagine/images/slider-handle-hovered.png
- \li
- \row
- \li
- \li handle
- \li pressed
- \li \image imagine/images/slider-handle-pressed.png
- \li
- \row
- \li \l SpinBox
- \li background
- \li
- \li \image imagine/images/spinbox-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/spinbox-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/spinbox-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li editable
- \li \image imagine/images/spinbox-background-editable.9.png
- \li
- \row
- \li
- \li indicator
- \li up
- \li \image imagine/images/spinbox-indicator-up.9.png
- \li
- \row
- \li
- \li indicator
- \li up, disabled
- \li \image imagine/images/spinbox-indicator-up-disabled.9.png
- \li
- \row
- \li
- \li indicator
- \li up, pressed
- \li \image imagine/images/spinbox-indicator-up-pressed.9.png
- \li
- \row
- \li
- \li indicator
- \li up, focused
- \li \image imagine/images/spinbox-indicator-up-focused.9.png
- \li
- \row
- \li
- \li indicator
- \li up, mirrored
- \li \image imagine/images/spinbox-indicator-up-mirrored.9.png
- \li
- \row
- \li
- \li indicator
- \li up, hovered
- \li \image imagine/images/spinbox-indicator-up-hovered.9.png
- \li
- \row
- \li
- \li indicator
- \li up, editable
- \li \image imagine/images/spinbox-indicator-up-editable.9.png
- \li
- \row
- \li
- \li indicator
- \li up, editable, pressed
- \li \image imagine/images/spinbox-indicator-up-editable-pressed.9.png
- \li
- \row
- \li
- \li indicator
- \li up, editable, focused
- \li \image imagine/images/spinbox-indicator-up-editable-focused.9.png
- \li
- \row
- \li
- \li indicator
- \li up, editable, mirrored
- \li \image imagine/images/spinbox-indicator-up-editable-mirrored.9.png
- \li
- \row
- \li
- \li indicator
- \li up, editable, hovered
- \li \image imagine/images/spinbox-indicator-up-editable-hovered.9.png
- \li
- \row
- \li
- \li indicator
- \li down
- \li \image imagine/images/spinbox-indicator-down.9.png
- \li
- \row
- \li
- \li indicator
- \li down, disabled
- \li \image imagine/images/spinbox-indicator-down-disabled.9.png
- \li
- \row
- \li
- \li indicator
- \li down, pressed
- \li \image imagine/images/spinbox-indicator-down-pressed.9.png
- \li
- \row
- \li
- \li indicator
- \li down, focused
- \li \image imagine/images/spinbox-indicator-down-focused.9.png
- \li
- \row
- \li
- \li indicator
- \li down, mirrored
- \li \image imagine/images/spinbox-indicator-down-mirrored.9.png
- \li
- \row
- \li
- \li indicator
- \li down, hovered
- \li \image imagine/images/spinbox-indicator-down-hovered.9.png
- \li
- \row
- \li
- \li indicator
- \li down, editable
- \li \image imagine/images/spinbox-indicator-down-editable.9.png
- \li
- \row
- \li
- \li indicator
- \li down, editable, pressed
- \li \image imagine/images/spinbox-indicator-down-editable-pressed.9.png
- \li
- \row
- \li
- \li indicator
- \li down, editable, focused
- \li \image imagine/images/spinbox-indicator-down-editable-focused.9.png
- \li
- \row
- \li
- \li indicator
- \li down, editable, mirrored
- \li \image imagine/images/spinbox-indicator-down-editable-mirrored.9.png
- \li
- \row
- \li
- \li indicator
- \li down, editable, hovered
- \li \image imagine/images/spinbox-indicator-down-editable-hovered.9.png
- \li
- \row
- \li \l SwipeDelegate
- \li background
- \li
- \li \image imagine/images/swipedelegate-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/swipedelegate-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/swipedelegate-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/swipedelegate-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/swipedelegate-background-hovered.9.png
- \li
- \row
- \li \l Switch
- \li indicator
- \li
- \li \image imagine/images/switch-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/switch-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/switch-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/switch-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/switch-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/switch-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/switch-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/switch-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/switch-indicator-hovered.png
- \li
- \row
- \li
- \li handle
- \li
- \li \image imagine/images/switch-handle.png
- \li
- \row
- \li
- \li handle
- \li disabled
- \li \image imagine/images/switch-handle-disabled.png
- \li
- \row
- \li
- \li handle
- \li pressed
- \li \image imagine/images/switch-handle-pressed.png
- \li
- \row
- \li \l SwitchDelegate
- \li background
- \li
- \li \image imagine/images/switchdelegate-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/switchdelegate-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/switchdelegate-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/switchdelegate-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/switchdelegate-background-hovered.9.png
- \li
- \row
- \li
- \li indicator
- \li
- \li \image imagine/images/switchdelegate-indicator.png
- \li
- \row
- \li
- \li indicator
- \li disabled
- \li \image imagine/images/switchdelegate-indicator-disabled.png
- \li
- \row
- \li
- \li indicator
- \li pressed
- \li \image imagine/images/switchdelegate-indicator-pressed.png
- \li
- \row
- \li
- \li indicator
- \li checked
- \li \image imagine/images/switchdelegate-indicator-checked.png
- \li
- \row
- \li
- \li indicator
- \li checked, focused
- \li \image imagine/images/switchdelegate-indicator-checked-focused.png
- \li
- \row
- \li
- \li indicator
- \li checked, hovered
- \li \image imagine/images/switchdelegate-indicator-checked-hovered.png
- \li
- \row
- \li
- \li indicator
- \li checked, pressed
- \li \image imagine/images/switchdelegate-indicator-checked-pressed.png
- \li
- \row
- \li
- \li indicator
- \li focused
- \li \image imagine/images/switchdelegate-indicator-focused.png
- \li
- \row
- \li
- \li indicator
- \li hovered
- \li \image imagine/images/switchdelegate-indicator-hovered.png
- \li
- \row
- \li
- \li handle
- \li
- \li \image imagine/images/switchdelegate-handle.png
- \li
- \row
- \li
- \li handle
- \li disabled
- \li \image imagine/images/switchdelegate-handle-disabled.png
- \li
- \row
- \li \l TabBar
- \li background
- \li
- \li \image imagine/images/tabbar-background.png
- \li
- \row
- \li \l TabButton
- \li background
- \li
- \li \image imagine/images/tabbutton-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/tabbutton-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/tabbutton-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li checked
- \li \image imagine/images/tabbutton-background-checked.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/tabbutton-background-hovered.9.png
- \li
- \row
- \li
- \li background
- \li disabled, checked
- \li \image imagine/images/tabbutton-background-disabled-checked.9.png
- \li
- \row
- \li \l TextArea
- \li background
- \li
- \li \image imagine/images/textarea-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/textarea-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/textarea-background-focused.9.png
- \li
- \row
- \li \l TextField
- \li background
- \li
- \li \image imagine/images/textfield-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled
- \li \image imagine/images/textfield-background-disabled.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/textfield-background-focused.9.png
- \li
- \row
- \li \l ToolBar
- \li background
- \li
- \li \image imagine/images/toolbar-background.png
- \li
- \row
- \li \l ToolButton
- \li background
- \li
- \li \image imagine/images/toolbutton-background.9.png
- \li
- \row
- \li
- \li background
- \li disabled, checked
- \li \image imagine/images/toolbutton-background-disabled-checked.9.png
- \li
- \row
- \li
- \li background
- \li focused
- \li \image imagine/images/toolbutton-background-focused.9.png
- \li
- \row
- \li
- \li background
- \li pressed
- \li \image imagine/images/toolbutton-background-pressed.9.png
- \li
- \row
- \li
- \li background
- \li checked
- \li \image imagine/images/toolbutton-background-checked.9.png
- \li
- \row
- \li
- \li background
- \li checked, focused
- \li \image imagine/images/toolbutton-background-checked-focused.9.png
- \li
- \row
- \li
- \li background
- \li checked, hovered
- \li \image imagine/images/toolbutton-background-checked-hovered.9.png
- \li
- \row
- \li
- \li background
- \li hovered
- \li \image imagine/images/toolbutton-background-hovered.9.png
- \li
- \row
- \li \l ToolSeparator
- \li separator
- \li horizontal
- \li \image imagine/images/toolseparator-separator-horizontal.9.png
- \li
- \row
- \li
- \li separator
- \li vertical
- \li \image imagine/images/toolseparator-separator-vertical.9.png
- \li
- \row
- \li \l ToolTip
- \li background
- \li
- \li \image imagine/images/tooltip-background.9.png
- \li
- \endtable
-
- \target sup1
- \sup 1 A 1x1 image containing one color, stretched to fill the control.
-
- \section2 9-Patch Images
-
- The Imagine style uses \l
- {https://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch}{9-patch
- images} in order to give designers control over how a particular element
- responds to being resized. Here is an example of a 9-patch image that
- represents a \l {Button}'s \l {Control::}{background}, alongside a
- magnified version (to make it easier to see the 9-patch lines):
-
- \image qtquickcontrols2-imagine-9-patch-4x.png
-
- The content of the image is 44 pixels wide by 32 pixels high. Every 9-patch
- image needs a one pixel thick line (collectively referred to as
- "9-patch lines") around every side, so the actual size of the image becomes
- 46 pixels wide by 34 pixels high. Note that the 9-patch lines must be one
- pixel thick regardless of the target DPI of the image. For example,
- the 9-patch lines for button-background.9.png and button-background@2x.9.png
- must both be one pixel thick.
-
- The 9-patch lines must be black, and the remaining areas must be transparent
- or white:
-
- \image qtquickcontrols2-imagine-9-patch-size.png
-
- \section3 Stretchable Areas
-
- The 9-patch lines on the top and left edges determine which parts of the
- image are stretched when it is resized.
-
- Below are examples of the 9-patch image being resized to one and a half
- times its original size in various dimensions:
-
- \image qtquickcontrols2-imagine-9-patch-resized-stretchable.png
-
- Notice how the the rounded corners keep their original size, as they are
- outside the range of the lines.
-
- \section3 Padding Areas
-
- The 9-patch lines on the right and bottom edges determine how much space
- is available for the control's \l {Control::}{contentItem}, which means it
- can also be thought of as controlling the \l {Control::}{padding}. For a
- diagram that illustrates padding, see \l {Control Layout}.
-
- Below are more examples of the 9-patch image being resized, but this time
- demonstrating how the padding 9-patch lines work.
-
- \image qtquickcontrols2-imagine-9-patch-resized-padding.png
-
- The \c contentItem can take up as much space as it needs within the shaded
- areas. If the padding lines are left out, the \c contentItem will take as
- much space as it needs without exceeding the stretchable areas.
-
- \section3 Inset Areas
-
- In some cases it is necessary for a control to have a drop shadow, for
- example. However, if we were to add a drop shadow to the button above, it
- would affect its size, which presents problems for both layouting and
- mouse/touch input boundaries.
-
- Inset areas accounts for this by telling the control that a certain area of
- the 9-patch image should go outside of the control:
-
- \image qtquickcontrols2-imagine-9-patch-inset.png
-
- In the image below, the dashed line represents the button's clickable area,
- as well as the space that it will take up in a layout. The shadow is marked
- by the striped area behind it:
-
- \image qtquickcontrols2-imagine-9-patch-inset-boundaries.png
-
- \section3 Exporting 9-Patch Images
-
- Various vector and bitmap editors can be used to create 9-patch images
- suitable for use with the Imagine style. The following sections briefly
- explain the export process for each editor, and the last section explains
- how to ensure the exported images are 9-patch-conformant.
-
- \section4 Illustrator
-
- See Adobe's
- \l {https://helpx.adobe.com/in/illustrator/using/collect-assets-export-for-screens.html#panel}
- {Asset Export panel} documentation.
-
- \section4 Inkscape
-
- The \l {https://github.com/mitchcurtis/inkscape-9-patch-export}
- {Inkscape 9-Patch Export Extension} can be used to export assets with
- Inkscape.
-
- \section4 Photoshop
-
- See Adobe's
- \l {https://helpx.adobe.com/photoshop/using/generate-assets-layers.html}
- {Generate image assets from layers} documentation.
-
- \section4 Sketch
-
- See Sketch's \l {https://sketchapp.com/docs/exporting/}{Exporting} documentation.
-
- Qt Quick Controls also provides a
- \l {http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports/controls/imagine/design}
- {plugin} for Sketch that automatically fixes the thickness of the 9-patch lines
- after the assets are exported. To install this file, double-click on it.
- Once Sketch has confirmed that the 9-patch export plugin has been installed,
- the plugin will automatically process images when they are exported.
-
- \section4 Fixing 9-Patch Lines
-
- When exporting 9-patch images in several DPI variants (\c {@2x}, \c {@3x},
- etc.), the 9-patch lines will typically be scaled up along with the image.
- There are several ways to fix this, but perhaps the simplest approach is
- to use \l {https://www.imagemagick.org/script/mogrify.php}{ImageMagick's mogrify}
- tool. The tool has a \c -shave feature that can be used to crop the image
- to reduce the thickness of the 9-patch lines:
-
- \badcode
- mogrify -shave 1x1 -path path/to/images *@2x.9.png
- mogrify -shave 2x2 -path path/to/images *@3x.9.png
- mogrify -shave 3x3 -path path/to/images *@4x.9.png
- \endcode
-
- Regular DPI images (those without the \c @Nx prefix) are not affected, so it
- is only necessary to run the command on images intended for high DPI displays.
-
- \section2 Animated Images
-
- The \l {https://developers.google.com/speed/webp/}{WebP} and GIF animated
- image formats are supported by the Imagine style.
-
- \section2 Customization
-
- \section3 Path
-
- The Imagine style allows customizing the \l {imagine-path-attached-prop}{path}
- that is used to do the image asset selection. The path can be specified for any
- window or item, and it automatically propagates to children in the same manner as
- \l {Control::font}{fonts}. In the following example, the window and all three radio
- buttons appear with dark image assets (files that are located in "qrc:/themes/dark").
-
- \table
- \row
- \li
- \qml
- import QtQuick 2.12
- import QtQuick.Controls 2.12
- import QtQuick.Controls.Imagine 2.12
-
- ApplicationWindow {
- visible: true
-
- Imagine.path: "qrc:/themes/dark"
-
- Column {
- anchors.centerIn: parent
-
- RadioButton { text: qsTr("Small") }
- RadioButton { text: qsTr("Medium"); checked: true }
- RadioButton { text: qsTr("Large") }
- }
- }
- \endqml
- \li
- \image qtquickcontrols2-imagine-customization-dark.png
- \endtable
-
- In addition to specifying the path in QML, it is also possible to specify
- it via an \l {imagine-customization-environment-variable}{environment variable}
- or in a \l {imagine-customization-configuration-file}{configuration file}.
- Attributes specified in QML take precedence over all other methods.
-
- \section4 Configuration File
- \target imagine-customization-configuration-file
-
- \include qquickimaginestyle.qdocinc conf
-
- See \l {Qt Quick Controls Configuration File} for more details about the
- configuration file.
-
- \section4 Environment Variables
- \target imagine-customization-environment-variable
-
- \include qquickimaginestyle.qdocinc env
-
- See \l {Supported Environment Variables in Qt Quick Controls} for the full
- list of supported environment variables.
-
- \section3 Palette
-
- The Imagine style supports palette customization via the \l {Control::}{palette}
- property and the \l {Palette Configuration}{qtquickcontrols2.conf} file.
- As with other styles, the exact \l {palette QML Basic Type}{palette roles}
- that the Imagine style uses are style-dependent. However, as most of the visual
- appearance of controls (for example: backgrounds) are managed through image assets,
- only the roles that are typically used for text will have an effect.
-
- \section3 Font
-
- Custom fonts can be set via the \l {Control::}{font} property and the
- \l {Font Configuration}{configuration} file.
-
- \section2 Dependency
-
- The Imagine style must be separately imported to gain access to the
- attributes that are specific to the Imagine style. It should be noted
- that regardless of the references to the Imagine style, the same
- application code runs with any other style. Imagine-specific attributes
- only have an effect when the application is run with the Imagine style.
-
- If the Imagine style is imported in a QML file that is always loaded, the
- Imagine style must be deployed with the application in order to be able
- to run the application regardless of which style the application is run with.
- By using \l {Using File Selectors with Qt Quick Controls}{file selectors},
- style-specific tweaks can be applied without creating a hard dependency to
- a style.
-
- \b {See also} \l {Styling Qt Quick Controls}
-
- \section1 Attached Property Documentation
-
- \styleproperty {Imagine.path} {string} {imagine-path-attached-prop}
- \target imagine-path-attached-prop
- This attached property holds the path to the image assets...
-
- \code
- Button {
- Imagine.path: "qrc:/themes/dark"
- }
- \endcode
-
- \endstyleproperty
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \li \l{Qt Quick Controls - Imagine Style Example: Automotive}{Automotive Example}
- \li \l{Qt Quick Controls - Imagine Style Example: Music Player}{Music Player Example}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc
deleted file mode 100644
index 395f3b36..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols-index.html
- \keyword Qt Quick Controls 2
- \title Qt Quick Controls
-
- \brief Provides a set of UI controls for Qt Quick.
-
- Qt Quick Controls provides a set of controls that can be used
- to build complete interfaces in Qt Quick. The module was introduced
- in Qt 5.7.
-
- \image qtquickcontrols2-styles.png
-
- Qt Quick Controls comes with a selection customizable styles.
- See \l {Styling Qt Quick Controls} for more details.
-
- \section1 Prerequisites
-
- The \l{Qt Quick Controls QML Types}{QML types} can be imported into your
- application using the following import statement in your \c {.qml} file:
-
- \code \QtMinorVersion
- import QtQuick.Controls 2.\1
- \endcode
-
- The \l{Qt Quick Controls C++ Classes}{C++ classes} can be included into
- your application using the following include statement:
-
- \code
- #include <QtQuickControls2>
- \endcode
-
- To link against the corresponding C++ libraries, add the following to your
- qmake project file:
-
- \code
- QT += quickcontrols2
- \endcode
-
- For more details, see \l {Getting Started with Qt Quick Controls}.
-
- \section2 Building From Source
-
- When building from source, ensure that the \l {Qt Graphical Effects} module
- is also built, as Qt Quick Controls requires it.
-
- The \l {Qt Image Formats} module is recommended, but not
- required. It provides support for the \c {.webp} format used by the
- \l {Animated Images}{Imagine style}.
-
- \section1 Versions
-
- Qt Quick Controls.0 was introduced in Qt 5.7. Subsequent minor Qt releases
- increment the import version of the Qt Quick Controls modules by one,
- until Qt 5.12, where the import versions match Qt's minor version. The
- experimental Qt Labs modules use import version 1.0.
-
- \table
- \header
- \li \c Qt
- \li \l {Qt Quick QML Types}{\c QtQuick}
- \li \l {Qt Quick Controls QML Types}{\c QtQuick.Controls},\br
- \l {Material Style}{\c QtQuick.Controls.Material},\br
- \l {Universal Style}{\c QtQuick.Controls.Universal},\br
- \l {Qt Quick Templates 2 QML Types}{\c QtQuick.Templates}
- \li \l {Qt Labs Calendar QML Types}{\c Qt.labs.calendar},\br
- \l {Qt Labs Platform QML Types}{\c Qt.labs.platform}
- \row
- \li 5.7
- \li 2.7
- \li 2.0
- \li 1.0
- \row
- \li 5.8
- \li 2.8
- \li 2.1
- \li 1.0
- \row
- \li 5.9
- \li 2.9
- \li 2.2
- \li 1.0
- \row
- \li 5.10
- \li 2.10
- \li 2.3
- \li 1.0
- \row
- \li 5.11
- \li 2.11
- \li 2.4
- \li 1.0
- \row
- \li 5.12
- \li 2.12
- \li 2.12
- \li 1.0
- \row
- \li ...
- \li ...
- \li ...
- \li ...
- \endtable
-
- \section1 License and Attributions
-
- Qt Quick Controls is available under commercial licenses from \l{The Qt Company}.
- In addition, it is available under the
- \l{GNU Lesser General Public License, version 3}, or
- the \l{GNU General Public License, version 2}.
- See \l{Qt Licensing} for further details.
-
- Furthermore Qt Quick Controls potentially contains third party
- modules under following permissive licenses:
-
- \generatelist{groupsbymodule attributions-qtquickcontrols}
-
- \section1 Topics
-
- \list
- \li \l{Qt Quick Controls Guidelines}{Guidelines}
- \li \l{Styling Qt Quick Controls}{Styling}
- \li \l{Icons in Qt Quick Controls}{Icons}
- \li \l{Customizing Qt Quick Controls}{Customization}
- \li \l{High-DPI Support in Qt Quick Controls}{High-DPI Support}
- \li \l{Using File Selectors with Qt Quick Controls}{Using File Selectors}
- \li \l{Deploying Qt Quick Controls Applications}{Deployment}
- \li \l{Qt Quick Controls Configuration File}{Configuration File}
- \li \l{Supported Environment Variables in Qt Quick Controls}{Environment Variables}
- \li \l{Differences with Qt Quick Controls 1}
- \endlist
-
- \section1 Reference
-
- \list
- \li \l{Qt Quick Controls QML Types}{QML Types}
- \li \l{Qt Quick Controls C++ Classes}{C++ Classes}
- \endlist
-
- \section1 Examples
-
- \list
- \li \l{Qt Quick Controls - Gallery}{Gallery}
- \li \l{Qt Quick Controls - Chat Tutorial}{Chat Tutorial}
- \li \l{Qt Quick Controls - Text Editor}{Text Editor}
- \li \l{Qt Quick Controls - Wearable Demo}{Wearable Demo}
- \li \l{Qt Quick Controls - Imagine Style Example: Automotive}{Automotive Example}
- \li \l{Qt Quick Controls - Imagine Style Example: Music Player}{Music Player Example}
- \li \l{Qt Quick Controls Examples}{All Examples}
- \endlist
-
- \section1 Related Modules
-
- \list
- \li \l{Qt Quick}
- \li \l{Qt Quick Layouts}
- \li \l{Qt Quick Templates 2}
- \li \l{Qt Labs Calendar}
- \li \l{Qt Labs Platform}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-indicators.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-indicators.qdoc
deleted file mode 100644
index 9f9e357b..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-indicators.qdoc
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-indicators.html
- \title Indicator Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for indicator controls
-
- Qt Quick Controls offers a selection of indicator-like controls.
-
- \annotatedlist qtquickcontrols2-indicators
-
- Each type of indicator has its own specific target use case. The following
- sections offer guidelines for choosing the appropriate type of indicator,
- depending on the use case.
-
- \section1 BusyIndicator Control
-
- \image qtquickcontrols2-busyindicator.png
-
- BusyIndicator can be used to show that an operation is in progress,
- and that the UI has to wait for the operation to complete.
-
- \section1 PageIndicator Control
-
- \image qtquickcontrols2-pageindicator.png
-
- \l PageIndicator is used to indicate the currently active page in
- a container of multiple pages.
-
- \section1 ProgressBar Control
-
- \image qtquickcontrols2-progressbar.gif
-
- \l ProgressBar indicates the progress of an operation. The value should be
- updated regularly.
-
- \section1 ScrollBar Control
-
- \image qtquickcontrols2-scrollbar.gif
-
- \l ScrollBar is an interactive bar that indicates the current scroll
- position, and can be used to scroll to a specific position in a
- \l Flickable.
-
- \section1 ScrollIndicator Control
-
- \image qtquickcontrols2-scrollindicator.gif
-
- \l ScrollIndicator is a non-interactive indicator that indicates the
- current scroll position, and can be used to scroll to a specific position in a
- \l {Flickable}.
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-input.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-input.qdoc
deleted file mode 100644
index 6bc037e0..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-input.qdoc
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-input.html
- \title Input Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for input controls
-
- Qt Quick Controls offers a variety of input controls for both numeric
- and textual input.
-
- \annotatedlist qtquickcontrols2-input
-
- Each type of input control has its own specific target use case. The
- following sections offer guidelines for choosing the appropriate type
- of input control, depending on the use case.
-
- \section1 ComboBox Control
-
- \image qtquickcontrols2-combobox.gif
-
- \l ComboBox is used to select a value from a static multiple-line drop-down list.
- It is not possible to add new values, and only one option can be selected.
-
- Recommendations:
- \list
- \li If the number of values is very large, consider applying a filter.
- \li If the list is very limited, consider using RadioButton. This has the
- advantage that the user can see all options at the same time.
- \li Select a default value, the value that will be chosen most often.
- \endlist
-
- \b {See also} \l {CheckBox Control}, \l {Tumbler Control}.
-
- \section1 Dial Control
-
- \image qtquickcontrols2-dial.png
-
- \l Dial is similar to a traditional dial knob that is found on devices such
- as stereos or industrial equipment.
-
- The dial is rotated by clicking and dragging, with the handle indicating the
- value of the dial.
-
- For applications where fast input is important, the circular
- \l {Dial::inputMode}{input mode} is useful, as clicking on the dial will
- move it directly to that position.
-
- For applications where precise input is important, the horizontal and
- vertical input modes are recommended, as these allow small adjustments to
- be made relative to where the dial is clicked. These modes are also better
- for dials where large jumps in values could be unsafe, such as a dial that
- controls audio volume.
-
- \b {See also} \l {Tumbler Control}.
-
- \section1 TextArea Control
-
- \image qtquickcontrols2-textarea.png
-
- \l TextArea is a multi-line text editor.
-
- \section1 TextField Control
-
- \image qtquickcontrols2-textfield.png
-
- \l TextField is a single line text editor.
-
- \b {See also} \l {Tumbler Control}.
-
- \section1 Slider Control
-
- \image qtquickcontrols2-slider.gif
-
- \l Slider is used to select a value by sliding a handle along a track.
-
- \section1 RangeSlider Control
-
- \image qtquickcontrols2-rangeslider.gif
-
- \l RangeSlider is used to select a range specified by two values,
- by sliding each handle along a track.
-
- \b {See also} \l {Slider Control}.
-
- \section1 Tumbler Control
-
- \image qtquickcontrols2-tumbler.png
-
- \l Tumbler is a spinnable wheel of items that can be selected.
-
- \b {See also} \l {ComboBox Control}.
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc
deleted file mode 100644
index a146843a..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc
+++ /dev/null
@@ -1,404 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-material.html
- \title Material Style
-
- The Material Style is based on the Google Material Design Guidelines.
- \l{detailed-desc-material}{More...}
-
- \styleimport {QtQuick.Controls.Material 2.12} {Qt 5.7}
-
- \section1 Attached Properties
-
- \list
- \li \l {material-accent-attached-prop}{\b accent} : color
- \li \l {material-background-attached-prop}{\b background} : color
- \li \l {material-elevation-attached-prop}{\b elevation} : int
- \li \l {material-foreground-attached-prop}{\b foreground} : color
- \li \l {material-primary-attached-prop}{\b primary} : color
- \li \l {material-theme-attached-prop}{\b theme} : enumeration
- \endlist
-
- \section1 Attached Methods
-
- \list
- \li color \l {material-color-attached-method}{\b color}(enumeration predefined, enumeration shade)
- \endlist
-
- \section1 Detailed Description
- \target detailed-desc-material
-
- The Material style is based on the \l {https://www.google.com/design/spec/material-design/introduction.html}
- {Google Material Design Guidelines}. It allows for a unified experience
- across platforms and device sizes.
-
- \table
- \row
- \li \image qtquickcontrols2-material-light.png
- \caption The Material style in light theme
- \li \image qtquickcontrols2-material-dark.png
- \caption The Material style in dark theme
- \endtable
-
- To run an application with the Material style, see
- \l {Using Styles in Qt Quick Controls}.
-
- \note The Material style is not a native Android style. The Material
- style is a 100% cross-platform Qt Quick Controls style implementation that
- follows the Google Material Design Guidelines. The style runs on any
- platform, and looks more or less identical everywhere. Minor differences
- may occur due to differences in available system fonts and font rendering
- engines.
-
- \section2 Customization
-
- The Material style allows customizing five attributes, \l {material-theme-attached-prop}{theme},
- \l {material-primary-attached-prop}{primary}, \l {material-accent-attached-prop}{accent},
- \l {material-foreground-attached-prop}{foreground}, and \l {material-background-attached-prop}{background}.
-
- \image qtquickcontrols2-material-attributes.png
-
- All attributes can be specified for any window or item, and they automatically
- propagate to children in the same manner as \l {Control::font}{fonts}. In the
- following example, the window and all three radio buttons appear in the dark
- theme using a purple accent color:
-
- \table
- \row
- \li
- \qml
- import QtQuick 2.12
- import QtQuick.Controls 2.12
- import QtQuick.Controls.Material 2.12
-
- ApplicationWindow {
- visible: true
-
- Material.theme: Material.Dark
- Material.accent: Material.Purple
-
- Column {
- anchors.centerIn: parent
-
- RadioButton { text: qsTr("Small") }
- RadioButton { text: qsTr("Medium"); checked: true }
- RadioButton { text: qsTr("Large") }
- }
- }
- \endqml
- \li
- \image qtquickcontrols2-material-purple.png
- \endtable
-
- In addition to specifying the attributes in QML, it is also possible to
- specify them via environment variables or in a configuration file. Attributes
- specified in QML take precedence over all other methods.
-
- \section3 Configuration File
-
- \include qquickmaterialstyle.qdocinc conf
-
- See \l {Qt Quick Controls Configuration File} for more details about the
- configuration file.
-
- \section3 Environment Variables
-
- \include qquickmaterialstyle.qdocinc env
-
- See \l {Supported Environment Variables in Qt Quick Controls} for the full
- list of supported environment variables.
-
- \section2 Dependency
-
- The Material style must be separately imported to gain access to the
- attributes that are specific to the Material style. It should be noted
- that regardless of the references to the Material style, the same
- application code runs with any other style. Material-specific attributes
- only have an effect when the application is run with the Material style.
-
- If the Material style is imported in a QML file that is always loaded, the
- Material style must be deployed with the application in order to be able
- to run the application regardless of which style the application is run with.
- By using \l {Using File Selectors with Qt Quick Controls}{file selectors},
- style-specific tweaks can be applied without creating a hard dependency to
- a style.
-
- \section2 Pre-defined Material Colors
-
- Even though primary and accent can be any \l {colorbasictypedocs}{color}, it
- is recommended to use one of the pre-defined colors that have been designed
- to work well with the rest of the Material style palette:
-
- Available pre-defined colors:
- \value Material.Red \stylecolor {#F44336} {}
- \value Material.Pink \stylecolor {#E91E63} {(default accent)}
- \value Material.Purple \stylecolor {#9C27B0} {}
- \value Material.DeepPurple \stylecolor {#673AB7} {}
- \value Material.Indigo \stylecolor {#3F51B5} {(default primary)}
- \value Material.Blue \stylecolor {#2196F3} {}
- \value Material.LightBlue \stylecolor {#03A9F4} {}
- \value Material.Cyan \stylecolor {#00BCD4} {}
- \value Material.Teal \stylecolor {#009688} {}
- \value Material.Green \stylecolor {#4CAF50} {}
- \value Material.LightGreen \stylecolor {#8BC34A} {}
- \value Material.Lime \stylecolor {#CDDC39} {}
- \value Material.Yellow \stylecolor {#FFEB3B} {}
- \value Material.Amber \stylecolor {#FFC107} {}
- \value Material.Orange \stylecolor {#FF9800} {}
- \value Material.DeepOrange \stylecolor {#FF5722} {}
- \value Material.Brown \stylecolor {#795548} {}
- \value Material.Grey \stylecolor {#9E9E9E} {}
- \value Material.BlueGrey \stylecolor {#607D8B} {}
-
- When the dark theme is in use, different \l {Pre-defined Shades}{shades} of
- the pre-defined colors are used by default:
-
- \value Material.Red \stylecolor {#EF9A9A} {}
- \value Material.Pink \stylecolor {#F48FB1} {(default accent)}
- \value Material.Purple \stylecolor {#CE93D8} {}
- \value Material.DeepPurple \stylecolor {#B39DDB} {}
- \value Material.Indigo \stylecolor {#9FA8DA} {(default primary)}
- \value Material.Blue \stylecolor {#90CAF9} {}
- \value Material.LightBlue \stylecolor {#81D4FA} {}
- \value Material.Cyan \stylecolor {#80DEEA} {}
- \value Material.Teal \stylecolor {#80CBC4} {}
- \value Material.Green \stylecolor {#A5D6A7} {}
- \value Material.LightGreen \stylecolor {#C5E1A5} {}
- \value Material.Lime \stylecolor {#E6EE9C} {}
- \value Material.Yellow \stylecolor {#FFF59D} {}
- \value Material.Amber \stylecolor {#FFE082} {}
- \value Material.Orange \stylecolor {#FFCC80} {}
- \value Material.DeepOrange \stylecolor {#FFAB91} {}
- \value Material.Brown \stylecolor {#BCAAA4} {}
- \value Material.Grey \stylecolor {#EEEEEE} {}
- \value Material.BlueGrey \stylecolor {#B0BEC5} {}
-
- \section2 Pre-defined Shades
-
- There are several different
- \l {https://material.google.com/style/color.html#color-color-palette}{shades}
- of each \l {Pre-defined Material Colors}{pre-defined color} that can be passed
- to the \l {material-color-attached-method}{Material.color()} function:
- \value Material.Shade50
- \value Material.Shade100
- \value Material.Shade200
- \value Material.Shade300
- \value Material.Shade400
- \value Material.Shade500
- \value Material.Shade600
- \value Material.Shade700
- \value Material.Shade800
- \value Material.Shade900
- \value Material.ShadeA100
- \value Material.ShadeA200
- \value Material.ShadeA400
- \value Material.ShadeA700
-
- \b {See also} \l {Default Style}, \l {Universal Style}
-
- \section2 Variants
-
- The Material style also supports a dense variant, where controls like
- buttons and delegates are smaller in height and use smaller font sizes.
- It is recommended to use the dense variant on desktop platforms, where
- a mouse and keyboard allow more precise and flexible user interaction.
-
- To use the dense variant, either set the
- \c QT_QUICK_CONTROLS_MATERIAL_VARIANT environment variable to \c Dense,
- or specify \c Variant=Dense in the
- \l {Qt Quick Controls Configuration File}{qtquickcontrols2.conf} file.
- The default value in both cases is \c Normal.
-
- The following images illustrate the differences between some of the
- controls when using the normal and dense variants:
-
- \table
- \row
- \li
- \image qtquickcontrols2-material-variant-normal.png
- \li
- \image qtquickcontrols2-material-variant-dense.png
- \endtable
-
- Note that the heights shown above may vary based on differences in fonts
- across platforms.
-
- \section1 Attached Property Documentation
-
- \styleproperty {Material.accent} {color} {material-accent-attached-prop}
- \target material-accent-attached-prop
- This attached property holds the accent color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The default value is \c Material.Pink.
-
- In the following example, the accent color of the highlighted button is
- changed to \c Material.Orange:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-material-accent.qml 1
- \li
- \image qtquickcontrols2-material-accent.png
- \endtable
-
- \note Even though the accent can be any \l {colorbasictypedocs}{color}, it is
- recommended to use one of the \l {pre-defined Material colors} that have been
- designed to work well with the rest of the Material style palette.
-
- \endstyleproperty
-
- \styleproperty {Material.background} {color} {material-background-attached-prop}
- \target material-background-attached-prop
- This attached property holds the background color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The default value is theme-specific (light or dark).
-
- In the following example, the background color of the button is changed to
- \c Material.Teal:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-material-background.qml 1
- \li
- \image qtquickcontrols2-material-background.png
- \endtable
-
- \endstyleproperty
-
- \styleproperty {Material.elevation} {int} {material-elevation-attached-prop}
- \target material-elevation-attached-prop
- This attached property holds the elevation of the control. The higher the
- elevation, the deeper the shadow. The property can be attached to any control,
- but not all controls visualize elevation.
-
- The default value is control-specific.
-
- In the following example, the elevation of the pane is set to \c 6
- in order to achieve the look of an
- \l {https://material.google.com/components/cards.html}{elevated card}:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-material-elevation.qml 1
- \li
- \image qtquickcontrols2-material-elevation.png
- \endtable
-
- \endstyleproperty
-
- \styleproperty {Material.foreground} {color} {material-foreground-attached-prop}
- \target material-foreground-attached-prop
- This attached property holds the foreground color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The default value is theme-specific (light or dark).
-
- In the following example, the foreground color of the button is set to \c
- Material.Pink:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-material-foreground.qml 1
- \li
- \image qtquickcontrols2-material-foreground.png
- \endtable
-
- \endstyleproperty
-
- \styleproperty {Material.primary} {color} {material-primary-attached-prop}
- \target material-primary-attached-prop
- This attached property holds the primary color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The primary color is used as the background color of ToolBar by default.
-
- The default value is \c Material.Indigo.
-
- \note Even though the primary can be any \l {colorbasictypedocs}{color}, it is
- recommended to use one of the \l {pre-defined Material colors} that have been
- designed to work well with the rest of the Material style palette.
-
- \endstyleproperty
-
- \styleproperty {Material.theme} {enumeration} {material-theme-attached-prop}
- \target material-theme-attached-prop
- This attached property holds whether the theme is light or dark. The property
- can be attached to any window or item. The value is propagated to children.
-
- Available themes:
- \value Material.Light Light theme (default)
- \value Material.Dark Dark theme
- \value Material.System System theme
-
- Setting the theme to \c System chooses either the light or dark theme based
- on the system theme colors. However, when reading the value of the theme
- property, the value is never \c System, but the actual theme.
-
- In the following example, the theme for both the pane and the button is set
- to \c Material.Dark:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-material-theme.qml 1
- \li
- \image qtquickcontrols2-material-theme.png
- \endtable
-
- \endstyleproperty
-
- \section1 Attached Method Documentation
-
- \stylemethod2 {color} {color} {enumeration} {predefined} {enumeration} {shade} {material-color-attached-method}
- \target material-color-attached-method
- This attached method returns the effective color value of the specified
- \l {pre-defined Material colors}{pre-defined Material color} combined with
- the given \l {pre-defined shades}{shade}. If omitted, the shade argument
- defaults to \c Material.Shade500.
-
- \qml
- Rectangle {
- color: Material.color(Material.Red)
- }
- \endqml
-
- \endstylemethod2
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-menus.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-menus.qdoc
deleted file mode 100644
index 43db2092..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-menus.qdoc
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-menus.html
- \title Menu Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for menu controls
-
- \annotatedlist qtquickcontrols2-menus
-
- Each type of menu control has its own specific target use case. The
- following sections offer guidelines for choosing the appropriate type
- of menu control, depending on the use case.
-
- \section1 Menu Control
-
- \image qtquickcontrols2-menu.png
-
- \l Menu control can be used for context menus; for example, after
- right-clicking. It can also be used for popup menus; for example, a
- menu that is shown after clicking a button.
-
- \l MenuItem is an item in the Menu control. Each item in a menu:
- \list
- \li displays text to the user
- \li allows checking/unchecking
- \li is highlighted (for example, on keyboard navigation)
- \li performs some action on activation
- \endlist
-
- \section1 MenuBar Control
-
- \image qtquickcontrols2-menubar.png
-
- \l MenuBar control can be used for window menu bars.
-
- \l MenuBarItem is an item in the MenuBar control. Each item in a menu bar:
- \list
- \li displays text to the user
- \li is highlighted (for example, on keyboard navigation)
- \li pops up the respective menu on activation
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-navigation.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-navigation.qdoc
deleted file mode 100644
index 95928d13..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-navigation.qdoc
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-navigation.html
- \title Navigation Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for navigation controls
-
- Qt Quick Controls offers a selection of navigation models.
-
- \annotatedlist qtquickcontrols2-navigation
-
- The following sections offer guidelines for choosing the appropriate type
- of navigation model, depending on the use case.
-
- \section1 StackView Control
-
- \image qtquickcontrols2-stackview-wireframe.png
-
- \l StackView provides a stack-based navigation model which can be used
- with a set of interlinked pages. StackView works according to a last-in
- first-out principle: the page pushed last on the stack is the one visible.
- Popping a page removes the last page and makes the previous one visible.
-
- \section1 SwipeView Control
-
- \image qtquickcontrols2-swipeview-wireframe.png
-
- \l SwipeView provides a navigation model that simplifies horizontal paged
- scrolling. The page indicator on the bottom shows which is the presently
- active page.
-
- \section1 TabBar Control
-
- \image qtquickcontrols2-tabbar-wireframe.png
-
- \l TabBar is a bar with icons or text that allows the user to switch
- between different subtasks, views, or modes.
-
- \section1 TabButton Control
-
- \image qtquickcontrols2-tabbutton.png
-
- \l TabButton is a button with a layout suitable for a TabBar control.
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc
deleted file mode 100644
index e4bac54a..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlbasictype palette
- \brief a palette of colors.
- \target qtquickcontrols2-palette
-
- The \c palette type refers to a palette of colors for various roles.
-
- Available properties:
- \table
- \header
- \li Property
- \li Description
- \row
- \li \b palette.alternateBase : color
- \li Used as the alternate background color in item views with alternating row colors.
- \row
- \li \b palette.base : color
- \li Used mostly as the background color for text editor controls and items views.
- It is usually white or another light color.
- \row
- \li \b palette.brightText : color
- \li A text color that is very different from \c palette.windowText, and contrasts
- well with e.g. \c palette.dark. Typically used for text that needs to be drawn
- where \c palette.text, \c palette.windowText or \c palette.buttonText would
- give poor contrast, such as on highlighted buttons.
- \row
- \li \b palette.button : color
- \li The general button background color. This background can be different from
- \c palette.window as some styles require a different background color for buttons.
- \row
- \li \b palette.buttonText : color
- \li A foreground color used with the \c palette.button color.
- \row
- \li \b palette.dark : color
- \li Darker than \c palette.button.
- \row
- \li \b palette.highlight : color
- \li A color to indicate a selected item or the current item.
- \row
- \li \b palette.highlightedText : color
- \li A text color that contrasts with \c palette.highlight.
- \row
- \li \b palette.light : color
- \li Lighter than \c palette.button.
- \row
- \li \b palette.link : color
- \li A text color used for hyperlinks.
- \row
- \li \b palette.linkVisited : color
- \li A text color used for already visited hyperlinks.
- \row
- \li \b palette.mid : color
- \li Between \c palette.button and \c palette.dark.
- \row
- \li \b palette.midlight : color
- \li Between \c palette.button and \c palette.light.
- \row
- \li \b palette.shadow : color
- \li A very dark color.
- \row
- \li \b palette.text : color
- \li The foreground color used with \c palette.base. This is usually the same as
- the \c palette.windowText, in which case it must provide good contrast with
- \c palette.window and \c palette.base.
- \row
- \li \b palette.toolTipBase : color
- \li Used as the background color for tooltips.
- \row
- \li \b palette.toolTipText : color
- \li Used as the foreground color for tooltips.
- \row
- \li \b palette.window : color
- \li A general background color.
- \row
- \li \b palette.windowText : color
- \li A general foreground color.
- \endtable
-
- \sa Control::palette, Popup::palette, ApplicationWindow::palette, QPalette::ColorRole
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-popups.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-popups.qdoc
deleted file mode 100644
index c26b4c4b..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-popups.qdoc
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-popups.html
- \title Popup Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for popup controls
-
- \annotatedlist qtquickcontrols2-popups
-
- Each type of popup control has its own specific target use case. The
- following sections offer guidelines for choosing the appropriate type
- of popup control, depending on the use case.
-
- \section1 Drawer Control
-
- \image qtquickcontrols2-drawer-expanded-wireframe.png
-
- \l Drawer provides a swipe-based side panel, similar to those often used
- in touch interfaces to provide a central location for navigation.
-
- The drawer can be positioned at any of the four edges of the screen. It allows
- the user to add navigation without taking up valuable screen space. The user can
- show and hide the drawer at any time with a simple swipe movement.
-
- \section1 Menu Control
-
- \image qtquickcontrols2-menu.png
-
- The \l Menu control displays a vertical list of items that can be selected. It can
- be used for offering a list of actions that can be taken in a given context.
-
- \b {See also} \l {Drawer Control}.
-
- \section1 Popup Control
-
- \image qtquickcontrols2-popup-settings.png
-
- A \l Popup displays content over other application content.
- It prompts the user to make a decision or enter information.
-
- Popups can be modal or non-modal. A modal popup blocks users from interacting
- with the application until they have made a choice and closed the popup.
-
- A popup can be used for:
-
- \list
- \li communicating a message to the user that they must read and acknowledge.
- \li displaying an error message.
- \li prompting the user to make a choice and/or enter a value.
- \endlist
-
- \section1 ToolTip Control
-
- \image qtquickcontrols2-tooltip.png
-
- \l ToolTip shows a short piece of text that informs the user of a control's
- function. It is typically placed above or below the parent control.
-
- Recommendations:
- \list
- \li Use a tooltip if a control has little or no descriptive text, or needs
- a short explanation.
- \li Use a tooltip only if the information on a particular control is not
- available elsewhere in the screen.
- \li Keep the tooltip text short so that it does not cover other content
- while being displayed.
- \endlist
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc
deleted file mode 100644
index c8c44264..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlmodule QtQuick.Controls 2.5
- \keyword Qt Quick Controls QML Types
- \title Qt Quick Controls QML Types
- \keyword Qt Quick Controls 2 QML Types
- \ingroup qmlmodules
- \brief Provides QML types for user interfaces (Qt Quick Controls).
-
- \l{Qt Quick Controls} provides QML types for creating user interfaces.
- These QML types work in conjunction with \l{Qt Quick} and
- \l{Qt Quick Layouts}.
-
- Qt Quick Controls QML types can be imported into your application
- using the following import statement in your .qml file:
-
- \badcode \QtMinorVersion
- import QtQuick.Controls 2.\1
- \endcode
-
- \section1 QML Types
- \generatelist {qmltypesbymodule QtQuick.Controls}
- \noautolist
-
- For more information on the Qt Quick Controls module, see the
- \l {Qt Quick Controls} module documentation.
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-separators.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-separators.qdoc
deleted file mode 100644
index 481a744e..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-separators.qdoc
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-separators.html
- \title Separator Controls
- \ingroup qtquickcontrols2-guidelines
- \brief Guidelines for separator controls
-
- Qt Quick Controls offers a selection of separators.
-
- \annotatedlist qtquickcontrols2-separators
-
- Each type of separator has its own specific use case. The following
- sections offer guidelines for choosing the appropriate type of separator,
- depending on the use case.
-
- \section1 MenuSeparator Control
-
- \image qtquickcontrols2-menuseparator.png
-
- \l MenuSeparator should be used to separate items (typically MenuItem
- controls) in a Menu. Grouping related menu items together makes it easier
- for the user to interact with the menu. For example, a typical desktop
- user interface might have \c Undo and \c Redo items in one group, and
- \c Cut, \c Copy and \c Paste in another.
-
- \section1 ToolSeparator Control
-
- \image qtquickcontrols2-toolseparator.png
-
- \l ToolSeparator should be used to separate items (typically ToolButton
- controls) in a ToolBar. It can be used in horizontal or vertical toolbars.
-
- \section1 Related Information
- \list
- \li \l {Qt Quick Controls Guidelines}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
deleted file mode 100644
index 27731e42..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
+++ /dev/null
@@ -1,146 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-styles.html
- \title Styling Qt Quick Controls
-
- \section1 Available Styles
-
- Qt Quick Controls comes with a selection of styles.
-
- \section2 Default Style
-
- \image qtquickcontrols2-default-thumbnail.png
- The \l {Default Style} is a simple and light-weight all-round style that offers
- the maximum performance for Qt Quick Controls.
-
- \section2 Fusion Style
-
- \image qtquickcontrols2-fusion-thumbnail.png
- The \l {Fusion Style} is a platform-agnostic style that offers a desktop-oriented
- look'n'feel for Qt Quick Controls.
-
- \section2 Imagine Style
-
- \image qtquickcontrols2-imagine-thumbnail.png
- The \l {Imagine Style} is based on image assets. The style comes with a default
- set of images which can easily be changed by providing a directory
- with images using a predefined naming convention.
-
- \section2 Material Style
-
- \image qtquickcontrols2-material-thumbnail.png
- The \l {Material Style} offers an appealing design based on the
- \l {https://www.google.com/design/spec/material-design/introduction.html}
- {Google Material Design Guidelines}, but requires more system resources than
- the Default style.
-
- \section2 Universal Style
-
- \image qtquickcontrols2-universal-thumbnail.png
- The \l {Universal Style} offers an appealing design based on the
- \l {https://dev.windows.com/design}{Microsoft Universal Design Guidelines},
- but requires more system resources than the Default style.
-
- \section1 Using Styles in Qt Quick Controls
-
- In order to run an application with a specific style, either configure the
- style using \l QQuickStyle in C++, pass a command line argument, or set an
- environment variable. Alternatively, the preferred style and style-specific
- attributes can be specified in a configuration file.
-
- The priority of these approaches follows the order they are listed below,
- from highest to lowest. That is, using QQuickStyle to set the style will
- always take priority over using the command line argument, for example.
-
- \section2 Using QQuickStyle in C++
-
- \l QQuickStyle provides C++ API for configuring a specific style. The following
- example runs a Qt Quick Controls application with the Material style:
-
- \code
- QQuickStyle::setStyle("Material");
- \endcode
-
- See the detailed description of \l QQuickStyle for more details.
-
- \section2 Command line argument
-
- Passing a \c -style command line argument is the convenient way to test different
- styles. It takes precedence over the other methods listed below. The following
- example runs a Qt Quick Controls application with the Material style:
-
- \code
- ./app -style material
- \endcode
-
- \section2 Environment variable
-
- Setting the \c QT_QUICK_CONTROLS_STYLE environment variable can be used to set
- a system-wide style preference. It takes precedence over the configuration file
- mentioned below. The following example runs a Qt Quick Controls application with
- the Universal style:
-
- \code
- QT_QUICK_CONTROLS_STYLE=universal ./app
- \endcode
-
- See \l {Supported Environment Variables in Qt Quick Controls} for the full list
- of supported environment variables.
-
- \section2 Configuration file
-
- Qt Quick Controls support a special configuration file, \c :/qtquickcontrols2.conf,
- that is built into an application's resources.
-
- The configuration file can specify the preferred style (may be overridden by either
- of the methods described earlier) and certain style-specific attributes. The following
- example specifies that the preferred style is the Material style.
-
- \code
- [Controls]
- Style=Material
- \endcode
-
- See \l {Qt Quick Controls Configuration File} for more details about the
- configuration file.
-
- \section1 Related Information
- \list
- \li \l {Default Style}
- \li \l {Fusion Style}
- \li \l {Imagine Style}
- \li \l {Material Style}
- \li \l {Universal Style}
- \li \l {Customizing Qt Quick Controls}
- \li \l {Using File Selectors with Qt Quick Controls}
- \li \l {Deploying Qt Quick Controls Applications}
- \li \l {Qt Quick Controls Configuration File}
- \li \l {Supported Environment Variables in Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc
deleted file mode 100644
index 1e67dd75..00000000
--- a/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc
+++ /dev/null
@@ -1,288 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquickcontrols2-universal.html
- \title Universal Style
-
- The Universal Style is based on the Microsoft Universal Design Guidelines.
- \l {detailed-desc-universal}{More...}
-
- \styleimport {QtQuick.Controls.Universal 2.12} {Qt 5.7}
-
- \section1 Attached Properties
-
- \list
- \li \l {universal-accent-attached-prop}{\b accent} : color
- \li \l {universal-background-attached-prop}{\b background} : color
- \li \l {universal-foreground-attached-prop}{\b foreground} : color
- \li \l {universal-theme-attached-prop}{\b theme} : enumeration
- \endlist
-
- \section1 Attached Methods
-
- \list
- \li color \l {color-attached-method}{\b color}(enumeration predefined)
- \endlist
-
- \section1 Detailed Description
- \target detailed-desc-universal
-
- The Universal style is a device-agnostic style based on the
- \l {https://dev.windows.com/design}{Microsoft Universal Design Guidelines}.
- The Universal style has been designed to look good on all devices, from
- phones and tablets to PCs.
-
- \table
- \row
- \li \image qtquickcontrols2-universal-light.png
- \caption The Universal style in light theme
- \li \image qtquickcontrols2-universal-dark.png
- \caption The Universal style in dark theme
- \endtable
-
- To run an application with the Universal style, see
- \l {Using Styles in Qt Quick Controls}.
-
- \note The Universal style is not a native Windows 10 style. The Universal
- style is a 100% cross-platform Qt Quick Controls style implementation that
- follows the Microsoft Universal Design Guidelines. The style runs on any
- platform, and looks more or less identical everywhere. Minor differences
- may occur due to differences in available system fonts and font rendering
- engines.
-
- \section2 Customization
-
- The Universal style allows customizing four attributes, \l {universal-theme-attached-prop}{theme},
- \l {universal-accent-attached-prop}{accent}, \l {universal-foreground-attached-prop}{foreground}, and
- \l {universal-background-attached-prop}{background}.
-
- \image qtquickcontrols2-universal-attributes.png
-
- Both attributes can be specified for any window or item, and they automatically
- propagate to children in the same manner as \l {Control::font}{fonts}. In the
- following example, the window and all three radio buttons appear in the dark
- theme using a violet accent color:
-
- \table
- \row
- \li
- \qml
- import QtQuick 2.12
- import QtQuick.Controls 2.12
- import QtQuick.Controls.Universal 2.12
-
- ApplicationWindow {
- visible: true
-
- Universal.theme: Universal.Dark
- Universal.accent: Universal.Violet
-
- Column {
- anchors.centerIn: parent
-
- RadioButton { text: qsTr("Small") }
- RadioButton { text: qsTr("Medium"); checked: true }
- RadioButton { text: qsTr("Large") }
- }
- }
- \endqml
- \li
- \image qtquickcontrols2-universal-violet.png
- \endtable
-
- In addition to specifying the attributes in QML, it is also possible to
- specify them via environment variables or in a configuration file. Attributes
- specified in QML take precedence over all other methods.
-
- \section3 Configuration File
-
- \include qquickuniversalstyle.qdocinc conf
-
- See \l {Qt Quick Controls Configuration File} for more details about the
- configuration file.
-
- \section3 Environment Variables
-
- \include qquickuniversalstyle.qdocinc env
-
- See \l {Supported Environment Variables in Qt Quick Controls} for the full
- list of supported environment variables.
-
- \section2 Dependency
-
- The Universal style must be separately imported to gain access to the
- attributes that are specific to the Universal style. It should be noted
- that regardless of the references to the Universal style, the same
- application code runs with any other style. Universal-specific attributes
- only have an effect when the application is run with the Universal style.
-
- If the Universal style is imported in a QML file that is always loaded, the
- Universal style must be deployed with the application in order to be able
- to run the application regardless of which style the application is run with.
- By using \l {Using File Selectors with Qt Quick Controls}{file selectors},
- style-specific tweaks can be applied without creating a hard dependency to
- a style.
-
- \section2 Pre-defined Universal Colors
-
- Available pre-defined colors:
- \value Universal.Lime \stylecolor {#A4C400} {}
- \value Universal.Green \stylecolor {#60A917} {}
- \value Universal.Emerald \stylecolor {#008A00} {}
- \value Universal.Teal \stylecolor {#00ABA9} {}
- \value Universal.Cyan \stylecolor {#1BA1E2} {}
- \value Universal.Cobalt \stylecolor {#3E65FF} {(default accent)}
- \value Universal.Indigo \stylecolor {#6A00FF} {}
- \value Universal.Violet \stylecolor {#AA00FF} {}
- \value Universal.Pink \stylecolor {#F472D0} {}
- \value Universal.Magenta \stylecolor {#D80073} {}
- \value Universal.Crimson \stylecolor {#A20025} {}
- \value Universal.Red \stylecolor {#E51400} {}
- \value Universal.Orange \stylecolor {#FA6800} {}
- \value Universal.Amber \stylecolor {#F0A30A} {}
- \value Universal.Yellow \stylecolor {#E3C800} {}
- \value Universal.Brown \stylecolor {#825A2C} {}
- \value Universal.Olive \stylecolor {#6D8764} {}
- \value Universal.Steel \stylecolor {#647687} {}
- \value Universal.Mauve \stylecolor {#76608A} {}
- \value Universal.Taupe \stylecolor {#87794E} {}
-
- \b {See also} \l {Default Style}, \l {Material Style}
-
- \section1 Attached Property Documentation
-
- \styleproperty {Universal.accent} {color} {universal-accent-attached-prop}
- \target universal-accent-attached-prop
- This attached property holds the accent color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The default value is \c Universal.Cobalt.
-
- In the following example, the accent color of the highlighted button is
- changed to \c Universal.Orange:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-universal-accent.qml 1
- \li
- \image qtquickcontrols2-universal-accent.png
- \endtable
-
- \note Even though the accent can be any \l {colorbasictypedocs}{color}, it is
- recommended to use one of the \l {pre-defined Universal colors} that have been
- designed to work well with the rest of the Universal style palette.
-
- \endstyleproperty
-
- \styleproperty {Universal.background} {color} {universal-background-attached-prop}
- \target universal-background-attached-prop
- This attached property holds the background color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The default value is theme-specific (light or dark).
-
- In the following example, the background color of the pane is changed to
- \c Universal.Steel:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-universal-background.qml 1
- \li
- \image qtquickcontrols2-universal-background.png
- \endtable
-
- \endstyleproperty
-
- \styleproperty {Universal.foreground} {color} {universal-foreground-attached-prop}
- \target universal-foreground-attached-prop
- This attached property holds the foreground color of the theme. The property
- can be attached to any window or item. The value is propagated to children.
-
- The default value is theme-specific (light or dark).
-
- In the following example, the foreground color of the button is set to \c
- Universal.Pink:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-universal-foreground.qml 1
- \li
- \image qtquickcontrols2-universal-foreground.png
- \endtable
-
- \styleproperty {Universal.theme} {enumeration} {universal-theme-attached-prop}
- \target universal-theme-attached-prop
- This attached property holds whether the theme is light or dark. The property
- can be attached to any window or item. The value is propagated to children.
-
- Available themes:
- \value Universal.Light Light theme (default)
- \value Universal.Dark Dark theme
- \value Universal.System System theme
-
- Setting the theme to \c System chooses either the light or dark theme based
- on the system theme colors. However, when reading the value of the theme
- property, the value is never \c System, but the actual theme.
-
- In the following example, the theme for both the pane and the button is set
- to \c Universal.Dark:
-
- \table
- \row
- \li
- \snippet qtquickcontrols2-universal-theme.qml 1
- \li
- \image qtquickcontrols2-universal-theme.png
- \endtable
-
- \endstyleproperty
-
- \section1 Attached Method Documentation
-
- \stylemethod {color} {color} {enumeration} {predefined} {color-attached-method}
- \target color-attached-method
- This attached method returns the effective color value of the specified
- \l {pre-defined Universal colors}{pre-defined Universal color}.
-
- \qml
- Rectangle {
- color: Universal.color(Universal.Red)
- }
- \endqml
-
- \endstylemethod
-
- \section1 Related Information
-
- \list
- \li \l{Styling Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/controls/fusion/ApplicationWindow.qml b/src/imports/controls/fusion/ApplicationWindow.qml
deleted file mode 100644
index 9079403e..00000000
--- a/src/imports/controls/fusion/ApplicationWindow.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.2
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ApplicationWindow {
- id: window
-
- color: palette.window
-
- overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-}
diff --git a/src/imports/controls/fusion/BusyIndicator.qml b/src/imports/controls/fusion/BusyIndicator.qml
deleted file mode 100644
index 554c3368..00000000
--- a/src/imports/controls/fusion/BusyIndicator.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.BusyIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
-
- contentItem: BusyIndicatorImpl {
- implicitWidth: 28
- implicitHeight: 28
- color: control.palette.text
-
- running: control.running
- opacity: control.running ? 1 : 0
- Behavior on opacity { OpacityAnimator { duration: 250 } }
-
- RotationAnimator on rotation {
- running: control.running || contentItem.visible
- from: 0
- to: 360
- duration: 1000
- loops: Animation.Infinite
- }
- }
-}
diff --git a/src/imports/controls/fusion/Button.qml b/src/imports/controls/fusion/Button.qml
deleted file mode 100644
index 7822634d..00000000
--- a/src/imports/controls/fusion/Button.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Button {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 4
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: ButtonPanel {
- implicitWidth: 80
- implicitHeight: 24
-
- control: control
- visible: !control.flat || control.down || control.checked || control.highlighted || control.visualFocus || control.hovered
- }
-}
diff --git a/src/imports/controls/fusion/ButtonPanel.qml b/src/imports/controls/fusion/ButtonPanel.qml
deleted file mode 100644
index 125aa2f3..00000000
--- a/src/imports/controls/fusion/ButtonPanel.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-Rectangle {
- id: panel
-
- property Item control
- property bool highlighted: control.highlighted
-
- visible: !control.flat || control.down || control.checked
-
- color: Fusion.buttonColor(control.palette, panel.highlighted, control.down || control.checked, control.hovered)
- gradient: control.down || control.checked ? null : buttonGradient
-
- Gradient {
- id: buttonGradient
- GradientStop {
- position: 0
- color: Fusion.gradientStart(Fusion.buttonColor(panel.control.palette, panel.highlighted, panel.control.down, panel.control.hovered))
- }
- GradientStop {
- position: 1
- color: Fusion.gradientStop(Fusion.buttonColor(panel.control.palette, panel.highlighted, panel.control.down, panel.control.hovered))
- }
- }
-
- radius: 2
- border.color: Fusion.buttonOutline(control.palette, panel.highlighted || control.visualFocus, control.enabled)
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- border.color: Fusion.innerContrastLine
- color: "transparent"
- radius: 2
- }
-}
diff --git a/src/imports/controls/fusion/CheckBox.qml b/src/imports/controls/fusion/CheckBox.qml
deleted file mode 100644
index edb4c77f..00000000
--- a/src/imports/controls/fusion/CheckBox.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.CheckBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- indicator: CheckIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-}
diff --git a/src/imports/controls/fusion/CheckDelegate.qml b/src/imports/controls/fusion/CheckDelegate.qml
deleted file mode 100644
index 1b97b1fd..00000000
--- a/src/imports/controls/fusion/CheckDelegate.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.CheckDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- indicator: CheckIndicator {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- control: control
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 20
- color: control.down ? Fusion.buttonColor(control.palette, false, true, true)
- : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base
- }
-}
diff --git a/src/imports/controls/fusion/CheckIndicator.qml b/src/imports/controls/fusion/CheckIndicator.qml
deleted file mode 100644
index 7dcfee30..00000000
--- a/src/imports/controls/fusion/CheckIndicator.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-Rectangle {
- id: indicator
-
- property Item control
- readonly property color pressedColor: Fusion.mergedColors(control.palette.base, control.palette.windowText, 85)
- readonly property color checkMarkColor: Qt.darker(control.palette.text, 1.2)
-
- implicitWidth: 14
- implicitHeight: 14
-
- color: control.down ? indicator.pressedColor : control.palette.base
- border.color: control.visualFocus ? Fusion.highlightedOutline(control.palette)
- : Qt.lighter(Fusion.outline(control.palette), 1.1)
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: 1
- color: Fusion.topShadow
- visible: indicator.control.enabled && !indicator.control.down
- }
-
- ColorImage {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- color: Color.transparent(indicator.checkMarkColor, 210 / 255)
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/checkmark.png"
- visible: indicator.control.checkState === Qt.Checked || (indicator.control.checked && indicator.control.checkState === undefined)
- }
-
- Rectangle {
- x: 3; y: 3
- width: parent.width - 6
- height: parent.width - 6
-
- visible: indicator.control.checkState === Qt.PartiallyChecked
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Color.transparent(indicator.checkMarkColor, 80 / 255)
- }
- GradientStop {
- position: 1
- color: Color.transparent(indicator.checkMarkColor, 140 / 255)
- }
- }
- border.color: Color.transparent(indicator.checkMarkColor, 180 / 255)
- }
-}
diff --git a/src/imports/controls/fusion/ComboBox.qml b/src/imports/controls/fusion/ComboBox.qml
deleted file mode 100644
index e9b836ef..00000000
--- a/src/imports/controls/fusion/ComboBox.qml
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.14
-import QtQuick.Window 2.14
-import QtQuick.Templates 2.14 as T
-import QtQuick.Controls 2.14
-import QtQuick.Controls.impl 2.14
-import QtQuick.Controls.Fusion 2.14
-import QtQuick.Controls.Fusion.impl 2.14
-
-T.ComboBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
- rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
-
- delegate: MenuItem {
- width: parent.width
- text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
- font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
- highlighted: control.highlightedIndex === index
- hoverEnabled: control.hoverEnabled
- }
-
- indicator: ColorImage {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
- color: control.editable ? control.palette.text : control.palette.buttonText
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/arrow.png"
- width: 20
- fillMode: Image.Pad
- }
-
- contentItem: T.TextField {
- topPadding: 4
- leftPadding: 4 - control.padding
- rightPadding: 4 - control.padding
- bottomPadding: 4
-
- text: control.editable ? control.editText : control.displayText
-
- enabled: control.editable
- autoScroll: control.editable
- readOnly: control.down
- inputMethodHints: control.inputMethodHints
- validator: control.validator
-
- font: control.font
- color: control.editable ? control.palette.text : control.palette.buttonText
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- verticalAlignment: Text.AlignVCenter
-
- background: PaddedRectangle {
- clip: true
- radius: 2
- padding: 1
- leftPadding: control.mirrored ? -2 : padding
- rightPadding: !control.mirrored ? -2 : padding
- color: control.palette.base
- visible: control.editable && !control.flat
-
- Rectangle {
- x: parent.width - width
- y: 1
- width: 1
- height: parent.height - 2
- color: Fusion.buttonOutline(control.palette, control.activeFocus, control.enabled)
- }
-
- Rectangle {
- x: 1
- y: 1
- width: parent.width - 3
- height: 1
- color: Fusion.topShadow
- }
- }
-
- Rectangle {
- x: 1 - control.leftPadding
- y: 1
- width: control.width - 2
- height: control.height - 2
- color: "transparent"
- border.color: Color.transparent(Fusion.highlightedOutline(control.palette), 40 / 255)
- visible: control.activeFocus
- radius: 1.7
- }
- }
-
- background: ButtonPanel {
- implicitWidth: 120
- implicitHeight: 24
-
- control: control
- visible: !control.flat || control.down
- // ### TODO: fix control.contentItem.activeFocus
- highlighted: control.visualFocus || control.contentItem.activeFocus
- }
-
- popup: T.Popup {
- width: control.width
- height: Math.min(contentItem.implicitHeight + 2, control.Window.height - topMargin - bottomMargin)
- topMargin: 6
- bottomMargin: 6
- palette: control.palette
- padding: 1
-
- contentItem: ListView {
- clip: true
- implicitHeight: contentHeight
- model: control.delegateModel
- currentIndex: control.highlightedIndex
- highlightRangeMode: ListView.ApplyRange
- highlightMoveDuration: 0
-
- T.ScrollBar.vertical: ScrollBar { }
- }
-
- background: Rectangle {
- color: control.popup.palette.window
- border.color: Fusion.outline(control.palette)
-
- Rectangle {
- z: -1
- x: 1; y: 1
- width: parent.width
- height: parent.height
- color: control.palette.shadow
- opacity: 0.2
- }
- }
- }
-}
diff --git a/src/imports/controls/fusion/DelayButton.qml b/src/imports/controls/fusion/DelayButton.qml
deleted file mode 100644
index 622de111..00000000
--- a/src/imports/controls/fusion/DelayButton.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.DelayButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
-
- transition: Transition {
- NumberAnimation {
- duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress)
- }
- }
-
- contentItem: ItemGroup {
- ClippedText {
- clip: control.progress > 0
- clipX: -control.leftPadding + (control.mirrored ? 0 : control.progress * control.width)
- clipWidth: control.width
- visible: control.mirrored ? control.progress > 0 : control.progress < 1
-
- text: control.text
- font: control.font
- color: control.mirrored ? control.palette.brightText : control.palette.buttonText
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- ClippedText {
- clip: control.progress > 0
- clipX: -control.leftPadding
- clipWidth: (control.mirrored ? 1.0 - control.progress : control.progress) * control.width
- visible: control.mirrored ? control.progress < 1 : control.progress > 0
-
- text: control.text
- font: control.font
- color: control.mirrored ? control.palette.buttonText : control.palette.brightText
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
- }
-
- background: ButtonPanel {
- implicitWidth: 80
- implicitHeight: 24
-
- control: control
- highlighted: false
- scale: control.mirrored ? -1 : 1
-
- Rectangle {
- width: control.progress * parent.width
- height: parent.height
-
- radius: 2
- border.color: Qt.darker(Fusion.highlight(control.palette), 1.4)
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Qt.lighter(Fusion.highlight(control.palette), 1.2)
- }
- GradientStop {
- position: 1
- color: Fusion.highlight(control.palette)
- }
- }
- }
- }
-}
diff --git a/src/imports/controls/fusion/Dial.qml b/src/imports/controls/fusion/Dial.qml
deleted file mode 100644
index a1337242..00000000
--- a/src/imports/controls/fusion/Dial.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Dial {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 100 // ### remove 100 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 100 // ### remove 100 in Qt 6
-
- background: DialImpl {
- implicitWidth: 100
- implicitHeight: 100
- palette: control.palette
- highlight: control.visualFocus
- }
-
- handle: KnobImpl {
- x: control.background.x + control.background.width / 2 - control.handle.width / 2
- y: control.background.y + control.background.height / 2 - control.handle.height / 2
- width: control.width / 7
- height: control.height / 7
- palette: control.palette
- transform: [
- Translate {
- y: -Math.min(control.background.width, control.background.height) * 0.42 + control.handle.height
- },
- Rotation {
- angle: control.angle
- origin.x: control.handle.width / 2
- origin.y: control.handle.height / 2
- }
- ]
- }
-}
diff --git a/src/imports/controls/fusion/Dialog.qml b/src/imports/controls/fusion/Dialog.qml
deleted file mode 100644
index 79e179d9..00000000
--- a/src/imports/controls/fusion/Dialog.qml
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Dialog {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 6
-
- background: Rectangle {
- color: control.palette.window
- border.color: control.palette.mid
- radius: 2
-
- Rectangle {
- z: -1
- x: 1; y: 1
- width: parent.width
- height: parent.height
- color: control.palette.shadow
- opacity: 0.2
- radius: 2
- }
- }
-
- header: Label {
- text: control.title
- visible: control.title
- elide: Label.ElideRight
- font.bold: true
- padding: 6
- background: Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 1
- color: control.palette.window
- radius: 2
- }
- }
-
- footer: DialogButtonBox {
- visible: count > 0
- }
-
- T.Overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- T.Overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-}
diff --git a/src/imports/controls/fusion/DialogButtonBox.qml b/src/imports/controls/fusion/DialogButtonBox.qml
deleted file mode 100644
index a0b0f243..00000000
--- a/src/imports/controls/fusion/DialogButtonBox.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.DialogButtonBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 6
- padding: 6
- alignment: Qt.AlignRight
-
- delegate: Button { }
-
- contentItem: ListView {
- model: control.contentModel
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- snapMode: ListView.SnapToItem
- }
-
- background: Rectangle {
- implicitHeight: 32
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- color: control.palette.window
- radius: 2
- }
-}
diff --git a/src/imports/controls/fusion/Drawer.qml b/src/imports/controls/fusion/Drawer.qml
deleted file mode 100644
index 5a23dde1..00000000
--- a/src/imports/controls/fusion/Drawer.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Drawer {
- id: control
-
- parent: T.Overlay.overlay
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: control.edge === Qt.BottomEdge
- leftPadding: control.edge === Qt.RightEdge
- rightPadding: control.edge === Qt.LeftEdge
- bottomPadding: control.edge === Qt.TopEdge
-
- enter: Transition { SmoothedAnimation { velocity: 5 } }
- exit: Transition { SmoothedAnimation { velocity: 5 } }
-
- background: Rectangle {
- color: control.palette.window
- readonly property bool horizontal: control.edge === Qt.LeftEdge || control.edge === Qt.RightEdge
- Rectangle {
- width: parent.horizontal ? 1 : parent.width
- height: parent.horizontal ? parent.height : 1
- color: control.palette.mid
- x: control.edge === Qt.LeftEdge ? parent.width - 1 : 0
- y: control.edge === Qt.TopEdge ? parent.height - 1 : 0
- }
- Rectangle {
- width: parent.horizontal ? 1 : parent.width
- height: parent.horizontal ? parent.height : 1
- color: control.palette.shadow
- opacity: 0.2
- x: control.edge === Qt.LeftEdge ? parent.width : 0
- y: control.edge === Qt.TopEdge ? parent.height : 0
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- T.Overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-}
diff --git a/src/imports/controls/fusion/Frame.qml b/src/imports/controls/fusion/Frame.qml
deleted file mode 100644
index c2df6351..00000000
--- a/src/imports/controls/fusion/Frame.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Frame {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 9
-
- background: Rectangle {
- color: "transparent"
- border.color: Qt.lighter(Fusion.outline(control.palette), 1.08)
- }
-}
diff --git a/src/imports/controls/fusion/GroupBox.qml b/src/imports/controls/fusion/GroupBox.qml
deleted file mode 100644
index 3df3e1e6..00000000
--- a/src/imports/controls/fusion/GroupBox.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.GroupBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitLabelWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 6
- padding: 9
- topPadding: padding + (implicitLabelWidth > 0 ? implicitLabelHeight + spacing : 0)
-
- label: Text {
- x: control.leftPadding
- width: control.availableWidth
-
- text: control.title
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- y: control.topPadding - control.bottomPadding
- width: parent.width
- height: parent.height - control.topPadding + control.bottomPadding
-
- radius: 2
- color: Color.transparent("black", 3 / 255)
- border.color: Qt.lighter(Fusion.outline(control.palette), 1.08)
- }
-}
diff --git a/src/imports/controls/fusion/ItemDelegate.qml b/src/imports/controls/fusion/ItemDelegate.qml
deleted file mode 100644
index 4c15ae68..00000000
--- a/src/imports/controls/fusion/ItemDelegate.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ItemDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 20
- color: control.down ? Fusion.buttonColor(control.palette, false, true, true)
- : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base
- }
-}
diff --git a/src/imports/controls/fusion/Label.qml b/src/imports/controls/fusion/Label.qml
deleted file mode 100644
index 9821f71c..00000000
--- a/src/imports/controls/fusion/Label.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Label {
- id: control
-
- color: control.palette.windowText
- linkColor: control.palette.link
-}
diff --git a/src/imports/controls/fusion/Menu.qml b/src/imports/controls/fusion/Menu.qml
deleted file mode 100644
index e06b70fd..00000000
--- a/src/imports/controls/fusion/Menu.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-import QtQuick.Window 2.12
-
-T.Menu {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 0
- padding: 1
- overlap: 2
-
- delegate: MenuItem { }
-
- contentItem: ListView {
- implicitHeight: contentHeight
- model: control.contentModel
- interactive: Window.window ? contentHeight > Window.window.height : false
- clip: true
- currentIndex: control.currentIndex
-
- ScrollIndicator.vertical: ScrollIndicator {}
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 20
-
- color: control.palette.base
- border.color: Fusion.outline(control.palette)
-
- Rectangle {
- z: -1
- x: 1; y: 1
- width: parent.width
- height: parent.height
- color: control.palette.shadow
- opacity: 0.2
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- T.Overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-}
diff --git a/src/imports/controls/fusion/MenuBar.qml b/src/imports/controls/fusion/MenuBar.qml
deleted file mode 100644
index 4ba71fee..00000000
--- a/src/imports/controls/fusion/MenuBar.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.MenuBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- delegate: MenuBarItem { }
-
- contentItem: Row {
- spacing: control.spacing
- Repeater {
- model: control.contentModel
- }
- }
-
- background: Rectangle {
- implicitHeight: 20
-
- color: control.palette.window
-
- Rectangle {
- y: parent.height - height
- width: parent.width
- height: 1
- color: Fusion.mergedColors(Qt.darker(control.palette.window, 1.2),
- Qt.lighter(Fusion.outline(control.palette), 1.4), 60)
- }
- }
-}
diff --git a/src/imports/controls/fusion/MenuBarItem.qml b/src/imports/controls/fusion/MenuBarItem.qml
deleted file mode 100644
index 9fa685dc..00000000
--- a/src/imports/controls/fusion/MenuBarItem.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.MenuBarItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.down || control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 20
- implicitHeight: 20
-
- color: Fusion.highlight(control.palette)
- visible: control.down || control.highlighted
- }
-}
diff --git a/src/imports/controls/fusion/MenuItem.qml b/src/imports/controls/fusion/MenuItem.qml
deleted file mode 100644
index a428fbc8..00000000
--- a/src/imports/controls/fusion/MenuItem.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.MenuItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
- readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
- leftPadding: !control.mirrored ? indicatorPadding : arrowPadding
- rightPadding: control.mirrored ? indicatorPadding : arrowPadding
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.down || control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- arrow: ColorImage {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
- width: 20
-
- visible: control.subMenu
- rotation: control.mirrored ? 90 : -90
- color: control.down || control.hovered || control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/arrow.png"
- fillMode: Image.Pad
- }
-
- indicator: CheckIndicator {
- x: control.mirrored ? control.width - width - control.rightPadding : control.leftPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- control: control
- visible: control.checkable
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 20
-
- color: Fusion.highlight(control.palette)
- visible: control.down || control.highlighted
- }
-}
diff --git a/src/imports/controls/fusion/MenuSeparator.qml b/src/imports/controls/fusion/MenuSeparator.qml
deleted file mode 100644
index 522ada15..00000000
--- a/src/imports/controls/fusion/MenuSeparator.qml
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.MenuSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 5
- verticalPadding: 1
-
- contentItem: Rectangle {
- implicitWidth: 188
- implicitHeight: 1
- color: Qt.lighter(Fusion.darkShade, 1.06)
- }
-}
diff --git a/src/imports/controls/fusion/Page.qml b/src/imports/controls/fusion/Page.qml
deleted file mode 100644
index ce4b1d54..00000000
--- a/src/imports/controls/fusion/Page.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Page {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- background: Rectangle {
- color: control.palette.window
- }
-}
diff --git a/src/imports/controls/fusion/PageIndicator.qml b/src/imports/controls/fusion/PageIndicator.qml
deleted file mode 100644
index 5679b14f..00000000
--- a/src/imports/controls/fusion/PageIndicator.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.PageIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 4
- spacing: 4
-
- delegate: Rectangle {
- implicitWidth: 6
- implicitHeight: 6
-
- radius: width / 2
- color: control.palette.shadow
-
- opacity: index === currentIndex ? 0.95 : pressed ? 0.75 : 0.45
- Behavior on opacity { OpacityAnimator { duration: 100 } }
- }
-
- contentItem: Row {
- spacing: control.spacing
-
- Repeater {
- model: control.count
- delegate: control.delegate
- }
- }
-}
diff --git a/src/imports/controls/fusion/Pane.qml b/src/imports/controls/fusion/Pane.qml
deleted file mode 100644
index 28be3b47..00000000
--- a/src/imports/controls/fusion/Pane.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Pane {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 9
-
- background: Rectangle {
- color: control.palette.window
- }
-}
diff --git a/src/imports/controls/fusion/Popup.qml b/src/imports/controls/fusion/Popup.qml
deleted file mode 100644
index 25a8c5ae..00000000
--- a/src/imports/controls/fusion/Popup.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Popup {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 6
-
- background: Rectangle {
- color: control.palette.window
- border.color: control.palette.mid
- radius: 2
- }
-
- T.Overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- T.Overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-}
diff --git a/src/imports/controls/fusion/ProgressBar.qml b/src/imports/controls/fusion/ProgressBar.qml
deleted file mode 100644
index 5deade58..00000000
--- a/src/imports/controls/fusion/ProgressBar.qml
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ProgressBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- contentItem: Item {
- implicitWidth: 120
- implicitHeight: 24
- scale: control.mirrored ? -1 : 1
-
- Rectangle {
- height: parent.height
- width: (control.indeterminate ? 1.0 : control.position) * parent.width
-
- radius: 2
- border.color: Qt.darker(Fusion.highlight(control.palette), 1.4)
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Qt.lighter(Fusion.highlight(control.palette), 1.2)
- }
- GradientStop {
- position: 1
- color: Fusion.highlight(control.palette)
- }
- }
- }
-
- Item {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- visible: control.indeterminate
- clip: true
-
- ColorImage {
- width: Math.ceil(parent.width / implicitWidth + 1) * implicitWidth
- height: parent.height
-
- mirror: control.mirrored
- fillMode: Image.TileHorizontally
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/progressmask.png"
- color: Color.transparent(Qt.lighter(Fusion.highlight(control.palette), 1.2), 160 / 255)
-
- visible: control.indeterminate
- NumberAnimation on x {
- running: control.indeterminate && control.visible
- from: -31 // progressmask.png width
- to: 0
- loops: Animation.Infinite
- duration: 750
- }
- }
- }
- }
-
- background: Rectangle {
- implicitWidth: 120
- implicitHeight: 24
-
- radius: 2
- color: control.palette.base
- border.color: Fusion.outline(control.palette)
-
- Rectangle {
- x: 1; y: 1; height: 1
- width: parent.width - 2
- color: Fusion.topShadow
- }
- }
-}
diff --git a/src/imports/controls/fusion/RadioButton.qml b/src/imports/controls/fusion/RadioButton.qml
deleted file mode 100644
index a940aff3..00000000
--- a/src/imports/controls/fusion/RadioButton.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.RadioButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- indicator: RadioIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-}
diff --git a/src/imports/controls/fusion/RadioDelegate.qml b/src/imports/controls/fusion/RadioDelegate.qml
deleted file mode 100644
index e8555a17..00000000
--- a/src/imports/controls/fusion/RadioDelegate.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.RadioDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- indicator: RadioIndicator {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- control: control
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 20
- color: control.down ? Fusion.buttonColor(control.palette, false, true, true)
- : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base
- }
-}
diff --git a/src/imports/controls/fusion/RadioIndicator.qml b/src/imports/controls/fusion/RadioIndicator.qml
deleted file mode 100644
index c73cd49f..00000000
--- a/src/imports/controls/fusion/RadioIndicator.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-Rectangle {
- id: indicator
-
- property Item control
- readonly property color pressedColor: Fusion.mergedColors(control.palette.base, control.palette.windowText, 85)
- readonly property color checkMarkColor: Qt.darker(control.palette.text, 1.2)
-
- implicitWidth: 14
- implicitHeight: 14
-
- radius: width / 2
- color: control.down ? indicator.pressedColor : control.palette.base
- border.color: control.visualFocus ? Fusion.highlightedOutline(control.palette)
- : Qt.darker(control.palette.window, 1.5)
-
- Rectangle {
- y: 1
- width: parent.width
- height: parent.height - 1
- radius: width / 2
- color: "transparent"
- border.color: Fusion.topShadow
- visible: indicator.control.enabled && !indicator.control.down
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: parent.width / 2.32
- height: parent.height / 2.32
- radius: width / 2
- color: Color.transparent(indicator.checkMarkColor, 180 / 255)
- border.color: Color.transparent(indicator.checkMarkColor, 200 / 255)
- visible: indicator.control.checked
- }
-}
diff --git a/src/imports/controls/fusion/RangeSlider.qml b/src/imports/controls/fusion/RangeSlider.qml
deleted file mode 100644
index 7edbed57..00000000
--- a/src/imports/controls/fusion/RangeSlider.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.RangeSlider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- Math.max(first.implicitHandleWidth,
- second.implicitHandleWidth) + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- Math.max(first.implicitHandleHeight,
- second.implicitHandleHeight) + topPadding + bottomPadding)
-
- first.handle: SliderHandle {
- x: control.leftPadding + Math.round(control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + Math.round(control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height))
-
- palette: control.palette
- pressed: control.first.pressed
- hovered: control.first.hovered
- vertical: control.vertical
- visualFocus: activeFocus
- }
-
- second.handle: SliderHandle {
- x: control.leftPadding + Math.round(control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + Math.round(control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height))
-
- palette: control.palette
- pressed: control.second.pressed
- hovered: control.second.hovered
- vertical: control.vertical
- visualFocus: activeFocus
- }
-
- background: SliderGroove {
- control: control
- offset: control.first.position
- progress: control.second.position
- visualProgress: control.second.visualPosition
- }
-}
diff --git a/src/imports/controls/fusion/RoundButton.qml b/src/imports/controls/fusion/RoundButton.qml
deleted file mode 100644
index 59bf4c16..00000000
--- a/src/imports/controls/fusion/RoundButton.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.RoundButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: Rectangle {
- implicitWidth: 32
- implicitHeight: 32
- visible: !control.flat || control.down || control.checked
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: control.down || control.checked ? Fusion.buttonColor(control.palette, control.highlighted, control.down || control.checked, control.hovered)
- : Fusion.gradientStart(Fusion.buttonColor(control.palette, control.highlighted, control.down, control.hovered))
- }
- GradientStop {
- position: 1
- color: control.down || control.checked ? Fusion.buttonColor(control.palette, control.highlighted, control.down || control.checked, control.hovered)
- : Fusion.gradientStop(Fusion.buttonColor(control.palette, control.highlighted, control.down, control.hovered))
- }
- }
-
- radius: control.radius
- border.color: Fusion.buttonOutline(control.palette, control.highlighted || control.visualFocus, control.enabled)
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- border.color: Fusion.innerContrastLine
- color: "transparent"
- radius: control.radius
- }
- }
-}
diff --git a/src/imports/controls/fusion/ScrollBar.qml b/src/imports/controls/fusion/ScrollBar.qml
deleted file mode 100644
index 93b58f0e..00000000
--- a/src/imports/controls/fusion/ScrollBar.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ScrollBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
- visible: control.policy !== T.ScrollBar.AlwaysOff
- minimumSize: orientation == Qt.Horizontal ? height / width : width / height
-
- contentItem: Rectangle {
- implicitWidth: control.interactive ? 6 : 2
- implicitHeight: control.interactive ? 6 : 2
-
- radius: width / 2
- color: control.pressed ? control.palette.dark : control.palette.mid
- opacity: 0.0
-
- states: State {
- name: "active"
- when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
- PropertyChanges { target: control.contentItem; opacity: 0.75 }
- }
-
- transitions: Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 450 }
- NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
- }
- }
- }
-}
diff --git a/src/imports/controls/fusion/ScrollIndicator.qml b/src/imports/controls/fusion/ScrollIndicator.qml
deleted file mode 100644
index efe0b2fa..00000000
--- a/src/imports/controls/fusion/ScrollIndicator.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ScrollIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
-
- contentItem: Rectangle {
- implicitWidth: 2
- implicitHeight: 2
-
- color: control.palette.mid
- visible: control.size < 1.0
- opacity: 0.0
-
- states: State {
- name: "active"
- when: control.active
- PropertyChanges { target: control.contentItem; opacity: 0.75 }
- }
-
- transitions: [
- Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 450 }
- NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
- }
- }
- ]
- }
-}
diff --git a/src/imports/controls/fusion/Slider.qml b/src/imports/controls/fusion/Slider.qml
deleted file mode 100644
index d212a233..00000000
--- a/src/imports/controls/fusion/Slider.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Slider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitHandleHeight + topPadding + bottomPadding)
-
- handle: SliderHandle {
- x: control.leftPadding + Math.round(control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + Math.round(control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))
-
- palette: control.palette
- pressed: control.pressed
- hovered: control.hovered
- vertical: control.vertical
- visualFocus: control.visualFocus
- }
-
- background: SliderGroove {
- control: control
- progress: control.position
- visualProgress: control.visualPosition
- }
-}
diff --git a/src/imports/controls/fusion/SliderGroove.qml b/src/imports/controls/fusion/SliderGroove.qml
deleted file mode 100644
index 381a02b5..00000000
--- a/src/imports/controls/fusion/SliderGroove.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-Rectangle {
- id: groove
-
- property Item control
- property real offset
- property real progress
- property real visualProgress
-
- x: control.horizontal ? 0 : (control.availableWidth - width) / 2
- y: control.horizontal ? (control.availableHeight - height) / 2 : 0
-
- implicitWidth: control.horizontal ? 160 : 5
- implicitHeight: control.horizontal ? 5 : 160
- width: control.horizontal ? control.availableWidth : implicitWidth
- height: control.horizontal ? implicitHeight : control.availableHeight
-
- radius: 2
- border.color: Fusion.outline(control.palette)
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Qt.darker(Fusion.grooveColor(groove.control.palette), 1.1)
- }
- GradientStop {
- position: 1
- color: Qt.lighter(Fusion.grooveColor(groove.control.palette), 1.1)
- }
- }
-
- Rectangle {
- x: groove.control.horizontal ? groove.offset * parent.width : 0
- y: groove.control.horizontal ? 0 : groove.visualProgress * parent.height
- width: groove.control.horizontal ? groove.progress * parent.width - groove.offset * parent.width : 5
- height: groove.control.horizontal ? 5 : groove.progress * parent.height - groove.offset * parent.height
-
- radius: 2
- border.color: Qt.darker(Fusion.highlightedOutline(groove.control.palette), 1.1)
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Fusion.highlight(groove.control.palette)
- }
- GradientStop {
- position: 1
- color: Qt.lighter(Fusion.highlight(groove.control.palette), 1.2)
- }
- }
- }
-}
diff --git a/src/imports/controls/fusion/SliderHandle.qml b/src/imports/controls/fusion/SliderHandle.qml
deleted file mode 100644
index c53af57e..00000000
--- a/src/imports/controls/fusion/SliderHandle.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-Rectangle {
- id: handle
-
- property var palette
- property bool pressed
- property bool hovered
- property bool vertical
- property bool visualFocus
-
- implicitWidth: 13
- implicitHeight: 13
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Fusion.gradientStart(Fusion.buttonColor(handle.palette, handle.visualFocus, handle.pressed, handle.hovered))
- }
- GradientStop {
- position: 1
- color: Fusion.gradientStop(Fusion.buttonColor(handle.palette, handle.visualFocus, handle.pressed, handle.hovered))
- }
- }
- rotation: handle.vertical ? -90 : 0
- border.width: 1
- border.color: "transparent"
- radius: 2
-
- Rectangle {
- width: parent.width
- height: parent.height
- border.color: handle.visualFocus ? Fusion.highlightedOutline(handle.palette) : Fusion.outline(handle.palette)
- color: "transparent"
- radius: 2
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- border.color: Fusion.innerContrastLine
- color: "transparent"
- radius: 2
- }
- }
-}
diff --git a/src/imports/controls/fusion/SpinBox.qml b/src/imports/controls/fusion/SpinBox.qml
deleted file mode 100644
index 41754f63..00000000
--- a/src/imports/controls/fusion/SpinBox.qml
+++ /dev/null
@@ -1,182 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.SpinBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentItem.implicitWidth + 2 * padding +
- Math.max(up.implicitIndicatorWidth,
- down.implicitIndicatorWidth))
- implicitHeight: Math.max(implicitContentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight,
- up.implicitIndicatorHeight +
- down.implicitIndicatorHeight)
-
- padding: 4
- leftPadding: padding + (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
- rightPadding: padding + (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
-
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
-
- contentItem: TextInput {
- z: 2
- text: control.displayText
-
- font: control.font
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
-
- readOnly: !control.editable
- validator: control.validator
- inputMethodHints: control.inputMethodHints
- }
-
- up.indicator: PaddedRectangle {
- x: control.mirrored ? 1 : parent.width - width - 1
- y: 1
- height: parent.height / 2 - 1
- implicitWidth: 16
- implicitHeight: 10
-
- radius: 1.7
- clip: true
- topPadding: -2
- leftPadding: -2
- color: control.up.pressed ? Fusion.buttonColor(control.palette, false, true, true) : "transparent"
-
- ColorImage {
- scale: -1
- width: parent.width
- height: parent.height
- opacity: enabled ? 1.0 : 0.5
- color: control.palette.buttonText
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/arrow.png"
- fillMode: Image.Pad
- }
- }
-
- down.indicator: PaddedRectangle {
- x: control.mirrored ? 1 : parent.width - width - 1
- y: parent.height - height - 1
- height: parent.height / 2 - 1
- implicitWidth: 16
- implicitHeight: 10
-
- radius: 1.7
- clip: true
- topPadding: -2
- leftPadding: -2
- color: control.down.pressed ? Fusion.buttonColor(control.palette, false, true, true) : "transparent"
-
- ColorImage {
- width: parent.width
- height: parent.height
- opacity: enabled ? 1.0 : 0.5
- color: control.palette.buttonText
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/arrow.png"
- fillMode: Image.Pad
- }
- }
-
- background: Rectangle {
- implicitWidth: 120
- implicitHeight: 24
-
- radius: 2
- color: control.palette.base
- border.color: control.activeFocus ? Fusion.highlightedOutline(control.palette) : Fusion.outline(control.palette)
-
- Rectangle {
- x: 2
- y: 1
- width: parent.width - 4
- height: 1
- color: Fusion.topShadow
- }
-
- Rectangle {
- x: control.mirrored ? 1 : parent.width - width - 1
- y: 1
- width: Math.max(control.up.indicator ? control.up.indicator.width : 0,
- control.down.indicator ? control.down.indicator.width : 0) + 1
- height: parent.height - 2
-
- radius: 2
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Fusion.gradientStart(Fusion.buttonColor(control.palette, control.visualFocus, false, control.up.hovered || control.down.hovered))
- }
- GradientStop {
- position: 1
- color: Fusion.gradientStop(Fusion.buttonColor(control.palette, control.visualFocus, false, control.up.hovered || control.down.hovered))
- }
- }
-
- Rectangle {
- x: control.mirrored ? parent.width - 1 : 0
- height: parent.height
- width: 1
- color: Fusion.outline(control.palette)
- }
- }
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- color: "transparent"
- border.color: Color.transparent(Fusion.highlightedOutline(control.palette), 40 / 255)
- visible: control.activeFocus
- radius: 1.7
- }
- }
-}
diff --git a/src/imports/controls/fusion/SplitView.qml b/src/imports/controls/fusion/SplitView.qml
deleted file mode 100644
index 6a04b4da..00000000
--- a/src/imports/controls/fusion/SplitView.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.13
-import QtQuick.Templates 2.13 as T
-import QtQuick.Controls 2.13
-import QtQuick.Controls.impl 2.13
-import QtQuick.Controls.Fusion 2.13
-
-T.SplitView {
- id: control
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- handle: Rectangle {
- implicitWidth: control.orientation === Qt.Horizontal ? 2 : control.width
- implicitHeight: control.orientation === Qt.Horizontal ? control.height : 2
- color: T.SplitHandle.pressed ? palette.dark
- : (T.SplitHandle.hovered ? control.palette.midlight : control.palette.mid)
- }
-}
diff --git a/src/imports/controls/fusion/SwipeDelegate.qml b/src/imports/controls/fusion/SwipeDelegate.qml
deleted file mode 100644
index 48c531ea..00000000
--- a/src/imports/controls/fusion/SwipeDelegate.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.SwipeDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } }
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 20
- color: control.down ? Fusion.buttonColor(control.palette, false, true, true)
- : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base
- }
-}
diff --git a/src/imports/controls/fusion/Switch.qml b/src/imports/controls/fusion/Switch.qml
deleted file mode 100644
index bf18003a..00000000
--- a/src/imports/controls/fusion/Switch.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Switch {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- indicator: SwitchIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.text
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-}
diff --git a/src/imports/controls/fusion/SwitchDelegate.qml b/src/imports/controls/fusion/SwitchDelegate.qml
deleted file mode 100644
index 67c41924..00000000
--- a/src/imports/controls/fusion/SwitchDelegate.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.SwitchDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- indicator: SwitchIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 20
- color: control.down ? Fusion.buttonColor(control.palette, false, true, true)
- : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base
- }
-}
diff --git a/src/imports/controls/fusion/SwitchIndicator.qml b/src/imports/controls/fusion/SwitchIndicator.qml
deleted file mode 100644
index ae7c89a0..00000000
--- a/src/imports/controls/fusion/SwitchIndicator.qml
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-Rectangle {
- id: indicator
-
- property Item control
- readonly property color pressedColor: Fusion.mergedColors(control.palette.base, control.palette.windowText, 85)
- readonly property color checkMarkColor: Qt.darker(control.palette.text, 1.2)
-
- implicitWidth: 40
- implicitHeight: 16
-
- radius: 2
- border.color: Fusion.outline(control.palette)
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Qt.darker(Fusion.grooveColor(indicator.control.palette), 1.1)
- }
- GradientStop {
- position: 1
- color: Qt.lighter(Fusion.grooveColor(indicator.control.palette), 1.1)
- }
- }
-
- Rectangle {
- x: indicator.control.mirrored ? handle.x : 0
- width: indicator.control.mirrored ? parent.width - handle.x : handle.x + handle.width
- height: parent.height
-
- opacity: indicator.control.checked ? 1 : 0
- Behavior on opacity {
- enabled: !indicator.control.down
- NumberAnimation { duration: 80 }
- }
-
- radius: 2
- border.color: Qt.darker(Fusion.highlightedOutline(indicator.control.palette), 1.1)
- border.width: indicator.control.enabled ? 1 : 0
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Fusion.highlight(indicator.control.palette)
- }
- GradientStop {
- position: 1
- color: Qt.lighter(Fusion.highlight(indicator.control.palette), 1.2)
- }
- }
- }
-
- Rectangle {
- id: handle
- x: Math.max(0, Math.min(parent.width - width, indicator.control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
- width: 20
- height: 16
- radius: 2
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Fusion.gradientStart(Fusion.buttonColor(indicator.control.palette, indicator.control.visualFocus, indicator.control.pressed, indicator.control.hovered))
- }
- GradientStop {
- position: 1
- color: Fusion.gradientStop(Fusion.buttonColor(indicator.control.palette, indicator.control.visualFocus, indicator.control.pressed, indicator.control.hovered))
- }
- }
- border.width: 1
- border.color: "transparent"
-
- Rectangle {
- width: parent.width
- height: parent.height
- border.color: indicator.control.visualFocus ? Fusion.highlightedOutline(indicator.control.palette) : Fusion.outline(indicator.control.palette)
- color: "transparent"
- radius: 2
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- border.color: Fusion.innerContrastLine
- color: "transparent"
- radius: 2
- }
- }
-
- Behavior on x {
- enabled: !indicator.control.down
- SmoothedAnimation { velocity: 200 }
- }
- }
-}
diff --git a/src/imports/controls/fusion/TabBar.qml b/src/imports/controls/fusion/TabBar.qml
deleted file mode 100644
index 233a2acd..00000000
--- a/src/imports/controls/fusion/TabBar.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.TabBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: -1
-
- contentItem: ListView {
- model: control.contentModel
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- flickableDirection: Flickable.AutoFlickIfNeeded
- snapMode: ListView.SnapToItem
-
- highlightMoveDuration: 0
- highlightRangeMode: ListView.ApplyRange
- preferredHighlightBegin: 40
- preferredHighlightEnd: width - 40
- }
-
- background: Item {
- implicitHeight: 21
-
- Rectangle {
- width: parent.width
- height: 1
- y: control.position === T.TabBar.Header ? parent.height - 1 : 0
- color: Fusion.outline(control.palette)
- }
- }
-}
diff --git a/src/imports/controls/fusion/TabButton.qml b/src/imports/controls/fusion/TabButton.qml
deleted file mode 100644
index 136503b6..00000000
--- a/src/imports/controls/fusion/TabButton.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.TabButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
- horizontalPadding: 4
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- z: checked
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: Rectangle {
- y: control.checked || control.TabBar.position !== T.TabBar.Header ? 0 : 2
- implicitHeight: 21
- height: control.height - (control.checked ? 0 : 2)
-
- border.color: Qt.lighter(Fusion.outline(control.palette), 1.1)
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: control.checked ? Qt.lighter(Fusion.tabFrameColor(control.palette), 1.04)
- : Qt.darker(Fusion.tabFrameColor(control.palette), 1.08)
- }
- GradientStop {
- position: control.checked ? 0 : 0.85
- color: control.checked ? Qt.lighter(Fusion.tabFrameColor(control.palette), 1.04)
- : Qt.darker(Fusion.tabFrameColor(control.palette), 1.08)
- }
- GradientStop {
- position: 1
- color: control.checked ? Fusion.tabFrameColor(control.palette)
- : Qt.darker(Fusion.tabFrameColor(control.palette), 1.16)
- }
- }
- }
-}
diff --git a/src/imports/controls/fusion/TextArea.qml b/src/imports/controls/fusion/TextArea.qml
deleted file mode 100644
index c7107ac4..00000000
--- a/src/imports/controls/fusion/TextArea.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.TextArea {
- id: control
-
- implicitWidth: Math.max(contentWidth + leftPadding + rightPadding,
- implicitBackgroundWidth + leftInset + rightInset,
- placeholder.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight + topInset + bottomInset,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- padding: 6
- leftPadding: padding + 4
-
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- placeholderTextColor: Color.transparent(control.color, 0.5)
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- elide: Text.ElideRight
- renderType: control.renderType
- }
-}
diff --git a/src/imports/controls/fusion/TextField.qml b/src/imports/controls/fusion/TextField.qml
deleted file mode 100644
index d5b5788d..00000000
--- a/src/imports/controls/fusion/TextField.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.TextField {
- id: control
-
- implicitWidth: implicitBackgroundWidth + leftInset + rightInset
- || Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- padding: 4
-
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- placeholderTextColor: Color.transparent(control.color, 0.5)
- verticalAlignment: TextInput.AlignVCenter
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- elide: Text.ElideRight
- renderType: control.renderType
- }
-
- background: Rectangle {
- implicitWidth: 120
- implicitHeight: 24
-
- radius: 2
- color: control.palette.base
- border.color: control.activeFocus ? Fusion.highlightedOutline(control.palette) : Fusion.outline(control.palette)
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- color: "transparent"
- border.color: Color.transparent(Fusion.highlightedOutline(control.palette), 40 / 255)
- visible: control.activeFocus
- radius: 1.7
- }
-
- Rectangle {
- x: 2
- y: 1
- width: parent.width - 4
- height: 1
- color: Fusion.topShadow
- }
- }
-}
diff --git a/src/imports/controls/fusion/ToolBar.qml b/src/imports/controls/fusion/ToolBar.qml
deleted file mode 100644
index fa069c0b..00000000
--- a/src/imports/controls/fusion/ToolBar.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ToolBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- horizontalPadding: 6
- topPadding: control.position === T.ToolBar.Footer ? 1 : 0
- bottomPadding: control.position === T.ToolBar.Header ? 1 : 0
-
- background: Rectangle {
- implicitHeight: 26
-
- gradient: Gradient {
- GradientStop {
- position: 0
- color: Qt.lighter(control.palette.window, 1.04)
- }
- GradientStop {
- position: 1
- color: control.palette.window
- }
- }
-
- Rectangle {
- width: parent.width
- height: 1
- color: control.position === T.ToolBar.Header ? Fusion.lightShade : Fusion.darkShade
- }
-
- Rectangle {
- y: parent.height - height
- width: parent.width
- height: 1
- color: control.position === T.ToolBar.Header ? Fusion.darkShade : Fusion.lightShade
- }
- }
-}
diff --git a/src/imports/controls/fusion/ToolButton.qml b/src/imports/controls/fusion/ToolButton.qml
deleted file mode 100644
index 4c00b402..00000000
--- a/src/imports/controls/fusion/ToolButton.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ToolButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 16
- icon.height: 16
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: ButtonPanel {
- implicitWidth: 20
- implicitHeight: 20
-
- control: control
- visible: control.down || control.checked || control.highlighted || control.visualFocus || control.hovered
- }
-}
diff --git a/src/imports/controls/fusion/ToolSeparator.qml b/src/imports/controls/fusion/ToolSeparator.qml
deleted file mode 100644
index 5d366652..00000000
--- a/src/imports/controls/fusion/ToolSeparator.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ToolSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: vertical ? 6 : 2
- verticalPadding: vertical ? 2 : 6
-
- contentItem: Rectangle {
- implicitWidth: vertical ? 2 : 8
- implicitHeight: vertical ? 8 : 2
- color: Qt.darker(control.palette.window, 1.1)
-
- Rectangle {
- x: 1
- width: 1
- height: parent.height
- color: Qt.lighter(control.palette.window, 1.1)
- }
- }
-}
diff --git a/src/imports/controls/fusion/ToolTip.qml b/src/imports/controls/fusion/ToolTip.qml
deleted file mode 100644
index 73f561e4..00000000
--- a/src/imports/controls/fusion/ToolTip.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.ToolTip {
- id: control
-
- x: parent ? (parent.width - implicitWidth) / 2 : 0
- y: -implicitHeight - 3
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 6
- padding: 6
-
- closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent
-
- contentItem: Text {
- text: control.text
- font: control.font
- color: control.palette.toolTipText
- // TODO: wrapMode: Label.Wrap
- }
-
- background: Rectangle {
- color: control.palette.toolTipBase
- border.color: control.palette.toolTipText
-
- Rectangle {
- z: -1
- x: 1; y: 1
- width: parent.width
- height: parent.height
- color: control.palette.shadow
- opacity: 0.5
- }
- }
-}
diff --git a/src/imports/controls/fusion/Tumbler.qml b/src/imports/controls/fusion/Tumbler.qml
deleted file mode 100644
index 0129f06c..00000000
--- a/src/imports/controls/fusion/Tumbler.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Fusion 2.12
-import QtQuick.Controls.Fusion.impl 2.12
-
-T.Tumbler {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6
-
- delegate: Text {
- text: modelData
- color: control.palette.windowText
- font: control.font
- opacity: (1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- contentItem: TumblerView {
- implicitWidth: 60
- implicitHeight: 200
- model: control.model
- delegate: control.delegate
- path: Path {
- startX: control.contentItem.width / 2
- startY: -control.contentItem.delegateHeight / 2
- PathLine {
- x: control.contentItem.width / 2
- y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2
- }
- }
-
- property real delegateHeight: control.availableHeight / control.visibleItemCount
- }
-}
diff --git a/src/imports/controls/fusion/dependencies.json b/src/imports/controls/fusion/dependencies.json
deleted file mode 100644
index 21ded052..00000000
--- a/src/imports/controls/fusion/dependencies.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- {
- "name": "QtQuick.Controls",
- "type": "module",
- "version": "2.0"
- }
-]
diff --git a/src/imports/controls/fusion/fusion.pri b/src/imports/controls/fusion/fusion.pri
deleted file mode 100644
index 72978db5..00000000
--- a/src/imports/controls/fusion/fusion.pri
+++ /dev/null
@@ -1,67 +0,0 @@
-HEADERS += \
- $$PWD/qquickfusionbusyindicator_p.h \
- $$PWD/qquickfusiondial_p.h \
- $$PWD/qquickfusionknob_p.h \
- $$PWD/qquickfusionstyle_p.h \
- $$PWD/qquickfusiontheme_p.h
-
-SOURCES += \
- $$PWD/qquickfusionbusyindicator.cpp \
- $$PWD/qquickfusiondial.cpp \
- $$PWD/qquickfusionknob.cpp \
- $$PWD/qquickfusionstyle.cpp \
- $$PWD/qquickfusiontheme.cpp
-
-QML_FILES += \
- $$PWD/ApplicationWindow.qml \
- $$PWD/BusyIndicator.qml \
- $$PWD/Button.qml \
- $$PWD/ButtonPanel.qml \
- $$PWD/CheckBox.qml \
- $$PWD/CheckDelegate.qml \
- $$PWD/CheckIndicator.qml \
- $$PWD/ComboBox.qml \
- $$PWD/DelayButton.qml \
- $$PWD/Dial.qml \
- $$PWD/Dialog.qml \
- $$PWD/DialogButtonBox.qml \
- $$PWD/Drawer.qml \
- $$PWD/Frame.qml \
- $$PWD/GroupBox.qml \
- $$PWD/ItemDelegate.qml \
- $$PWD/Label.qml \
- $$PWD/Menu.qml \
- $$PWD/MenuBar.qml \
- $$PWD/MenuBarItem.qml \
- $$PWD/MenuItem.qml \
- $$PWD/MenuSeparator.qml \
- $$PWD/Page.qml \
- $$PWD/PageIndicator.qml \
- $$PWD/Pane.qml \
- $$PWD/Popup.qml \
- $$PWD/ProgressBar.qml \
- $$PWD/RadioButton.qml \
- $$PWD/RadioDelegate.qml \
- $$PWD/RadioIndicator.qml \
- $$PWD/RangeSlider.qml \
- $$PWD/RoundButton.qml \
- $$PWD/ScrollBar.qml \
- $$PWD/ScrollIndicator.qml \
- $$PWD/Slider.qml \
- $$PWD/SliderGroove.qml \
- $$PWD/SliderHandle.qml \
- $$PWD/SpinBox.qml \
- $$PWD/SplitView.qml \
- $$PWD/SwipeDelegate.qml \
- $$PWD/SwitchDelegate.qml \
- $$PWD/SwitchIndicator.qml \
- $$PWD/Switch.qml \
- $$PWD/TabBar.qml \
- $$PWD/TabButton.qml \
- $$PWD/TextArea.qml \
- $$PWD/TextField.qml \
- $$PWD/ToolBar.qml \
- $$PWD/ToolButton.qml \
- $$PWD/ToolSeparator.qml \
- $$PWD/ToolTip.qml \
- $$PWD/Tumbler.qml
diff --git a/src/imports/controls/fusion/fusion.pro b/src/imports/controls/fusion/fusion.pro
deleted file mode 100644
index 663636da..00000000
--- a/src/imports/controls/fusion/fusion.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-TARGET = qtquickcontrols2fusionstyleplugin
-TARGETPATH = QtQuick/Controls.2/Fusion
-
-IMPORT_NAME = QtQuick.Controls.Fusion
-IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-include(fusion.pri)
-
-OTHER_FILES += \
- qmldir \
- $$QML_FILES
-
-SOURCES += \
- $$PWD/qtquickcontrols2fusionstyleplugin.cpp
-
-RESOURCES += \
- $$PWD/qtquickcontrols2fusionstyle.qrc
-
-CONFIG += no_cxx_module install_qml_files builtin_resources qtquickcompiler
-load(qml_plugin)
-
-requires(qtConfig(quickcontrols2-fusion))
diff --git a/src/imports/controls/fusion/images/arrow.png b/src/imports/controls/fusion/images/arrow.png
deleted file mode 100644
index ad8cdc95..00000000
--- a/src/imports/controls/fusion/images/arrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/arrow.svg b/src/imports/controls/fusion/images/arrow.svg
deleted file mode 100644
index 44383924..00000000
--- a/src/imports/controls/fusion/images/arrow.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="10"
- height="6"
- viewBox="0 0 10 6"
- id="svg2"
- version="1.1"
- inkscape:version="0.91 r13725"
- inkscape:export-filename="/Users/jpnurmi/Downloads/arrow@4x.png"
- inkscape:export-xdpi="360"
- inkscape:export-ydpi="360"
- sodipodi:docname="arrow.svg">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="31.678384"
- inkscape:cx="7.9810383"
- inkscape:cy="3.0344775"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="true"
- units="px"
- inkscape:snap-to-guides="true"
- inkscape:snap-page="true"
- inkscape:window-width="1440"
- inkscape:window-height="851"
- inkscape:window-x="0"
- inkscape:window-y="1"
- inkscape:window-maximized="1">
- <inkscape:grid
- type="xygrid"
- id="grid3336" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-1046.3622)">
- <path
- transform="matrix(1.2371791,0,0,0.85714284,1.0769252,150.19463)"
- style="fill:#000000;fill-opacity:0.7254902"
- inkscape:transform-center-y="1.4999605"
- d="m 3.1709837,1051.3622 -3.2331616,-4.6667 6.4663233,0 z"
- id="path3365"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
- </g>
-</svg>
diff --git a/src/imports/controls/fusion/images/arrow@2x.png b/src/imports/controls/fusion/images/arrow@2x.png
deleted file mode 100644
index 4f94c58f..00000000
--- a/src/imports/controls/fusion/images/arrow@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/arrow@3x.png b/src/imports/controls/fusion/images/arrow@3x.png
deleted file mode 100644
index 68928ea9..00000000
--- a/src/imports/controls/fusion/images/arrow@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/arrow@4x.png b/src/imports/controls/fusion/images/arrow@4x.png
deleted file mode 100644
index edde50f3..00000000
--- a/src/imports/controls/fusion/images/arrow@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/checkmark.png b/src/imports/controls/fusion/images/checkmark.png
deleted file mode 100644
index 9cb04883..00000000
--- a/src/imports/controls/fusion/images/checkmark.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/checkmark.svg b/src/imports/controls/fusion/images/checkmark.svg
deleted file mode 100644
index f1afdc4f..00000000
--- a/src/imports/controls/fusion/images/checkmark.svg
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="14"
- height="14"
- viewBox="0 0 14 14"
- id="svg3386"
- version="1.1"
- inkscape:version="0.91 r13725"
- inkscape:export-filename="/Users/jpnurmi/Downloads/checkmark@4x.png"
- inkscape:export-xdpi="360"
- inkscape:export-ydpi="360"
- sodipodi:docname="checkmark.svg">
- <defs
- id="defs3388" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="32"
- inkscape:cx="1.9865044"
- inkscape:cy="6.0706667"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- units="px"
- inkscape:snap-page="true"
- inkscape:snap-grids="true"
- inkscape:snap-to-guides="true"
- inkscape:window-width="1440"
- inkscape:window-height="851"
- inkscape:window-x="0"
- inkscape:window-y="1"
- inkscape:window-maximized="1" />
- <metadata
- id="metadata3391">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-1038.3622)">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 5,1045.3622 2,4 2.5,-8"
- id="path4198"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </g>
-</svg>
diff --git a/src/imports/controls/fusion/images/checkmark@2x.png b/src/imports/controls/fusion/images/checkmark@2x.png
deleted file mode 100644
index ae9a7749..00000000
--- a/src/imports/controls/fusion/images/checkmark@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/checkmark@3x.png b/src/imports/controls/fusion/images/checkmark@3x.png
deleted file mode 100644
index 4a67e88a..00000000
--- a/src/imports/controls/fusion/images/checkmark@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/checkmark@4x.png b/src/imports/controls/fusion/images/checkmark@4x.png
deleted file mode 100644
index 0890d2ba..00000000
--- a/src/imports/controls/fusion/images/checkmark@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/progressmask.png b/src/imports/controls/fusion/images/progressmask.png
deleted file mode 100644
index 683f9e2f..00000000
--- a/src/imports/controls/fusion/images/progressmask.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/progressmask.svg b/src/imports/controls/fusion/images/progressmask.svg
deleted file mode 100644
index a0dfc426..00000000
--- a/src/imports/controls/fusion/images/progressmask.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="31"
- height="22"
- viewBox="0 0 8.202083 5.8208335"
- version="1.1"
- id="svg8"
- inkscape:export-filename="/home/jpnurmi/Projects/qt-dev/qtquickcontrols2/src/imports/controls/fusion/images/progressmask@4x.png"
- inkscape:export-xdpi="384"
- inkscape:export-ydpi="384"
- inkscape:version="0.92.1 r"
- sodipodi:docname="progressmask.svg">
- <defs
- id="defs2" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="15.839192"
- inkscape:cx="61.144853"
- inkscape:cy="14.574824"
- inkscape:document-units="mm"
- inkscape:current-layer="layer1"
- showgrid="false"
- units="px"
- inkscape:pagecheckerboard="true"
- inkscape:window-width="3840"
- inkscape:window-height="2031"
- inkscape:window-x="0"
- inkscape:window-y="55"
- inkscape:window-maximized="1" />
- <metadata
- id="metadata5">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-291.17915)">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 0,296.99998 4.7625,-5.82083"
- id="path4485"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 8.2020833,296.99998 4.7624997,-5.82083"
- id="path4485-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- </g>
-</svg>
diff --git a/src/imports/controls/fusion/images/progressmask@2x.png b/src/imports/controls/fusion/images/progressmask@2x.png
deleted file mode 100644
index e101f5de..00000000
--- a/src/imports/controls/fusion/images/progressmask@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/progressmask@3x.png b/src/imports/controls/fusion/images/progressmask@3x.png
deleted file mode 100644
index 784f01c0..00000000
--- a/src/imports/controls/fusion/images/progressmask@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/images/progressmask@4x.png b/src/imports/controls/fusion/images/progressmask@4x.png
deleted file mode 100644
index 8af0b2c2..00000000
--- a/src/imports/controls/fusion/images/progressmask@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/fusion/plugins.qmltypes b/src/imports/controls/fusion/plugins.qmltypes
deleted file mode 100644
index a70b4901..00000000
--- a/src/imports/controls/fusion/plugins.qmltypes
+++ /dev/null
@@ -1,214 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Controls.Fusion 2.13'
-
-Module {
- dependencies: ["QtQuick.Controls 2.0"]
- Component {
- name: "QQuickFusionBusyIndicator"
- defaultProperty: "data"
- prototype: "QQuickPaintedItem"
- exports: ["QtQuick.Controls.Fusion.impl/BusyIndicatorImpl 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "color"; type: "QColor" }
- Property { name: "running"; type: "bool" }
- }
- Component {
- name: "QQuickFusionDial"
- defaultProperty: "data"
- prototype: "QQuickPaintedItem"
- exports: ["QtQuick.Controls.Fusion.impl/DialImpl 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "highlight"; type: "bool" }
- Property { name: "palette"; type: "QPalette" }
- }
- Component {
- name: "QQuickFusionKnob"
- defaultProperty: "data"
- prototype: "QQuickPaintedItem"
- exports: ["QtQuick.Controls.Fusion.impl/KnobImpl 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "palette"; type: "QPalette" }
- }
- Component {
- name: "QQuickFusionStyle"
- prototype: "QObject"
- exports: ["QtQuick.Controls.Fusion.impl/Fusion 2.3"]
- isCreatable: false
- isSingleton: true
- exportMetaObjectRevisions: [0]
- Property { name: "lightShade"; type: "QColor"; isReadonly: true }
- Property { name: "darkShade"; type: "QColor"; isReadonly: true }
- Property { name: "topShadow"; type: "QColor"; isReadonly: true }
- Property { name: "innerContrastLine"; type: "QColor"; isReadonly: true }
- Method {
- name: "highlight"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "highlightedText"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "outline"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "highlightedOutline"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "tabFrameColor"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "buttonColor"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- Parameter { name: "highlighted"; type: "bool" }
- Parameter { name: "down"; type: "bool" }
- Parameter { name: "hovered"; type: "bool" }
- }
- Method {
- name: "buttonColor"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- Parameter { name: "highlighted"; type: "bool" }
- Parameter { name: "down"; type: "bool" }
- }
- Method {
- name: "buttonColor"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- Parameter { name: "highlighted"; type: "bool" }
- }
- Method {
- name: "buttonColor"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "buttonOutline"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- Parameter { name: "highlighted"; type: "bool" }
- Parameter { name: "enabled"; type: "bool" }
- }
- Method {
- name: "buttonOutline"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- Parameter { name: "highlighted"; type: "bool" }
- }
- Method {
- name: "buttonOutline"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- Method {
- name: "gradientStart"
- type: "QColor"
- Parameter { name: "baseColor"; type: "QColor" }
- }
- Method {
- name: "gradientStop"
- type: "QColor"
- Parameter { name: "baseColor"; type: "QColor" }
- }
- Method {
- name: "mergedColors"
- type: "QColor"
- Parameter { name: "colorA"; type: "QColor" }
- Parameter { name: "colorB"; type: "QColor" }
- Parameter { name: "factor"; type: "int" }
- }
- Method {
- name: "mergedColors"
- type: "QColor"
- Parameter { name: "colorA"; type: "QColor" }
- Parameter { name: "colorB"; type: "QColor" }
- }
- Method {
- name: "grooveColor"
- type: "QColor"
- Parameter { name: "palette"; type: "QPalette" }
- }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Fusion.impl/ButtonPanel 2.3"
- exports: ["QtQuick.Controls.Fusion.impl/ButtonPanel 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "highlighted"; type: "bool" }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Fusion.impl/CheckIndicator 2.3"
- exports: ["QtQuick.Controls.Fusion.impl/CheckIndicator 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "pressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "checkMarkColor"; type: "QColor"; isReadonly: true }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Fusion.impl/RadioIndicator 2.3"
- exports: ["QtQuick.Controls.Fusion.impl/RadioIndicator 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "pressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "checkMarkColor"; type: "QColor"; isReadonly: true }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Fusion.impl/SliderGroove 2.3"
- exports: ["QtQuick.Controls.Fusion.impl/SliderGroove 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "offset"; type: "double" }
- Property { name: "progress"; type: "double" }
- Property { name: "visualProgress"; type: "double" }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Fusion.impl/SliderHandle 2.3"
- exports: ["QtQuick.Controls.Fusion.impl/SliderHandle 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- Property { name: "palette"; type: "QVariant" }
- Property { name: "pressed"; type: "bool" }
- Property { name: "hovered"; type: "bool" }
- Property { name: "vertical"; type: "bool" }
- Property { name: "visualFocus"; type: "bool" }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Fusion.impl/SwitchIndicator 2.3"
- exports: ["QtQuick.Controls.Fusion.impl/SwitchIndicator 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "pressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "checkMarkColor"; type: "QColor"; isReadonly: true }
- }
-}
diff --git a/src/imports/controls/fusion/qmldir b/src/imports/controls/fusion/qmldir
deleted file mode 100644
index b584adc8..00000000
--- a/src/imports/controls/fusion/qmldir
+++ /dev/null
@@ -1,4 +0,0 @@
-module QtQuick.Controls.Fusion
-plugin qtquickcontrols2fusionstyleplugin
-classname QtQuickControls2FusionStylePlugin
-depends QtQuick.Controls 2.5
diff --git a/src/imports/controls/fusion/qquickfusionbusyindicator.cpp b/src/imports/controls/fusion/qquickfusionbusyindicator.cpp
deleted file mode 100644
index a9b75d27..00000000
--- a/src/imports/controls/fusion/qquickfusionbusyindicator.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickfusionbusyindicator_p.h"
-
-#include <QtGui/qpainter.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickFusionBusyIndicator::QQuickFusionBusyIndicator(QQuickItem *parent)
- : QQuickPaintedItem(parent)
-{
-}
-
-QColor QQuickFusionBusyIndicator::color() const
-{
- return m_color;
-}
-
-void QQuickFusionBusyIndicator::setColor(const QColor &color)
-{
- if (color == m_color)
- return;
-
- m_color = color;
- update();
-}
-
-bool QQuickFusionBusyIndicator::isRunning() const
-{
- return isVisible();
-}
-
-void QQuickFusionBusyIndicator::setRunning(bool running)
-{
- if (running) {
- setVisible(true);
- update();
- }
-}
-
-void QQuickFusionBusyIndicator::paint(QPainter *painter)
-{
- const qreal w = width();
- const qreal h = height();
- if (w <= 0 || h <= 0 || !isRunning())
- return;
-
- const qreal sz = qMin(w, h);
- const qreal dx = (w - sz) / 2;
- const qreal dy = (h - sz) / 2;
- const int hpw = qRound(qMax(qreal(1), sz / 14)) & -1;
- const int pw = 2 * hpw;
- const QRectF bounds(dx + hpw, dy + hpw, sz - pw - 1, sz - pw - 1);
-
- QConicalGradient gradient;
- gradient.setCenter(QPointF(dx + sz / 2, dy + sz / 2));
- gradient.setColorAt(0, m_color);
- gradient.setColorAt(0.1, m_color);
- gradient.setColorAt(1, Qt::transparent);
-
- painter->translate(0.5, 0.5);
- painter->setRenderHint(QPainter::Antialiasing, true);
- painter->setPen(QPen(gradient, pw, Qt::SolidLine));
- painter->drawArc(bounds, 0, 360 * 16);
- painter->setPen(QPen(m_color, pw, Qt::SolidLine, Qt::RoundCap));
- painter->drawArc(bounds, 0, 20 * 16);
-}
-
-void QQuickFusionBusyIndicator::itemChange(ItemChange change, const ItemChangeData &data)
-{
- QQuickPaintedItem::itemChange(change, data);
-
- if (change == ItemOpacityHasChanged && qFuzzyIsNull(data.realValue))
- setVisible(false);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/fusion/qquickfusionbusyindicator_p.h b/src/imports/controls/fusion/qquickfusionbusyindicator_p.h
deleted file mode 100644
index 77487ec8..00000000
--- a/src/imports/controls/fusion/qquickfusionbusyindicator_p.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFUSIONBUSYINDICATOR_P_H
-#define QQUICKFUSIONBUSYINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/qquickpainteditem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFusionBusyIndicator : public QQuickPaintedItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
- Q_PROPERTY(bool running READ isRunning WRITE setRunning)
-
-public:
- explicit QQuickFusionBusyIndicator(QQuickItem *parent = nullptr);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- bool isRunning() const;
- void setRunning(bool running);
-
- void paint(QPainter *painter) override;
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
-
-private:
- QColor m_color;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFUSIONBUSYINDICATOR_P_H
diff --git a/src/imports/controls/fusion/qquickfusiondial.cpp b/src/imports/controls/fusion/qquickfusiondial.cpp
deleted file mode 100644
index 182f5c0f..00000000
--- a/src/imports/controls/fusion/qquickfusiondial.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickfusiondial_p.h"
-
-#include <QtGui/qpainter.h>
-#include <QtGui/private/qmath_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickFusionDial::QQuickFusionDial(QQuickItem *parent)
- : QQuickPaintedItem(parent)
-{
-}
-
-bool QQuickFusionDial::highlight() const
-{
- return m_highlight;
-}
-
-void QQuickFusionDial::setHighlight(bool highlight)
-{
- if (m_highlight == highlight)
- return;
-
- m_highlight = highlight;
- update();
-}
-
-QPalette QQuickFusionDial::palette() const
-{
- return m_palette;
-}
-
-void QQuickFusionDial::setPalette(const QPalette &palette)
-{
- if (palette == m_palette)
- return;
-
- m_palette = palette;
- update();
-}
-
-// based on QStyleHelper::drawDial()
-void QQuickFusionDial::paint(QPainter *painter)
-{
- const int width = QQuickItem::width();
- const int height = QQuickItem::height();
- if (width <= 0 || height <= 0 || !isVisible())
- return;
-
- QColor buttonColor = m_palette.button().color();
- const bool enabled = isEnabled();
- qreal r = qMin(width, height) / 2;
- r -= r/50;
- const qreal penSize = r/20.0;
-
- painter->setRenderHint(QPainter::Antialiasing);
-
- const qreal d_ = r / 6;
- const qreal dx = d_ + (width - 2 * r) / 2 + 1;
- const qreal dy = d_ + (height - 2 * r) / 2 + 1;
-
- QRectF br = QRectF(dx + 0.5, dy + 0.5,
- int(r * 2 - 2 * d_ - 2),
- int(r * 2 - 2 * d_ - 2));
- buttonColor.setHsv(buttonColor .hue(),
- qMin(140, buttonColor .saturation()),
- qMax(180, buttonColor.value()));
-
- if (enabled) {
- // Drop shadow
- qreal shadowSize = qMax(1.0, penSize/2.0);
- QRectF shadowRect= br.adjusted(-2*shadowSize, -2*shadowSize,
- 2*shadowSize, 2*shadowSize);
- QRadialGradient shadowGradient(shadowRect.center().x(),
- shadowRect.center().y(), shadowRect.width()/2.0,
- shadowRect.center().x(), shadowRect.center().y());
- shadowGradient.setColorAt(qreal(0.91), QColor(0, 0, 0, 40));
- shadowGradient.setColorAt(qreal(1.0), Qt::transparent);
- painter->setBrush(shadowGradient);
- painter->setPen(Qt::NoPen);
- painter->translate(shadowSize, shadowSize);
- painter->drawEllipse(shadowRect);
- painter->translate(-shadowSize, -shadowSize);
-
- // Main gradient
- QRadialGradient gradient(br.center().x() - br.width()/3, dy,
- br.width()*1.3, br.center().x(),
- br.center().y() - br.height()/2);
- gradient.setColorAt(0, buttonColor.lighter(110));
- gradient.setColorAt(qreal(0.5), buttonColor);
- gradient.setColorAt(qreal(0.501), buttonColor.darker(102));
- gradient.setColorAt(1, buttonColor.darker(115));
- painter->setBrush(gradient);
- } else {
- painter->setBrush(Qt::NoBrush);
- }
-
- painter->setPen(QPen(buttonColor.darker(280)));
- painter->drawEllipse(br);
- painter->setBrush(Qt::NoBrush);
- painter->setPen(buttonColor.lighter(110));
- painter->drawEllipse(br.adjusted(1, 1, -1, -1));
-
- if (m_highlight) {
- QColor highlight = m_palette.highlight().color();
- highlight.setHsv(highlight.hue(),
- qMin(160, highlight.saturation()),
- qMax(230, highlight.value()));
- highlight.setAlpha(127);
- painter->setPen(QPen(highlight, 2.0));
- painter->setBrush(Qt::NoBrush);
- painter->drawEllipse(br.adjusted(-1, -1, 1, 1));
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/fusion/qquickfusiondial_p.h b/src/imports/controls/fusion/qquickfusiondial_p.h
deleted file mode 100644
index 740545d8..00000000
--- a/src/imports/controls/fusion/qquickfusiondial_p.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFUSIONDIAL_P_H
-#define QQUICKFUSIONDIAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpalette.h>
-#include <QtQuick/qquickpainteditem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFusionDial : public QQuickPaintedItem
-{
- Q_OBJECT
- Q_PROPERTY(bool highlight READ highlight WRITE setHighlight FINAL)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette FINAL)
-
-public:
- explicit QQuickFusionDial(QQuickItem *parent = nullptr);
-
- bool highlight() const;
- void setHighlight(bool highlight);
-
- QPalette palette() const;
- void setPalette(const QPalette &palette);
-
- void paint(QPainter *painter) override;
-
-private:
- bool m_highlight = false;
- QPalette m_palette;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFUSIONDIAL_P_H
diff --git a/src/imports/controls/fusion/qquickfusionknob.cpp b/src/imports/controls/fusion/qquickfusionknob.cpp
deleted file mode 100644
index 9f1824a6..00000000
--- a/src/imports/controls/fusion/qquickfusionknob.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickfusionknob_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtGui/qpainter.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickFusionKnob::QQuickFusionKnob(QQuickItem *parent)
- : QQuickPaintedItem(parent)
-{
-}
-
-QPalette QQuickFusionKnob::palette() const
-{
- return m_palette;
-}
-
-void QQuickFusionKnob::setPalette(const QPalette &palette)
-{
- if (palette == m_palette)
- return;
-
- m_palette = palette;
- update();
-}
-
-// extracted from QStyleHelper::drawDial()
-void QQuickFusionKnob::paint(QPainter *painter)
-{
- const qreal w = width();
- const qreal h = height();
- if (w <= 0 || h <= 0)
- return;
-
- QColor color = m_palette.color(QPalette::Button);
- color.setHsv(color.hue(),
- qMin(140, color .saturation()),
- qMax(180, color.value()));
- color = color.lighter(104);
- color.setAlphaF(qreal(0.8));
-
- const qreal sz = qMin(w, h);
- QRectF rect(0, 0, sz, sz);
- rect.moveCenter(QPointF(w / 2.0, h / 2.0));
- const QPointF center = rect.center();
-
- QRadialGradient gradient(center.x() + rect.width() / 2,
- center.y() + rect.width(),
- rect.width() * 2,
- center.x(), center.y());
- gradient.setColorAt(1, color.darker(140));
- gradient.setColorAt(qreal(0.4), color.darker(120));
- gradient.setColorAt(0, color.darker(110));
-
- painter->setRenderHint(QPainter::Antialiasing);
- painter->setBrush(gradient);
- painter->setPen(QColor(255, 255, 255, 150));
- painter->drawEllipse(rect);
- painter->setPen(QColor(0, 0, 0, 80));
- painter->drawEllipse(rect.adjusted(1, 1, -1, -1));
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/fusion/qquickfusionknob_p.h b/src/imports/controls/fusion/qquickfusionknob_p.h
deleted file mode 100644
index 062aaf21..00000000
--- a/src/imports/controls/fusion/qquickfusionknob_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFUSIONKNOB_P_H
-#define QQUICKFUSIONKNOB_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpalette.h>
-#include <QtQuick/qquickpainteditem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFusionKnob : public QQuickPaintedItem
-{
- Q_OBJECT
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette FINAL)
-
-public:
- explicit QQuickFusionKnob(QQuickItem *parent = nullptr);
-
- QPalette palette() const;
- void setPalette(const QPalette &palette);
-
- void paint(QPainter *painter) override;
-
-private:
- QPalette m_palette;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFUSIONKNOB_P_H
diff --git a/src/imports/controls/fusion/qquickfusionstyle.cpp b/src/imports/controls/fusion/qquickfusionstyle.cpp
deleted file mode 100644
index 364f8a75..00000000
--- a/src/imports/controls/fusion/qquickfusionstyle.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickfusionstyle_p.h"
-
-#include <QtGui/qcolor.h>
-#include <QtGui/qpalette.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/private/qguiapplication_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickFusionStyle::QQuickFusionStyle(QObject *parent)
- : QObject(parent)
-{
-}
-
-QColor QQuickFusionStyle::lightShade()
-{
- return QColor(255, 255, 255, 90);
-}
-
-QColor QQuickFusionStyle::darkShade()
-{
- return QColor(0, 0, 0, 60);
-}
-
-QColor QQuickFusionStyle::topShadow()
-{
- return QColor(0, 0, 0, 18);
-}
-
-QColor QQuickFusionStyle::innerContrastLine()
-{
- return QColor(255, 255, 255, 30);
-}
-
-QColor QQuickFusionStyle::highlight(const QPalette &palette)
-{
- return palette.color(QPalette::Highlight);
-}
-
-QColor QQuickFusionStyle::highlightedText(const QPalette &palette)
-{
- return palette.color(QPalette::HighlightedText);
-}
-
-QColor QQuickFusionStyle::outline(const QPalette &palette)
-{
- return palette.window().color().darker(140);
-}
-
-QColor QQuickFusionStyle::highlightedOutline(const QPalette &palette)
-{
- QColor highlightedOutline = highlight(palette).darker(125);
- if (highlightedOutline.value() > 160)
- highlightedOutline.setHsl(highlightedOutline.hue(), highlightedOutline.saturation(), 160);
- return highlightedOutline;
-}
-
-QColor QQuickFusionStyle::tabFrameColor(const QPalette &palette)
-{
- return buttonColor(palette).lighter(104);
-}
-
-QColor QQuickFusionStyle::buttonColor(const QPalette &palette, bool highlighted, bool down, bool hovered)
-{
- QColor buttonColor = palette.button().color();
- int val = qGray(buttonColor.rgb());
- buttonColor = buttonColor.lighter(100 + qMax(1, (180 - val)/6));
- buttonColor.setHsv(buttonColor.hue(), buttonColor.saturation() * 0.75, buttonColor.value());
- if (highlighted)
- buttonColor = mergedColors(buttonColor, highlightedOutline(palette).lighter(130), 90);
- if (!hovered)
- buttonColor = buttonColor.darker(104);
- if (down)
- buttonColor = buttonColor.darker(110);
- return buttonColor;
-}
-
-QColor QQuickFusionStyle::buttonOutline(const QPalette &palette, bool highlighted, bool enabled)
-{
- QColor darkOutline = enabled && highlighted ? highlightedOutline(palette) : outline(palette);
- return !enabled ? darkOutline.lighter(115) : darkOutline;
-}
-
-QColor QQuickFusionStyle::gradientStart(const QColor &baseColor)
-{
- return baseColor.lighter(124);
-}
-
-QColor QQuickFusionStyle::gradientStop(const QColor &baseColor)
-{
- return baseColor.lighter(102);
-}
-
-QColor QQuickFusionStyle::mergedColors(const QColor &colorA, const QColor &colorB, int factor)
-{
- const int maxFactor = 100;
- QColor tmp = colorA;
- tmp.setRed((tmp.red() * factor) / maxFactor + (colorB.red() * (maxFactor - factor)) / maxFactor);
- tmp.setGreen((tmp.green() * factor) / maxFactor + (colorB.green() * (maxFactor - factor)) / maxFactor);
- tmp.setBlue((tmp.blue() * factor) / maxFactor + (colorB.blue() * (maxFactor - factor)) / maxFactor);
- return tmp;
-}
-
-QColor QQuickFusionStyle::grooveColor(const QPalette &palette)
-{
- QColor color = buttonColor(palette);
- color.setHsv(color.hue(),
- qMin(255, color.saturation()),
- qMin<int>(255, color.value() * 0.9));
- return color;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/fusion/qquickfusionstyle_p.h b/src/imports/controls/fusion/qquickfusionstyle_p.h
deleted file mode 100644
index e0a99cc6..00000000
--- a/src/imports/controls/fusion/qquickfusionstyle_p.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFUSIONSTYLE_P_H
-#define QQUICKFUSIONSTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtGui/qcolor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFusionStyle : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QColor lightShade READ lightShade CONSTANT)
- Q_PROPERTY(QColor darkShade READ darkShade CONSTANT)
- Q_PROPERTY(QColor topShadow READ topShadow CONSTANT)
- Q_PROPERTY(QColor innerContrastLine READ innerContrastLine CONSTANT)
-
-public:
- explicit QQuickFusionStyle(QObject *parent = nullptr);
-
- static QColor lightShade();
- static QColor darkShade();
- static QColor topShadow();
- static QColor innerContrastLine();
-
- Q_INVOKABLE static QColor highlight(const QPalette &palette);
- Q_INVOKABLE static QColor highlightedText(const QPalette &palette);
- Q_INVOKABLE static QColor outline(const QPalette &palette);
- Q_INVOKABLE static QColor highlightedOutline(const QPalette &palette);
- Q_INVOKABLE static QColor tabFrameColor(const QPalette &palette);
- Q_INVOKABLE static QColor buttonColor(const QPalette &palette, bool highlighted = false, bool down = false, bool hovered = false);
- Q_INVOKABLE static QColor buttonOutline(const QPalette &palette, bool highlighted = false, bool enabled = true);
- Q_INVOKABLE static QColor gradientStart(const QColor &baseColor);
- Q_INVOKABLE static QColor gradientStop(const QColor &baseColor);
- Q_INVOKABLE static QColor mergedColors(const QColor &colorA, const QColor &colorB, int factor = 50);
- Q_INVOKABLE static QColor grooveColor(const QPalette &palette);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFUSIONSTYLE_P_H
diff --git a/src/imports/controls/fusion/qquickfusiontheme.cpp b/src/imports/controls/fusion/qquickfusiontheme.cpp
deleted file mode 100644
index 903758bb..00000000
--- a/src/imports/controls/fusion/qquickfusiontheme.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickfusiontheme_p.h"
-
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-#include <QtQuickControls2/private/qquickstyle_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickFusionTheme::initialize(QQuickTheme *theme)
-{
- const bool isDarkSystemTheme = QQuickStylePrivate::isDarkSystemTheme();
- QPalette systemPalette;
- systemPalette.setColor(QPalette::Active, QPalette::ButtonText,
- isDarkSystemTheme ? QColor::fromRgb(0xe7e7e7) : QColor::fromRgb(0x252525));
- systemPalette.setColor(QPalette::Disabled, QPalette::ButtonText,
- isDarkSystemTheme ? QColor::fromRgb(0x777777) : QColor::fromRgb(0xb6b6b6));
- theme->setPalette(QQuickTheme::System, systemPalette);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/fusion/qquickfusiontheme_p.h b/src/imports/controls/fusion/qquickfusiontheme_p.h
deleted file mode 100644
index 814c1919..00000000
--- a/src/imports/controls/fusion/qquickfusiontheme_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFUSIONTHEME_P_H
-#define QQUICKFUSIONTHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTheme;
-
-class QQuickFusionTheme
-{
-public:
- static void initialize(QQuickTheme *theme);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFUSIONTHEME_P_H
diff --git a/src/imports/controls/fusion/qtquickcontrols2fusionstyle.qrc b/src/imports/controls/fusion/qtquickcontrols2fusionstyle.qrc
deleted file mode 100644
index 74c8e671..00000000
--- a/src/imports/controls/fusion/qtquickcontrols2fusionstyle.qrc
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="qt-project.org/imports/QtQuick/Controls.2/Fusion">
- <file>images/arrow.png</file>
- <file>images/arrow@2x.png</file>
- <file>images/arrow@3x.png</file>
- <file>images/arrow@4x.png</file>
- <file>images/checkmark.png</file>
- <file>images/checkmark@2x.png</file>
- <file>images/checkmark@3x.png</file>
- <file>images/checkmark@4x.png</file>
- <file>images/progressmask.png</file>
- <file>images/progressmask@2x.png</file>
- <file>images/progressmask@3x.png</file>
- <file>images/progressmask@4x.png</file>
-</qresource>
-</RCC>
diff --git a/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp b/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp
deleted file mode 100644
index 985945cf..00000000
--- a/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQuickControls2/private/qquickstyleplugin_p.h>
-#include <QtQml/qqml.h>
-
-#include "qquickfusionbusyindicator_p.h"
-#include "qquickfusiondial_p.h"
-#include "qquickfusionknob_p.h"
-#include "qquickfusionstyle_p.h"
-#include "qquickfusiontheme_p.h"
-
-QT_BEGIN_NAMESPACE
-
-static QObject *styleSingleton(QQmlEngine *engine, QJSEngine *scriptEngine)
-{
- Q_UNUSED(engine);
- Q_UNUSED(scriptEngine);
- return new QQuickFusionStyle;
-}
-
-class QtQuickControls2FusionStylePlugin: public QQuickStylePlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtQuickControls2FusionStylePlugin(QObject *parent = nullptr);
-
- void registerTypes(const char *uri) override;
-
- QString name() const override;
- void initializeTheme(QQuickTheme *theme) override;
-};
-
-QtQuickControls2FusionStylePlugin::QtQuickControls2FusionStylePlugin(QObject *parent) : QQuickStylePlugin(parent)
-{
-}
-
-void QtQuickControls2FusionStylePlugin::registerTypes(const char *uri)
-{
- qmlRegisterModule(uri, 2, 3); // Qt 5.10->2.3
- qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
-
- QByteArray import = QByteArray(uri) + ".impl";
- qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
-
- qmlRegisterSingletonType<QQuickFusionStyle>(import, 2, 3, "Fusion", styleSingleton);
-
- qmlRegisterType<QQuickFusionBusyIndicator>(import, 2, 3, "BusyIndicatorImpl");
- qmlRegisterType<QQuickFusionDial>(import, 2, 3, "DialImpl");
- qmlRegisterType<QQuickFusionKnob>(import, 2, 3, "KnobImpl");
-
- qmlRegisterType(resolvedUrl(QStringLiteral("ButtonPanel.qml")), import, 2, 3, "ButtonPanel");
- qmlRegisterType(resolvedUrl(QStringLiteral("CheckIndicator.qml")), import, 2, 3, "CheckIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("RadioIndicator.qml")), import, 2, 3, "RadioIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("SliderGroove.qml")), import, 2, 3, "SliderGroove");
- qmlRegisterType(resolvedUrl(QStringLiteral("SliderHandle.qml")), import, 2, 3, "SliderHandle");
- qmlRegisterType(resolvedUrl(QStringLiteral("SwitchIndicator.qml")), import, 2, 3, "SwitchIndicator");
-}
-
-QString QtQuickControls2FusionStylePlugin::name() const
-{
- return QStringLiteral("Fusion");
-}
-
-void QtQuickControls2FusionStylePlugin::initializeTheme(QQuickTheme *theme)
-{
- QQuickFusionTheme::initialize(theme);
-}
-
-QT_END_NAMESPACE
-
-#include "qtquickcontrols2fusionstyleplugin.moc"
diff --git a/src/imports/controls/images/arrow-indicator.png b/src/imports/controls/images/arrow-indicator.png
deleted file mode 100644
index 50f230dc..00000000
--- a/src/imports/controls/images/arrow-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/arrow-indicator@2x.png b/src/imports/controls/images/arrow-indicator@2x.png
deleted file mode 100644
index 457cdde0..00000000
--- a/src/imports/controls/images/arrow-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/arrow-indicator@3x.png b/src/imports/controls/images/arrow-indicator@3x.png
deleted file mode 100644
index 8d624154..00000000
--- a/src/imports/controls/images/arrow-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/arrow-indicator@4x.png b/src/imports/controls/images/arrow-indicator@4x.png
deleted file mode 100644
index 7d2c49e2..00000000
--- a/src/imports/controls/images/arrow-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/check.png b/src/imports/controls/images/check.png
deleted file mode 100644
index 479a8442..00000000
--- a/src/imports/controls/images/check.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/check@2x.png b/src/imports/controls/images/check@2x.png
deleted file mode 100644
index bc5aaabe..00000000
--- a/src/imports/controls/images/check@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/check@3x.png b/src/imports/controls/images/check@3x.png
deleted file mode 100644
index 0f515e0b..00000000
--- a/src/imports/controls/images/check@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/check@4x.png b/src/imports/controls/images/check@4x.png
deleted file mode 100644
index 8ad1fe21..00000000
--- a/src/imports/controls/images/check@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/dial-indicator.png b/src/imports/controls/images/dial-indicator.png
deleted file mode 100644
index 8cb0824f..00000000
--- a/src/imports/controls/images/dial-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/dial-indicator@2x.png b/src/imports/controls/images/dial-indicator@2x.png
deleted file mode 100644
index cd4f8d81..00000000
--- a/src/imports/controls/images/dial-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/dial-indicator@3x.png b/src/imports/controls/images/dial-indicator@3x.png
deleted file mode 100644
index f443605c..00000000
--- a/src/imports/controls/images/dial-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/dial-indicator@4x.png b/src/imports/controls/images/dial-indicator@4x.png
deleted file mode 100644
index dec99715..00000000
--- a/src/imports/controls/images/dial-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/double-arrow.png b/src/imports/controls/images/double-arrow.png
deleted file mode 100644
index af403904..00000000
--- a/src/imports/controls/images/double-arrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/double-arrow@2x.png b/src/imports/controls/images/double-arrow@2x.png
deleted file mode 100644
index b63f5c57..00000000
--- a/src/imports/controls/images/double-arrow@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/double-arrow@3x.png b/src/imports/controls/images/double-arrow@3x.png
deleted file mode 100644
index c742e309..00000000
--- a/src/imports/controls/images/double-arrow@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/double-arrow@4x.png b/src/imports/controls/images/double-arrow@4x.png
deleted file mode 100644
index 488a331d..00000000
--- a/src/imports/controls/images/double-arrow@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/drop-indicator.png b/src/imports/controls/images/drop-indicator.png
deleted file mode 100644
index 80c1d958..00000000
--- a/src/imports/controls/images/drop-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/drop-indicator@2x.png b/src/imports/controls/images/drop-indicator@2x.png
deleted file mode 100644
index 6e0f228c..00000000
--- a/src/imports/controls/images/drop-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/drop-indicator@3x.png b/src/imports/controls/images/drop-indicator@3x.png
deleted file mode 100644
index 199752fb..00000000
--- a/src/imports/controls/images/drop-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/images/drop-indicator@4x.png b/src/imports/controls/images/drop-indicator@4x.png
deleted file mode 100644
index b82b6db3..00000000
--- a/src/imports/controls/images/drop-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/ApplicationWindow.qml b/src/imports/controls/imagine/ApplicationWindow.qml
deleted file mode 100644
index 7bfcc3f9..00000000
--- a/src/imports/controls/imagine/ApplicationWindow.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.2
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ApplicationWindow {
- id: window
-
- // ### remove?
- overlay.modal: NinePatchImage {
- source: Imagine.url + "applicationwindow-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- // ### remove?
- overlay.modeless: NinePatchImage {
- source: Imagine.url + "applicationwindow-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-
- background: NinePatchImage {
- width: window.width
- height: window.height
-
- source: Imagine.url + "applicationwindow-background"
- NinePatchImageSelector on source {
- states: [
- {"active": window.active}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/BusyIndicator.qml b/src/imports/controls/imagine/BusyIndicator.qml
deleted file mode 100644
index 652365b1..00000000
--- a/src/imports/controls/imagine/BusyIndicator.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.BusyIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: AnimatedImage {
- opacity: control.running ? 1 : 0
- playing: control.running || opacity > 0
- visible: control.running || opacity > 0
- Behavior on opacity { OpacityAnimator { duration: 250 } }
-
- source: Imagine.url + "busyindicator-animation"
- AnimatedImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"running": control.running},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "busyindicator-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"running": control.running},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Button.qml b/src/imports/controls/imagine/Button.qml
deleted file mode 100644
index e7171eb1..00000000
--- a/src/imports/controls/imagine/Button.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Button {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.enabled && control.flat && control.highlighted ? control.palette.highlight
- : control.enabled && (control.down || control.checked || control.highlighted) && !control.flat
- ? control.palette.brightText : control.flat ? control.palette.windowText : control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled && control.flat && control.highlighted ? control.palette.highlight
- : control.enabled && (control.down || control.checked || control.highlighted) && !control.flat
- ? control.palette.brightText : control.flat ? control.palette.windowText : control.palette.buttonText
- }
-
- background: NinePatchImage {
- source: Imagine.url + "button-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"checkable": control.checkable},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"flat": control.flat},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/CheckBox.qml b/src/imports/controls/imagine/CheckBox.qml
deleted file mode 100644
index b91ceb40..00000000
--- a/src/imports/controls/imagine/CheckBox.qml
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.CheckBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- indicator: Image {
- x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- source: Imagine.url + "checkbox-indicator"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checkState === Qt.Checked},
- {"partially-checked": control.checkState === Qt.PartiallyChecked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: NinePatchImage {
- source: Imagine.url + "checkbox-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checkState === Qt.Checked},
- {"partially-checked": control.checkState === Qt.PartiallyChecked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/CheckDelegate.qml b/src/imports/controls/imagine/CheckDelegate.qml
deleted file mode 100644
index 19975152..00000000
--- a/src/imports/controls/imagine/CheckDelegate.qml
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.CheckDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- indicator: Image {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- source: Imagine.url + "checkdelegate-indicator"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checkState === Qt.Checked},
- {"partially-checked": control.checkState === Qt.PartiallyChecked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: NinePatchImage {
- source: Imagine.url + "checkdelegate-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checkState === Qt.Checked},
- {"partially-checked": control.checkState === Qt.PartiallyChecked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ComboBox.qml b/src/imports/controls/imagine/ComboBox.qml
deleted file mode 100644
index 2d582e98..00000000
--- a/src/imports/controls/imagine/ComboBox.qml
+++ /dev/null
@@ -1,173 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.14
-import QtQuick.Window 2.14
-import QtQuick.Templates 2.14 as T
-import QtQuick.Controls 2.14
-import QtQuick.Controls.Imagine 2.14
-import QtQuick.Controls.Imagine.impl 2.14
-
-T.ComboBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentItem.implicitWidth + background ? (background.leftPadding + background.rightPadding) : 0)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- Math.max(implicitContentHeight,
- implicitIndicatorHeight) + background ? (background.topPadding + background.bottomPadding) : 0)
-
- leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
- rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- delegate: ItemDelegate {
- width: parent.width
- text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
- font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
- highlighted: control.highlightedIndex === index
- hoverEnabled: control.hoverEnabled
- }
-
- indicator: Image {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- source: Imagine.url + "combobox-indicator"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.pressed},
- {"editable": control.editable},
- {"open": control.down},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered},
- {"flat": control.flat}
- ]
- }
- }
-
- contentItem: T.TextField {
- topPadding: control.background ? control.background.topPadding : 0
- leftPadding: control.background ? control.background.leftPadding : 0
- rightPadding: control.background ? control.background.rightPadding : 0
- bottomPadding: control.background ? control.background.bottomPadding : 0
-
- text: control.editable ? control.editText : control.displayText
-
- enabled: control.editable
- autoScroll: control.editable
- readOnly: control.down
- inputMethodHints: control.inputMethodHints
- validator: control.validator
-
- font: control.font
- color: control.flat ? control.palette.windowText : control.editable ? control.palette.text : control.palette.buttonText
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- verticalAlignment: Text.AlignVCenter
- }
-
- background: NinePatchImage {
- source: Imagine.url + "combobox-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.pressed},
- {"editable": control.editable},
- {"open": control.down},
- {"focused": control.visualFocus || (control.editable && control.activeFocus)},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered},
- {"flat": control.flat}
- ]
- }
- }
-
- popup: T.Popup {
- width: control.width
- height: Math.min(contentItem.implicitHeight + topPadding + bottomPadding, control.Window.height - topMargin - bottomMargin)
-
- topMargin: background.topInset
- bottomMargin: background.bottomInset
-
- topPadding: background.topPadding
- leftPadding: background.leftPadding
- rightPadding: background.rightPadding
- bottomPadding: background.bottomPadding
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- palette.text: control.palette.text
- palette.highlight: control.palette.highlight
- palette.highlightedText: control.palette.highlightedText
- palette.windowText: control.palette.windowText
- palette.buttonText: control.palette.buttonText
-
- contentItem: ListView {
- clip: true
- implicitHeight: contentHeight
- model: control.delegateModel
- currentIndex: control.highlightedIndex
- highlightMoveDuration: 0
-
- T.ScrollIndicator.vertical: ScrollIndicator { }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "combobox-popup"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.pressed},
- {"editable": control.editable},
- {"focused": control.visualFocus || (control.editable && control.activeFocus)},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered},
- {"flat": control.flat}
- ]
- }
- }
- }
-}
diff --git a/src/imports/controls/imagine/DelayButton.qml b/src/imports/controls/imagine/DelayButton.qml
deleted file mode 100644
index f60b5eae..00000000
--- a/src/imports/controls/imagine/DelayButton.qml
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-import QtGraphicalEffects 1.12
-
-T.DelayButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- transition: Transition {
- NumberAnimation {
- duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress)
- }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- color: control.palette.buttonText
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- background: NinePatchImage {
- source: Imagine.url + "delaybutton-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- readonly property NinePatchImage progress: NinePatchImage {
- parent: control.background
- width: control.progress * parent.width
- height: parent.height
- visible: false
-
- source: Imagine.url + "delaybutton-progress"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- readonly property NinePatchImage mask: NinePatchImage {
- width: control.background.width
- height: control.background.height
- visible: false
-
- source: Imagine.url + "delaybutton-mask"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- readonly property OpacityMask effect: OpacityMask {
- parent: control.background
- width: source.width
- height: source.height
- source: control.background.progress
-
- maskSource: ShaderEffectSource {
- sourceItem: control.background.mask
- sourceRect: Qt.rect(0, 0, control.background.effect.width, control.background.effect.height)
- }
- }
- }
-}
diff --git a/src/imports/controls/imagine/Dial.qml b/src/imports/controls/imagine/Dial.qml
deleted file mode 100644
index f10634e6..00000000
--- a/src/imports/controls/imagine/Dial.qml
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Dial {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- (handle ? handle.implicitWidth : 0) + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- (handle ? handle.implicitHeight : 0) + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- handle: Image {
- x: background.x + background.width / 2 - handle.width / 2
- y: background.y + background.height / 2 - handle.height / 2
-
- source: Imagine.url + "dial-handle"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.pressed},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- transform: [
- Translate {
- y: -background.height * 0.4 + handle.height / 2
- },
- Rotation {
- angle: control.angle
- origin.x: handle.width / 2
- origin.y: handle.height / 2
- }
- ]
- }
-
- background: NinePatchImage {
- x: control.width / 2 - width / 2
- y: control.height / 2 - height / 2
- width: Math.max(64, Math.min(control.width, control.height))
- height: width
-
- source: Imagine.url + "dial-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.pressed},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Dialog.qml b/src/imports/controls/imagine/Dialog.qml
deleted file mode 100644
index 730b7f57..00000000
--- a/src/imports/controls/imagine/Dialog.qml
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Dialog {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- background: NinePatchImage {
- source: Imagine.url + "dialog-background"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
-
- header: Label {
- text: control.title
- visible: control.title
- elide: Label.ElideRight
- font.bold: true
- padding: 12
-
- background: NinePatchImage {
- width: parent.width
- height: parent.height
-
- source: Imagine.url + "dialog-title"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
- }
-
- footer: DialogButtonBox {
- visible: count > 0
- }
-
- T.Overlay.modal: NinePatchImage {
- source: Imagine.url + "dialog-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- T.Overlay.modeless: NinePatchImage {
- source: Imagine.url + "dialog-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/DialogButtonBox.qml b/src/imports/controls/imagine/DialogButtonBox.qml
deleted file mode 100644
index c24b29fc..00000000
--- a/src/imports/controls/imagine/DialogButtonBox.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.DialogButtonBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- (control.count === 1 ? contentWidth * 2 : contentWidth) + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- spacing: 6
-
- delegate: Button {
- width: control.count === 1 ? control.availableWidth / 2 : undefined
- flat: true
- }
-
- contentItem: ListView {
- model: control.contentModel
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- snapMode: ListView.SnapToItem
- }
-
- background: NinePatchImage {
- source: Imagine.url + "dialogbuttonbox-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Drawer.qml b/src/imports/controls/imagine/Drawer.qml
deleted file mode 100644
index 2c93ba75..00000000
--- a/src/imports/controls/imagine/Drawer.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Drawer {
- id: control
-
- parent: T.ApplicationWindow.overlay
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- enter: Transition { SmoothedAnimation { velocity: 5 } }
- exit: Transition { SmoothedAnimation { velocity: 5 } }
-
- background: NinePatchImage {
- source: Imagine.url + "drawer-background"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim},
- {"top": control.edge === Qt.TopEdge},
- {"left": control.edge === Qt.LeftEdge},
- {"right": control.edge === Qt.RightEdge},
- {"bottom": control.edge === Qt.BottomEdge}
- ]
- }
- }
-
- T.Overlay.modal: NinePatchImage {
- source: Imagine.url + "drawer-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- T.Overlay.modeless: NinePatchImage {
- source: Imagine.url + "drawer-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Frame.qml b/src/imports/controls/imagine/Frame.qml
deleted file mode 100644
index 2bef3c88..00000000
--- a/src/imports/controls/imagine/Frame.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Frame {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- background: NinePatchImage {
- source: Imagine.url + "frame-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/GroupBox.qml b/src/imports/controls/imagine/GroupBox.qml
deleted file mode 100644
index 7abdb6f0..00000000
--- a/src/imports/controls/imagine/GroupBox.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.GroupBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitLabelWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: (background ? background.topPadding : 0) + (implicitLabelWidth > 0 ? implicitLabelHeight + spacing : 0)
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
- padding: 12
-
- label: Label {
- width: control.width
-
- topPadding: background.topPadding
- leftPadding: background.leftPadding
- rightPadding: background.rightPadding
- bottomPadding: background.bottomPadding
-
- text: control.title
- font: control.font
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
-
- color: control.palette.windowText
-
- background: NinePatchImage {
- width: parent.width
- height: parent.height
-
- source: Imagine.url + "groupbox-title"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
- }
-
- background: NinePatchImage {
- x: -leftInset
- y: control.topPadding - control.bottomPadding - topInset
- width: control.width + leftInset + rightInset
- height: control.height + topInset + bottomInset - control.topPadding + control.padding
-
- source: Imagine.url + "groupbox-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ItemDelegate.qml b/src/imports/controls/imagine/ItemDelegate.qml
deleted file mode 100644
index 0b3edeaf..00000000
--- a/src/imports/controls/imagine/ItemDelegate.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ItemDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: NinePatchImage {
- source: Imagine.url + "itemdelegate-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Label.qml b/src/imports/controls/imagine/Label.qml
deleted file mode 100644
index 82c0ef47..00000000
--- a/src/imports/controls/imagine/Label.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Label {
- id: control
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- color: control.palette.windowText
- linkColor: control.palette.link
-
- background: NinePatchImage {
- source: Imagine.url + "label-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Menu.qml b/src/imports/controls/imagine/Menu.qml
deleted file mode 100644
index 20a34467..00000000
--- a/src/imports/controls/imagine/Menu.qml
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-import QtQuick.Window 2.12
-
-T.Menu {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topMargin: background ? background.topInset : 0
- leftMargin: background ? background.leftInset : 0
- rightMargin: background ? background.rightInset : 0
- bottomMargin: background ? background.bottomInset : 0
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- delegate: MenuItem { }
-
- contentItem: ListView {
- implicitHeight: contentHeight
- model: control.contentModel
- interactive: Window.window ? contentHeight > Window.window.height : false
- clip: true
- currentIndex: control.currentIndex
-
- T.ScrollIndicator.vertical: ScrollIndicator { }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "menu-background"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
-
- T.Overlay.modal: NinePatchImage {
- source: Imagine.url + "menu-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- T.Overlay.modeless: NinePatchImage {
- source: Imagine.url + "menu-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/MenuItem.qml b/src/imports/controls/imagine/MenuItem.qml
deleted file mode 100644
index f85fc657..00000000
--- a/src/imports/controls/imagine/MenuItem.qml
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.MenuItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.windowText
-
- contentItem: IconLabel {
- readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
- readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
- leftPadding: !control.mirrored ? indicatorPadding : arrowPadding
- rightPadding: control.mirrored ? indicatorPadding : arrowPadding
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.windowText
- }
-
- arrow: Image {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.subMenu
- source: Imagine.url + "menuitem-arrow"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- indicator: Image {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.checkable
- source: Imagine.url + "menuitem-indicator"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "menuitem-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/MenuSeparator.qml b/src/imports/controls/imagine/MenuSeparator.qml
deleted file mode 100644
index 9ed39087..00000000
--- a/src/imports/controls/imagine/MenuSeparator.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.MenuSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: NinePatchImage {
- source: Imagine.url + "menuseparator-separator"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "menuseparator-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Page.qml b/src/imports/controls/imagine/Page.qml
deleted file mode 100644
index 07ec0a75..00000000
--- a/src/imports/controls/imagine/Page.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Page {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- background: NinePatchImage {
- source: Imagine.url + "page-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/PageIndicator.qml b/src/imports/controls/imagine/PageIndicator.qml
deleted file mode 100644
index 8da89f5a..00000000
--- a/src/imports/controls/imagine/PageIndicator.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.PageIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- delegate: Image {
- source: Imagine.url + "pageindicator-delegate"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": pressed},
- {"current": index === control.currentIndex},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered} // ### TODO: context property
- ]
- }
- }
-
- contentItem: Row {
- spacing: control.spacing
-
- Repeater {
- model: control.count
- delegate: control.delegate
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "pageindicator-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Pane.qml b/src/imports/controls/imagine/Pane.qml
deleted file mode 100644
index 970b22b9..00000000
--- a/src/imports/controls/imagine/Pane.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Pane {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- background: NinePatchImage {
- source: Imagine.url + "pane-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Popup.qml b/src/imports/controls/imagine/Popup.qml
deleted file mode 100644
index 8f69bef4..00000000
--- a/src/imports/controls/imagine/Popup.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Popup {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : undefined
- leftPadding: background ? background.leftPadding : undefined
- rightPadding: background ? background.rightPadding : undefined
- bottomPadding: background ? background.bottomPadding : undefined
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- background: NinePatchImage {
- source: Imagine.url + "popup-background"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
-
- T.Overlay.modal: NinePatchImage {
- source: Imagine.url + "popup-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- T.Overlay.modeless: NinePatchImage {
- source: Imagine.url + "popup-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ProgressBar.qml b/src/imports/controls/imagine/ProgressBar.qml
deleted file mode 100644
index 2f78004e..00000000
--- a/src/imports/controls/imagine/ProgressBar.qml
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-import QtGraphicalEffects 1.12
-
-T.ProgressBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: Item {
- implicitWidth: control.indeterminate ? animation.implicitWidth || progress.implicitWidth : progress.implicitWidth
- implicitHeight: control.indeterminate ? animation.implicitHeight || progress.implicitHeight : progress.implicitHeight
- scale: control.mirrored ? -1 : 1
-
- readonly property bool hasMask: mask.status !== Image.Null
-
- readonly property NinePatchImage progress: NinePatchImage {
- parent: control.contentItem
- width: control.position * parent.width
- height: parent.height
- visible: !control.indeterminate && !control.contentItem.hasMask
-
- source: Imagine.url + "progressbar-progress"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"indeterminate": control.indeterminate},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- readonly property AnimatedImage animation: AnimatedImage {
- parent: control.contentItem
- width: parent.width
- height: parent.height
- playing: control.indeterminate
- visible: control.indeterminate && !control.contentItem.hasMask
-
- source: Imagine.url + "progressbar-animation"
- AnimatedImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- readonly property NinePatchImage mask: NinePatchImage {
- width: control.availableWidth
- height: control.availableHeight
- visible: false
-
- source: Imagine.url + "progressbar-mask"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"indeterminate": control.indeterminate},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- readonly property OpacityMask effect: OpacityMask {
- parent: control.contentItem
- width: source.width
- height: source.height
- source: control.indeterminate ? control.contentItem.animation : control.contentItem.progress
-
- maskSource: ShaderEffectSource {
- sourceItem: control.contentItem.mask
- sourceRect: Qt.rect(0, 0, control.contentItem.effect.width, control.contentItem.effect.height)
- }
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "progressbar-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"indeterminate": control.indeterminate},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/RadioButton.qml b/src/imports/controls/imagine/RadioButton.qml
deleted file mode 100644
index a50bc127..00000000
--- a/src/imports/controls/imagine/RadioButton.qml
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.RadioButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- indicator: Image {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- source: Imagine.url + "radiobutton-indicator"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: NinePatchImage {
- source: Imagine.url + "radiobutton-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/RadioDelegate.qml b/src/imports/controls/imagine/RadioDelegate.qml
deleted file mode 100644
index 5a8356f8..00000000
--- a/src/imports/controls/imagine/RadioDelegate.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.RadioDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- indicator: Image {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- source: Imagine.url + "radiodelegate-indicator"
- ImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: NinePatchImage {
- source: Imagine.url + "radiodelegate-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/RangeSlider.qml b/src/imports/controls/imagine/RangeSlider.qml
deleted file mode 100644
index 47d90cf3..00000000
--- a/src/imports/controls/imagine/RangeSlider.qml
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.RangeSlider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- first.implicitHandleWidth + leftPadding + rightPadding,
- second.implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- first.implicitHandleHeight + topPadding + bottomPadding,
- second.implicitHandleHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- first.handle: Image {
- x: control.leftPadding + (control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height))
-
- source: Imagine.url + "rangeslider-handle"
- ImageSelector on source {
- states: [
- {"first": true},
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"pressed": control.first.pressed},
- {"focused": control.first.handle.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.first.hovered}
- ]
- }
- }
-
- second.handle: Image {
- x: control.leftPadding + (control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height))
-
- source: Imagine.url + "rangeslider-handle"
- ImageSelector on source {
- states: [
- {"second": true},
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"pressed": control.second.pressed},
- {"focused": control.second.handle.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.second.hovered}
- ]
- }
- }
-
- background: NinePatchImage {
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- source: Imagine.url + "rangeslider-background"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- NinePatchImage {
- x: control.horizontal ? control.first.handle.width / 2 + control.first.position * (parent.width - control.first.handle.width) : (parent.width - width) / 2
- y: control.horizontal ? (parent.height - height) / 2 : control.first.handle.height / 2 + control.second.visualPosition * (parent.height - control.first.handle.height)
- width: control.horizontal ? control.second.position * (parent.width - control.first.handle.width) - control.first.position * (parent.width - control.first.handle.width) : parent.width
- height: control.vertical ? control.second.position * (parent.height - control.first.handle.height) - control.first.position * (parent.height - control.first.handle.height): parent.height
-
- source: Imagine.url + "rangeslider-progress"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
- }
-}
diff --git a/src/imports/controls/imagine/RoundButton.qml b/src/imports/controls/imagine/RoundButton.qml
deleted file mode 100644
index fe4cbb36..00000000
--- a/src/imports/controls/imagine/RoundButton.qml
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.RoundButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.enabled && control.flat && control.highlighted ? control.palette.highlight
- : control.enabled && (control.down || control.checked || control.highlighted) && !control.flat
- ? control.palette.brightText : control.flat ? control.palette.windowText : control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled && control.flat && control.highlighted ? control.palette.highlight
- : control.enabled && (control.down || control.checked || control.highlighted) && !control.flat
- ? control.palette.brightText : control.flat ? control.palette.windowText : control.palette.buttonText
- }
-
- background: NinePatchImage {
- // ### TODO: radius?
- source: Imagine.url + "roundbutton-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"checkable": control.checkable},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"flat": control.flat},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ScrollBar.qml b/src/imports/controls/imagine/ScrollBar.qml
deleted file mode 100644
index 68772e12..00000000
--- a/src/imports/controls/imagine/ScrollBar.qml
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ScrollBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- visible: control.policy !== T.ScrollBar.AlwaysOff
- minimumSize: orientation == Qt.Horizontal ? height / width : width / height
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: NinePatchImage {
- width: control.availableWidth
- height: control.availableHeight
-
- source: Imagine.url + "scrollbar-handle"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"interactive": control.interactive},
- {"pressed": control.pressed},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- opacity: 0.0
- }
-
- background: NinePatchImage {
- source: Imagine.url + "scrollbar-background"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"interactive": control.interactive},
- {"pressed": control.pressed},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- opacity: 0.0
- }
-
- states: [
- State {
- name: "active"
- when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
- }
- ]
-
- transitions: [
- Transition {
- to: "active"
- NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 }
- },
- Transition {
- from: "active"
- SequentialAnimation {
- PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 }
- PauseAnimation { duration: 3000 }
- NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 }
- }
- }
- ]
-}
diff --git a/src/imports/controls/imagine/ScrollIndicator.qml b/src/imports/controls/imagine/ScrollIndicator.qml
deleted file mode 100644
index 896cd876..00000000
--- a/src/imports/controls/imagine/ScrollIndicator.qml
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ScrollIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: NinePatchImage {
- width: control.availableWidth
- height: control.availableHeight
-
- source: Imagine.url + "scrollindicator-handle"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- opacity: 0.0
- }
-
- background: NinePatchImage {
- source: Imagine.url + "scrollindicator-background"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- opacity: 0.0
- }
-
- states: [
- State {
- name: "active"
- when: (control.active && control.size < 1.0)
- }
- ]
-
- transitions: [
- Transition {
- to: "active"
- NumberAnimation { targets: [contentItem, control.background]; property: "opacity"; to: 1.0 }
- },
- Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 5000 }
- NumberAnimation { targets: [contentItem, control.background]; property: "opacity"; to: 0.0 }
- }
- }
- ]
-}
diff --git a/src/imports/controls/imagine/ScrollView.qml b/src/imports/controls/imagine/ScrollView.qml
deleted file mode 100644
index 9d469ba5..00000000
--- a/src/imports/controls/imagine/ScrollView.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ScrollView {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- T.ScrollBar.vertical: ScrollBar {
- parent: control
- x: control.mirrored ? 0 : control.width - width
- y: control.topPadding
- height: control.availableHeight
- active: control.T.ScrollBar.horizontal.active
- }
-
- T.ScrollBar.horizontal: ScrollBar {
- parent: control
- x: control.leftPadding
- y: control.height - height
- width: control.availableWidth
- active: control.T.ScrollBar.vertical.active
- }
-
- background: NinePatchImage {
- source: Imagine.path + "scrollview-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Slider.qml b/src/imports/controls/imagine/Slider.qml
deleted file mode 100644
index fe9c3388..00000000
--- a/src/imports/controls/imagine/Slider.qml
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Slider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitHandleHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- handle: Image {
- x: Math.round(control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2))
- y: Math.round(control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height)))
-
- source: Imagine.url + "slider-handle"
- ImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"pressed": control.pressed},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-
- background: NinePatchImage {
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- source: Imagine.url + "slider-background"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- NinePatchImage {
- x: control.horizontal ? 0 : (parent.width - width) / 2
- y: control.horizontal
- ? (parent.height - height) / 2
- : control.handle.height / 2 + control.visualPosition * (parent.height - control.handle.height)
- width: control.horizontal
- ? control.handle.width / 2 + control.position * (parent.width - control.handle.width)
- : parent.width
- height: control.vertical
- ? control.handle.height / 2 + control.position * (parent.height - control.handle.height)
- : parent.height
-
- source: Imagine.url + "slider-progress"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
- }
-}
diff --git a/src/imports/controls/imagine/SpinBox.qml b/src/imports/controls/imagine/SpinBox.qml
deleted file mode 100644
index 61135806..00000000
--- a/src/imports/controls/imagine/SpinBox.qml
+++ /dev/null
@@ -1,152 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.SpinBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentItem.implicitWidth + 2 * padding +
- up.implicitIndicatorWidth +
- down.implicitIndicatorWidth)
- implicitHeight: Math.max(implicitContentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight,
- up.implicitIndicatorHeight,
- down.implicitIndicatorHeight)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: (background ? background.leftPadding : 0) + (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
- rightPadding: (background ? background.rightPadding : 0) + (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
-
- contentItem: TextInput {
- z: 2
- text: control.displayText
- opacity: control.enabled ? 1 : 0.3
-
- font: control.font
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
-
- readOnly: !control.editable
- validator: control.validator
- inputMethodHints: control.inputMethodHints
-
- NinePatchImage {
- z: -1
- width: control.width
- height: control.height
- visible: control.editable
-
- source: Imagine.url + "spinbox-editor"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"focused": control.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
- }
-
- up.indicator: NinePatchImage {
- x: control.mirrored ? 0 : parent.width - width
- height: parent.height
-
- source: Imagine.url + "spinbox-indicator"
- NinePatchImageSelector on source {
- states: [
- {"up": true},
- {"disabled": !control.up.indicator.enabled},
- {"editable": control.editable},
- {"pressed": control.up.pressed},
- {"focused": control.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.up.hovered}
- ]
- }
- }
-
- down.indicator: NinePatchImage {
- x: control.mirrored ? parent.width - width : 0
- height: parent.height
-
- source: Imagine.url + "spinbox-indicator"
- NinePatchImageSelector on source {
- states: [
- {"down": true},
- {"disabled": !control.down.indicator.enabled},
- {"editable": control.editable},
- {"pressed": control.down.pressed},
- {"focused": control.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.down.hovered}
- ]
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "spinbox-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"editable": control.editable},
- {"focused": control.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/SplitView.qml b/src/imports/controls/imagine/SplitView.qml
deleted file mode 100644
index a4a858f4..00000000
--- a/src/imports/controls/imagine/SplitView.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.13
-import QtQuick.Templates 2.13 as T
-import QtQuick.Controls.Imagine 2.13
-import QtQuick.Controls.Imagine.impl 2.13
-
-T.SplitView {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- handle: NinePatchImage {
- source: Imagine.url + "splitview-handle"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.orientation === Qt.Vertical},
- {"horizontal":control.orientation === Qt.Horizontal},
- {"disabled": !control.enabled},
- {"pressed": T.SplitHandle.pressed},
- {"mirrored": control.mirrored},
- {"hovered": T.SplitHandle.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/StackView.qml b/src/imports/controls/imagine/StackView.qml
deleted file mode 100644
index 407b1d15..00000000
--- a/src/imports/controls/imagine/StackView.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.StackView {
- id: control
-
- implicitWidth: implicitBackgroundWidth
- implicitHeight: implicitBackgroundHeight
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- popEnter: Transition {
- XAnimator { from: (control.mirrored ? -1 : 1) * -control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
-
- popExit: Transition {
- XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * control.width; duration: 400; easing.type: Easing.OutCubic }
- }
-
- pushEnter: Transition {
- XAnimator { from: (control.mirrored ? -1 : 1) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
-
- pushExit: Transition {
- XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * -control.width; duration: 400; easing.type: Easing.OutCubic }
- }
-
- replaceEnter: Transition {
- XAnimator { from: (control.mirrored ? -1 : 1) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
-
- replaceExit: Transition {
- XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * -control.width; duration: 400; easing.type: Easing.OutCubic }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "stackview-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/SwipeDelegate.qml b/src/imports/controls/imagine/SwipeDelegate.qml
deleted file mode 100644
index 3850253f..00000000
--- a/src/imports/controls/imagine/SwipeDelegate.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.SwipeDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } }
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: NinePatchImage {
- source: Imagine.url + "swipedelegate-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/SwipeView.qml b/src/imports/controls/imagine/SwipeView.qml
deleted file mode 100644
index 4998edb7..00000000
--- a/src/imports/controls/imagine/SwipeView.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.SwipeView {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: ListView {
- model: control.contentModel
- interactive: control.interactive
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: control.orientation
- snapMode: ListView.SnapOneItem
- boundsBehavior: Flickable.StopAtBounds
-
- highlightRangeMode: ListView.StrictlyEnforceRange
- preferredHighlightBegin: 0
- preferredHighlightEnd: 0
- highlightMoveDuration: 250
- }
-
- background: NinePatchImage {
- source: Imagine.url + "swipeview-background"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"interactive": control.interactive},
- {"focused": control.contentItem.activeFocus},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Switch.qml b/src/imports/controls/imagine/Switch.qml
deleted file mode 100644
index 50b407ac..00000000
--- a/src/imports/controls/imagine/Switch.qml
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Switch {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- indicator: NinePatchImage {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- width: Math.max(implicitWidth, handle.leftPadding && handle.rightPadding ? handle.implicitWidth : 2 * handle.implicitWidth)
- height: Math.max(implicitHeight, handle.implicitHeight)
-
- source: Imagine.url + "switch-indicator"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- property NinePatchImage handle: NinePatchImage {
- readonly property real minPos: parent.leftPadding - leftPadding
- readonly property real maxPos: parent.width - width + rightPadding - parent.rightPadding
- readonly property real dragPos: control.visualPosition * parent.width - (width / 2)
-
- parent: control.indicator
-
- x: Math.max(minPos, Math.min(maxPos, control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
-
- source: Imagine.url + "switch-handle"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- Behavior on x {
- enabled: !control.down
- SmoothedAnimation { velocity: 200 }
- }
- }
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.palette.windowText
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: NinePatchImage {
- source: Imagine.url + "switch-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/SwitchDelegate.qml b/src/imports/controls/imagine/SwitchDelegate.qml
deleted file mode 100644
index 73e5aac0..00000000
--- a/src/imports/controls/imagine/SwitchDelegate.qml
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.SwitchDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.text
-
- indicator: NinePatchImage {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- width: Math.max(implicitWidth, handle.leftPadding && handle.rightPadding ? handle.implicitWidth : 2 * handle.implicitWidth)
- height: Math.max(implicitHeight, handle.implicitHeight)
-
- source: Imagine.url + "switchdelegate-indicator"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- property NinePatchImage handle: NinePatchImage {
- readonly property real minPos: parent.leftPadding - leftPadding
- readonly property real maxPos: parent.width - width + rightPadding - parent.rightPadding
- readonly property real dragPos: control.visualPosition * parent.width - (width / 2)
-
- parent: control.indicator
-
- x: Math.max(minPos, Math.min(maxPos, control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
-
- source: Imagine.url + "switchdelegate-handle"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
-
- Behavior on x {
- enabled: !control.down
- SmoothedAnimation { velocity: 200 }
- }
- }
- }
-
- contentItem: IconLabel {
- leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.text
- }
-
- background: NinePatchImage {
- source: Imagine.url + "switchdelegate-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/TabBar.qml b/src/imports/controls/imagine/TabBar.qml
deleted file mode 100644
index 69516e03..00000000
--- a/src/imports/controls/imagine/TabBar.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.TabBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: ListView {
- model: control.contentModel
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- flickableDirection: Flickable.AutoFlickIfNeeded
- snapMode: ListView.SnapToItem
-
- highlightMoveDuration: 0
- highlightRangeMode: ListView.ApplyRange
- preferredHighlightBegin: 48
- preferredHighlightEnd: width - 48
- }
-
- background: NinePatchImage {
- source: Imagine.url + "tabbar-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"header": control.position === T.TabBar.Header },
- {"footer": control.position === T.TabBar.Footer },
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/TabButton.qml b/src/imports/controls/imagine/TabButton.qml
deleted file mode 100644
index 1cdcfc4b..00000000
--- a/src/imports/controls/imagine/TabButton.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.TabButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: NinePatchImage {
- source: Imagine.url + "tabbutton-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/TextArea.qml b/src/imports/controls/imagine/TextArea.qml
deleted file mode 100644
index c7505b52..00000000
--- a/src/imports/controls/imagine/TextArea.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.TextArea {
- id: control
-
- implicitWidth: Math.max(contentWidth + leftPadding + rightPadding,
- implicitBackgroundWidth + leftInset + rightInset,
- placeholder.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight + topInset + bottomInset,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- verticalAlignment: Qt.AlignVCenter
- placeholderTextColor: Color.transparent(control.color, 0.5)
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- elide: Text.ElideRight
- renderType: control.renderType
- }
-
- background: NinePatchImage {
- source: Imagine.url + "textarea-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"focused": control.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/TextField.qml b/src/imports/controls/imagine/TextField.qml
deleted file mode 100644
index 3ff0ad44..00000000
--- a/src/imports/controls/imagine/TextField.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.TextField {
- id: control
-
- implicitWidth: implicitBackgroundWidth + leftInset + rightInset
- || Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- color: control.palette.text
- selectionColor: control.palette.highlight
- selectedTextColor: control.palette.highlightedText
- placeholderTextColor: Color.transparent(control.color, 0.5)
- verticalAlignment: Qt.AlignVCenter
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- elide: Text.ElideRight
- renderType: control.renderType
- }
-
- background: NinePatchImage {
- source: Imagine.url + "textfield-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"focused": control.activeFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ToolBar.qml b/src/imports/controls/imagine/ToolBar.qml
deleted file mode 100644
index 99bcd3ba..00000000
--- a/src/imports/controls/imagine/ToolBar.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ToolBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- background: NinePatchImage {
- source: Imagine.url + "toolbar-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"header": control.position === T.ToolBar.Header },
- {"footer": control.position === T.ToolBar.Footer },
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ToolButton.qml b/src/imports/controls/imagine/ToolButton.qml
deleted file mode 100644
index cc22f88d..00000000
--- a/src/imports/controls/imagine/ToolButton.qml
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ToolButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- spacing: 6 // ###
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- icon.width: 24
- icon.height: 24
- icon.color: control.palette.buttonText
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.palette.buttonText
- }
-
- background: NinePatchImage {
- source: Imagine.url + "toolbutton-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"pressed": control.down},
- {"checked": control.checked},
- {"checkable": control.checkable},
- {"focused": control.visualFocus},
- {"highlighted": control.highlighted},
- {"flat": control.flat},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ToolSeparator.qml b/src/imports/controls/imagine/ToolSeparator.qml
deleted file mode 100644
index c0887e4d..00000000
--- a/src/imports/controls/imagine/ToolSeparator.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ToolSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- contentItem: NinePatchImage {
- source: Imagine.url + "toolseparator-separator"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-
- background: NinePatchImage {
- source: Imagine.url + "toolseparator-background"
- NinePatchImageSelector on source {
- states: [
- {"vertical": control.vertical},
- {"horizontal": control.horizontal},
- {"disabled": !control.enabled},
- {"mirrored": control.mirrored}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/ToolTip.qml b/src/imports/controls/imagine/ToolTip.qml
deleted file mode 100644
index 250452d8..00000000
--- a/src/imports/controls/imagine/ToolTip.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.ToolTip {
- id: control
-
- x: parent ? (parent.width - implicitWidth) / 2 : 0 - (background ? background.leftInset : 0)
- y: -implicitHeight - (background ? background.topInset : 0)
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topMargin: background ? background.topInset : 0
- leftMargin: background ? background.leftInset : 0
- rightMargin: background ? background.rightInset : 0
- bottomMargin: background ? background.bottomInset : 0
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent
-
- contentItem: Text {
- text: control.text
- font: control.font
- // TODO: wrapMode: Label.Wrap
- color: control.palette.toolTipText
- }
-
- background: NinePatchImage {
- source: Imagine.url + "tooltip-background"
- NinePatchImageSelector on source {
- states: [
- // ###
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/Tumbler.qml b/src/imports/controls/imagine/Tumbler.qml
deleted file mode 100644
index 12025cc5..00000000
--- a/src/imports/controls/imagine/Tumbler.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Imagine 2.12
-import QtQuick.Controls.Imagine.impl 2.12
-
-T.Tumbler {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- delegate: Text {
- text: modelData
- font: control.font
- color: control.palette.text
- opacity: (1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- contentItem: TumblerView {
- implicitWidth: 60
- implicitHeight: 200
- model: control.model
- delegate: control.delegate
- path: Path {
- startX: control.contentItem.width / 2
- startY: -control.contentItem.delegateHeight / 2
- PathLine {
- x: control.contentItem.width / 2
- y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2
- }
- }
-
- property real delegateHeight: control.availableHeight / control.visibleItemCount
- }
-
- background: NinePatchImage {
- source: Imagine.url + "tumbler-background"
- NinePatchImageSelector on source {
- states: [
- {"disabled": !control.enabled},
- {"focused": control.visualFocus},
- {"mirrored": control.mirrored},
- {"hovered": control.hovered}
- ]
- }
- }
-}
diff --git a/src/imports/controls/imagine/dependencies.json b/src/imports/controls/imagine/dependencies.json
deleted file mode 100644
index 21ded052..00000000
--- a/src/imports/controls/imagine/dependencies.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- {
- "name": "QtQuick.Controls",
- "type": "module",
- "version": "2.0"
- }
-]
diff --git a/src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/9-patch-export.js b/src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/9-patch-export.js
deleted file mode 100644
index a7f9a459..00000000
--- a/src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/9-patch-export.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// 9-patch export
-//
-// This plugin crops upscaled 9-patch PNG assets when exported from Sketch,
-// to ensure that 9-patch borders remain 1px wide when upscaled.
-//
-function onExportSlices(context) {
- var exports = context.actionContext.exports;
- for (var i = 0; i < exports.count(); ++i) {
- var name = exports[i].request.name();
- var scale = exports[i].request.scale();
- if (scale > 1 && name.endsWith(".9"))
- cropAsset(exports[i].path, scale - 1);
- }
-}
-
-function cropAsset(path, inset) {
- var url = NSURL.fileURLWithPath(path);
- var img = CIImage.imageWithContentsOfURL(url);
- var rect = NSInsetRect(img.extent(), inset, inset);
- var cropped = img.imageByCroppingToRect(rect);
- var rep = NSBitmapImageRep.alloc().initWithCIImage(cropped);
- var data = rep.PNGRepresentationWithInterlaced(false);
- data.writeToFile(path);
-}
diff --git a/src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/manifest.json b/src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/manifest.json
deleted file mode 100644
index 40807aa3..00000000
--- a/src/imports/controls/imagine/design/9-patch-export.sketchplugin/Contents/Sketch/manifest.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name" : "9-patch export",
- "description" : "Crops upscaled 9-patch PNG assets when exported from Sketch.",
- "version" : "0.1",
- "identifier" : "org.qt-project.sketch.9-patch-export",
- "author" : "The Qt Project",
- "commands" : [
- {
- "name" : "9-patch export",
- "identifier" : "9-patch-export",
- "script" : "9-patch-export.js",
- "handlers" : {
- "actions" : {
- "ExportSlices": "onExportSlices",
- },
- },
- },
- ],
-}
diff --git a/src/imports/controls/imagine/design/imagine.sketch b/src/imports/controls/imagine/design/imagine.sketch
deleted file mode 100644
index f3535b37..00000000
--- a/src/imports/controls/imagine/design/imagine.sketch
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-background.png b/src/imports/controls/imagine/images/applicationwindow-background.png
deleted file mode 100644
index 01eb7c73..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-background@2x.png b/src/imports/controls/imagine/images/applicationwindow-background@2x.png
deleted file mode 100644
index 72be785c..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-background@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-background@3x.png b/src/imports/controls/imagine/images/applicationwindow-background@3x.png
deleted file mode 100644
index a488f592..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-background@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-background@4x.png b/src/imports/controls/imagine/images/applicationwindow-background@4x.png
deleted file mode 100644
index 9343da95..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-background@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay-modal.png b/src/imports/controls/imagine/images/applicationwindow-overlay-modal.png
deleted file mode 100644
index 296e914a..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay-modal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay-modal@2x.png b/src/imports/controls/imagine/images/applicationwindow-overlay-modal@2x.png
deleted file mode 100644
index 10c89300..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay-modal@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay-modal@3x.png b/src/imports/controls/imagine/images/applicationwindow-overlay-modal@3x.png
deleted file mode 100644
index f65996e9..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay-modal@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay-modal@4x.png b/src/imports/controls/imagine/images/applicationwindow-overlay-modal@4x.png
deleted file mode 100644
index a586f381..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay-modal@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay.png b/src/imports/controls/imagine/images/applicationwindow-overlay.png
deleted file mode 100644
index e7175b46..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay@2x.png b/src/imports/controls/imagine/images/applicationwindow-overlay@2x.png
deleted file mode 100644
index db6566e0..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay@3x.png b/src/imports/controls/imagine/images/applicationwindow-overlay@3x.png
deleted file mode 100644
index 140e4692..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/applicationwindow-overlay@4x.png b/src/imports/controls/imagine/images/applicationwindow-overlay@4x.png
deleted file mode 100644
index 5115c28a..00000000
--- a/src/imports/controls/imagine/images/applicationwindow-overlay@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/busyindicator-animation.webp b/src/imports/controls/imagine/images/busyindicator-animation.webp
deleted file mode 100644
index ebf04c4a..00000000
--- a/src/imports/controls/imagine/images/busyindicator-animation.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/busyindicator-animation@2x.webp b/src/imports/controls/imagine/images/busyindicator-animation@2x.webp
deleted file mode 100644
index 43805a0b..00000000
--- a/src/imports/controls/imagine/images/busyindicator-animation@2x.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/busyindicator-animation@3x.webp b/src/imports/controls/imagine/images/busyindicator-animation@3x.webp
deleted file mode 100644
index b700b81f..00000000
--- a/src/imports/controls/imagine/images/busyindicator-animation@3x.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/busyindicator-animation@4x.webp b/src/imports/controls/imagine/images/busyindicator-animation@4x.webp
deleted file mode 100644
index bfaa8df9..00000000
--- a/src/imports/controls/imagine/images/busyindicator-animation@4x.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-disabled.9.png b/src/imports/controls/imagine/images/button-background-checked-disabled.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-disabled@2x.9.png b/src/imports/controls/imagine/images/button-background-checked-disabled@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-disabled@3x.9.png b/src/imports/controls/imagine/images/button-background-checked-disabled@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-disabled@4x.9.png b/src/imports/controls/imagine/images/button-background-checked-disabled@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-focused.9.png b/src/imports/controls/imagine/images/button-background-checked-focused.9.png
deleted file mode 100644
index 829d68a9..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-focused@2x.9.png b/src/imports/controls/imagine/images/button-background-checked-focused@2x.9.png
deleted file mode 100644
index bf375d43..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-focused@3x.9.png b/src/imports/controls/imagine/images/button-background-checked-focused@3x.9.png
deleted file mode 100644
index 8759c337..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-focused@4x.9.png b/src/imports/controls/imagine/images/button-background-checked-focused@4x.9.png
deleted file mode 100644
index 7b8f3616..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-hovered.9.png b/src/imports/controls/imagine/images/button-background-checked-hovered.9.png
deleted file mode 100644
index 829d68a9..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-hovered@2x.9.png b/src/imports/controls/imagine/images/button-background-checked-hovered@2x.9.png
deleted file mode 100644
index bf375d43..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-hovered@3x.9.png b/src/imports/controls/imagine/images/button-background-checked-hovered@3x.9.png
deleted file mode 100644
index 8759c337..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked-hovered@4x.9.png b/src/imports/controls/imagine/images/button-background-checked-hovered@4x.9.png
deleted file mode 100644
index 7b8f3616..00000000
--- a/src/imports/controls/imagine/images/button-background-checked-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked.9.png b/src/imports/controls/imagine/images/button-background-checked.9.png
deleted file mode 100644
index 3ca06e6c..00000000
--- a/src/imports/controls/imagine/images/button-background-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked@2x.9.png b/src/imports/controls/imagine/images/button-background-checked@2x.9.png
deleted file mode 100644
index 0afc3dea..00000000
--- a/src/imports/controls/imagine/images/button-background-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked@3x.9.png b/src/imports/controls/imagine/images/button-background-checked@3x.9.png
deleted file mode 100644
index 348687ad..00000000
--- a/src/imports/controls/imagine/images/button-background-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-checked@4x.9.png b/src/imports/controls/imagine/images/button-background-checked@4x.9.png
deleted file mode 100644
index 4dff0ba8..00000000
--- a/src/imports/controls/imagine/images/button-background-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-disabled.9.png b/src/imports/controls/imagine/images/button-background-disabled.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-disabled@2x.9.png b/src/imports/controls/imagine/images/button-background-disabled@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-disabled@3x.9.png b/src/imports/controls/imagine/images/button-background-disabled@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-disabled@4x.9.png b/src/imports/controls/imagine/images/button-background-disabled@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked-pressed.9.png b/src/imports/controls/imagine/images/button-background-flat-checked-pressed.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked-pressed@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-checked-pressed@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked-pressed@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-checked-pressed@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked-pressed@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-checked-pressed@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked.9.png b/src/imports/controls/imagine/images/button-background-flat-checked.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-checked@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-checked@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-checked@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-checked@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-disabled.9.png b/src/imports/controls/imagine/images/button-background-flat-disabled.9.png
deleted file mode 100644
index a76e7b86..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-disabled@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-disabled@2x.9.png
deleted file mode 100644
index 58445d50..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-disabled@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-disabled@3x.9.png
deleted file mode 100644
index 0a18be32..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-disabled@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-disabled@4x.9.png
deleted file mode 100644
index f60c994d..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-checked.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted.9.png
deleted file mode 100644
index a76e7b86..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted@2x.9.png
deleted file mode 100644
index 58445d50..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted@3x.9.png
deleted file mode 100644
index 0a18be32..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-highlighted@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-highlighted@4x.9.png
deleted file mode 100644
index f60c994d..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-hovered.9.png b/src/imports/controls/imagine/images/button-background-flat-hovered.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-hovered@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-hovered@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-hovered@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-hovered@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-hovered@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-hovered@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-pressed.9.png b/src/imports/controls/imagine/images/button-background-flat-pressed.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-pressed@2x.9.png b/src/imports/controls/imagine/images/button-background-flat-pressed@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-pressed@3x.9.png b/src/imports/controls/imagine/images/button-background-flat-pressed@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat-pressed@4x.9.png b/src/imports/controls/imagine/images/button-background-flat-pressed@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-flat-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat.9.png b/src/imports/controls/imagine/images/button-background-flat.9.png
deleted file mode 100644
index a76e7b86..00000000
--- a/src/imports/controls/imagine/images/button-background-flat.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat@2x.9.png b/src/imports/controls/imagine/images/button-background-flat@2x.9.png
deleted file mode 100644
index 58445d50..00000000
--- a/src/imports/controls/imagine/images/button-background-flat@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat@3x.9.png b/src/imports/controls/imagine/images/button-background-flat@3x.9.png
deleted file mode 100644
index 0a18be32..00000000
--- a/src/imports/controls/imagine/images/button-background-flat@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-flat@4x.9.png b/src/imports/controls/imagine/images/button-background-flat@4x.9.png
deleted file mode 100644
index f60c994d..00000000
--- a/src/imports/controls/imagine/images/button-background-flat@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-focused.9.png b/src/imports/controls/imagine/images/button-background-focused.9.png
deleted file mode 100644
index 04573ce4..00000000
--- a/src/imports/controls/imagine/images/button-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-focused@2x.9.png b/src/imports/controls/imagine/images/button-background-focused@2x.9.png
deleted file mode 100644
index ad25d378..00000000
--- a/src/imports/controls/imagine/images/button-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-focused@3x.9.png b/src/imports/controls/imagine/images/button-background-focused@3x.9.png
deleted file mode 100644
index 2f599e72..00000000
--- a/src/imports/controls/imagine/images/button-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-focused@4x.9.png b/src/imports/controls/imagine/images/button-background-focused@4x.9.png
deleted file mode 100644
index 6ac51521..00000000
--- a/src/imports/controls/imagine/images/button-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-checked.9.png b/src/imports/controls/imagine/images/button-background-highlighted-checked.9.png
deleted file mode 100644
index d8803419..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-checked@2x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-checked@2x.9.png
deleted file mode 100644
index 09cae1c0..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-checked@3x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-checked@3x.9.png
deleted file mode 100644
index b37485bb..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-checked@4x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-checked@4x.9.png
deleted file mode 100644
index d4991f75..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-disabled.9.png b/src/imports/controls/imagine/images/button-background-highlighted-disabled.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-disabled@2x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-disabled@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-disabled@3x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-disabled@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-disabled@4x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-disabled@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-focused.9.png b/src/imports/controls/imagine/images/button-background-highlighted-focused.9.png
deleted file mode 100644
index 594e7446..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-focused@2x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-focused@2x.9.png
deleted file mode 100644
index ddd405a2..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-focused@3x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-focused@3x.9.png
deleted file mode 100644
index 085c233e..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-focused@4x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-focused@4x.9.png
deleted file mode 100644
index b9e4aa27..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-hovered.9.png b/src/imports/controls/imagine/images/button-background-highlighted-hovered.9.png
deleted file mode 100644
index 594e7446..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-hovered@2x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-hovered@2x.9.png
deleted file mode 100644
index ddd405a2..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-hovered@3x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-hovered@3x.9.png
deleted file mode 100644
index 085c233e..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-hovered@4x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-hovered@4x.9.png
deleted file mode 100644
index b9e4aa27..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-pressed.9.png b/src/imports/controls/imagine/images/button-background-highlighted-pressed.9.png
deleted file mode 100644
index d8803419..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-pressed@2x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-pressed@2x.9.png
deleted file mode 100644
index 09cae1c0..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-pressed@3x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-pressed@3x.9.png
deleted file mode 100644
index b37485bb..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted-pressed@4x.9.png b/src/imports/controls/imagine/images/button-background-highlighted-pressed@4x.9.png
deleted file mode 100644
index d4991f75..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted.9.png b/src/imports/controls/imagine/images/button-background-highlighted.9.png
deleted file mode 100644
index f214ba22..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted@2x.9.png b/src/imports/controls/imagine/images/button-background-highlighted@2x.9.png
deleted file mode 100644
index f363d8df..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted@3x.9.png b/src/imports/controls/imagine/images/button-background-highlighted@3x.9.png
deleted file mode 100644
index 65ed9ca9..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-highlighted@4x.9.png b/src/imports/controls/imagine/images/button-background-highlighted@4x.9.png
deleted file mode 100644
index 25be69ca..00000000
--- a/src/imports/controls/imagine/images/button-background-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-hovered.9.png b/src/imports/controls/imagine/images/button-background-hovered.9.png
deleted file mode 100644
index 04573ce4..00000000
--- a/src/imports/controls/imagine/images/button-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-hovered@2x.9.png b/src/imports/controls/imagine/images/button-background-hovered@2x.9.png
deleted file mode 100644
index ad25d378..00000000
--- a/src/imports/controls/imagine/images/button-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-hovered@3x.9.png b/src/imports/controls/imagine/images/button-background-hovered@3x.9.png
deleted file mode 100644
index 2f599e72..00000000
--- a/src/imports/controls/imagine/images/button-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-hovered@4x.9.png b/src/imports/controls/imagine/images/button-background-hovered@4x.9.png
deleted file mode 100644
index 6ac51521..00000000
--- a/src/imports/controls/imagine/images/button-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-pressed.9.png b/src/imports/controls/imagine/images/button-background-pressed.9.png
deleted file mode 100644
index 3ca06e6c..00000000
--- a/src/imports/controls/imagine/images/button-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-pressed@2x.9.png b/src/imports/controls/imagine/images/button-background-pressed@2x.9.png
deleted file mode 100644
index 0afc3dea..00000000
--- a/src/imports/controls/imagine/images/button-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-pressed@3x.9.png b/src/imports/controls/imagine/images/button-background-pressed@3x.9.png
deleted file mode 100644
index 348687ad..00000000
--- a/src/imports/controls/imagine/images/button-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background-pressed@4x.9.png b/src/imports/controls/imagine/images/button-background-pressed@4x.9.png
deleted file mode 100644
index 4dff0ba8..00000000
--- a/src/imports/controls/imagine/images/button-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background.9.png b/src/imports/controls/imagine/images/button-background.9.png
deleted file mode 100644
index 053da917..00000000
--- a/src/imports/controls/imagine/images/button-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background@2x.9.png b/src/imports/controls/imagine/images/button-background@2x.9.png
deleted file mode 100644
index 471940f1..00000000
--- a/src/imports/controls/imagine/images/button-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background@3x.9.png b/src/imports/controls/imagine/images/button-background@3x.9.png
deleted file mode 100644
index 06155e8a..00000000
--- a/src/imports/controls/imagine/images/button-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/button-background@4x.9.png b/src/imports/controls/imagine/images/button-background@4x.9.png
deleted file mode 100644
index 7d776e51..00000000
--- a/src/imports/controls/imagine/images/button-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-focused.png
deleted file mode 100644
index f22ebf09..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@2x.png
deleted file mode 100644
index fd3080a1..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@3x.png
deleted file mode 100644
index 6393373f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@4x.png
deleted file mode 100644
index 32dedb7f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered.png
deleted file mode 100644
index f22ebf09..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@2x.png
deleted file mode 100644
index fd3080a1..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@3x.png
deleted file mode 100644
index 6393373f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@4x.png
deleted file mode 100644
index 32dedb7f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed.png
deleted file mode 100644
index 846416aa..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@2x.png
deleted file mode 100644
index bc85bf94..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@3x.png
deleted file mode 100644
index 17ef9e58..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@4x.png
deleted file mode 100644
index 7e9dd750..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked.png b/src/imports/controls/imagine/images/checkbox-indicator-checked.png
deleted file mode 100644
index f06cc5f6..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked@2x.png
deleted file mode 100644
index 3db78a17..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked@3x.png
deleted file mode 100644
index eadb5968..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-checked@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-checked@4x.png
deleted file mode 100644
index 9bdfac8a..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-disabled.png b/src/imports/controls/imagine/images/checkbox-indicator-disabled.png
deleted file mode 100644
index a8305968..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-disabled@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-disabled@2x.png
deleted file mode 100644
index e8046c5e..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-disabled@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-disabled@3x.png
deleted file mode 100644
index d44111bb..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-disabled@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-disabled@4x.png
deleted file mode 100644
index 24fa0c0d..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-focused.png b/src/imports/controls/imagine/images/checkbox-indicator-focused.png
deleted file mode 100644
index 1c598c1f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-focused@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-focused@2x.png
deleted file mode 100644
index 31ff320e..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-focused@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-focused@3x.png
deleted file mode 100644
index 15a1b487..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-focused@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-focused@4x.png
deleted file mode 100644
index db11c0c1..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-hovered.png b/src/imports/controls/imagine/images/checkbox-indicator-hovered.png
deleted file mode 100644
index 1c598c1f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-hovered@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-hovered@2x.png
deleted file mode 100644
index 31ff320e..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-hovered@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-hovered@3x.png
deleted file mode 100644
index 15a1b487..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-hovered@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-hovered@4x.png
deleted file mode 100644
index db11c0c1..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused.png
deleted file mode 100644
index 23c8197a..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@2x.png
deleted file mode 100644
index 046a0e6c..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@3x.png
deleted file mode 100644
index 890b4c66..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@4x.png
deleted file mode 100644
index 1dcc73c9..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered.png
deleted file mode 100644
index 23c8197a..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@2x.png
deleted file mode 100644
index 046a0e6c..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@3x.png
deleted file mode 100644
index 890b4c66..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@4x.png
deleted file mode 100644
index 1dcc73c9..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed.png
deleted file mode 100644
index bdd3b6f7..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@2x.png
deleted file mode 100644
index 8e5e3478..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@3x.png
deleted file mode 100644
index aa60fac0..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@4x.png
deleted file mode 100644
index 98c43e17..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked.png
deleted file mode 100644
index 9d09b33b..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@2x.png
deleted file mode 100644
index bf4ee4b8..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@3x.png
deleted file mode 100644
index 6726df07..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@4x.png
deleted file mode 100644
index 400daa58..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-partially-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-pressed.png b/src/imports/controls/imagine/images/checkbox-indicator-pressed.png
deleted file mode 100644
index e4f02db1..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-pressed@2x.png b/src/imports/controls/imagine/images/checkbox-indicator-pressed@2x.png
deleted file mode 100644
index e2342547..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-pressed@3x.png b/src/imports/controls/imagine/images/checkbox-indicator-pressed@3x.png
deleted file mode 100644
index 8ae24d75..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator-pressed@4x.png b/src/imports/controls/imagine/images/checkbox-indicator-pressed@4x.png
deleted file mode 100644
index 04a32370..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator.png b/src/imports/controls/imagine/images/checkbox-indicator.png
deleted file mode 100644
index d7b4c6d1..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator@2x.png b/src/imports/controls/imagine/images/checkbox-indicator@2x.png
deleted file mode 100644
index 0ae3fa8f..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator@3x.png b/src/imports/controls/imagine/images/checkbox-indicator@3x.png
deleted file mode 100644
index f8de503c..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkbox-indicator@4x.png b/src/imports/controls/imagine/images/checkbox-indicator@4x.png
deleted file mode 100644
index 4f16042d..00000000
--- a/src/imports/controls/imagine/images/checkbox-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-disabled.9.png b/src/imports/controls/imagine/images/checkdelegate-background-disabled.9.png
deleted file mode 100644
index 4b56fe35..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-disabled@2x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-disabled@2x.9.png
deleted file mode 100644
index 34edef58..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-disabled@3x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-disabled@3x.9.png
deleted file mode 100644
index dd2cc6ba..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-disabled@4x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-disabled@4x.9.png
deleted file mode 100644
index b7890a3c..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-focused.9.png b/src/imports/controls/imagine/images/checkdelegate-background-focused.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-focused@2x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-focused@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-focused@3x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-focused@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-focused@4x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-focused@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-highlighted.9.png b/src/imports/controls/imagine/images/checkdelegate-background-highlighted.9.png
deleted file mode 100644
index 32847cfa..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-highlighted@2x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-highlighted@2x.9.png
deleted file mode 100644
index 126fcb29..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-highlighted@3x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-highlighted@3x.9.png
deleted file mode 100644
index 22b7c9f2..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-highlighted@4x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-highlighted@4x.9.png
deleted file mode 100644
index 4e67f310..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-hovered.9.png b/src/imports/controls/imagine/images/checkdelegate-background-hovered.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-hovered@2x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-hovered@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-hovered@3x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-hovered@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-hovered@4x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-hovered@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-pressed.9.png b/src/imports/controls/imagine/images/checkdelegate-background-pressed.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-pressed@2x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-pressed@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-pressed@3x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-pressed@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background-pressed@4x.9.png b/src/imports/controls/imagine/images/checkdelegate-background-pressed@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background.9.png b/src/imports/controls/imagine/images/checkdelegate-background.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background@2x.9.png b/src/imports/controls/imagine/images/checkdelegate-background@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background@3x.9.png b/src/imports/controls/imagine/images/checkdelegate-background@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-background@4x.9.png b/src/imports/controls/imagine/images/checkdelegate-background@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused.png
deleted file mode 100644
index f22ebf09..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@2x.png
deleted file mode 100644
index fd3080a1..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@3x.png
deleted file mode 100644
index 6393373f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@4x.png
deleted file mode 100644
index 32dedb7f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered.png
deleted file mode 100644
index f22ebf09..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@2x.png
deleted file mode 100644
index fd3080a1..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@3x.png
deleted file mode 100644
index 6393373f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@4x.png
deleted file mode 100644
index 32dedb7f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed.png
deleted file mode 100644
index 846416aa..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@2x.png
deleted file mode 100644
index bc85bf94..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@3x.png
deleted file mode 100644
index 17ef9e58..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@4x.png
deleted file mode 100644
index 7e9dd750..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked.png
deleted file mode 100644
index f06cc5f6..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked@2x.png
deleted file mode 100644
index 3db78a17..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked@3x.png
deleted file mode 100644
index eadb5968..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-checked@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-checked@4x.png
deleted file mode 100644
index 9bdfac8a..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled.png b/src/imports/controls/imagine/images/checkdelegate-indicator-disabled.png
deleted file mode 100644
index a8305968..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@2x.png
deleted file mode 100644
index e8046c5e..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@3x.png
deleted file mode 100644
index d44111bb..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@4x.png
deleted file mode 100644
index 24fa0c0d..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-focused.png b/src/imports/controls/imagine/images/checkdelegate-indicator-focused.png
deleted file mode 100644
index 1c598c1f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-focused@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-focused@2x.png
deleted file mode 100644
index 31ff320e..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-focused@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-focused@3x.png
deleted file mode 100644
index 15a1b487..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-focused@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-focused@4x.png
deleted file mode 100644
index db11c0c1..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered.png b/src/imports/controls/imagine/images/checkdelegate-indicator-hovered.png
deleted file mode 100644
index 1c598c1f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@2x.png
deleted file mode 100644
index 31ff320e..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@3x.png
deleted file mode 100644
index 15a1b487..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@4x.png
deleted file mode 100644
index db11c0c1..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused.png
deleted file mode 100644
index 23c8197a..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@2x.png
deleted file mode 100644
index 046a0e6c..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@3x.png
deleted file mode 100644
index 890b4c66..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@4x.png
deleted file mode 100644
index 1dcc73c9..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered.png
deleted file mode 100644
index 23c8197a..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@2x.png
deleted file mode 100644
index 046a0e6c..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@3x.png
deleted file mode 100644
index 890b4c66..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@4x.png
deleted file mode 100644
index 1dcc73c9..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed.png
deleted file mode 100644
index bdd3b6f7..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@2x.png
deleted file mode 100644
index 8e5e3478..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@3x.png
deleted file mode 100644
index aa60fac0..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@4x.png
deleted file mode 100644
index 98c43e17..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked.png
deleted file mode 100644
index 9d09b33b..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@2x.png
deleted file mode 100644
index bf4ee4b8..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@3x.png
deleted file mode 100644
index 6726df07..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@4x.png
deleted file mode 100644
index 400daa58..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-partially-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed.png b/src/imports/controls/imagine/images/checkdelegate-indicator-pressed.png
deleted file mode 100644
index e4f02db1..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@2x.png
deleted file mode 100644
index e2342547..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@3x.png
deleted file mode 100644
index 8ae24d75..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@4x.png
deleted file mode 100644
index 04a32370..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator.png b/src/imports/controls/imagine/images/checkdelegate-indicator.png
deleted file mode 100644
index d7b4c6d1..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator@2x.png b/src/imports/controls/imagine/images/checkdelegate-indicator@2x.png
deleted file mode 100644
index 0ae3fa8f..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator@3x.png b/src/imports/controls/imagine/images/checkdelegate-indicator@3x.png
deleted file mode 100644
index f8de503c..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/checkdelegate-indicator@4x.png b/src/imports/controls/imagine/images/checkdelegate-indicator@4x.png
deleted file mode 100644
index 4f16042d..00000000
--- a/src/imports/controls/imagine/images/checkdelegate-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-disabled.9.png b/src/imports/controls/imagine/images/combobox-background-disabled.9.png
deleted file mode 100644
index 695ccd71..00000000
--- a/src/imports/controls/imagine/images/combobox-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-disabled@2x.9.png b/src/imports/controls/imagine/images/combobox-background-disabled@2x.9.png
deleted file mode 100644
index 10e8d681..00000000
--- a/src/imports/controls/imagine/images/combobox-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-disabled@3x.9.png b/src/imports/controls/imagine/images/combobox-background-disabled@3x.9.png
deleted file mode 100644
index 6297b4cf..00000000
--- a/src/imports/controls/imagine/images/combobox-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-disabled@4x.9.png b/src/imports/controls/imagine/images/combobox-background-disabled@4x.9.png
deleted file mode 100644
index 715c6cb4..00000000
--- a/src/imports/controls/imagine/images/combobox-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-disabled.9.png b/src/imports/controls/imagine/images/combobox-background-editable-disabled.9.png
deleted file mode 100644
index 49335bde..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-disabled@2x.9.png b/src/imports/controls/imagine/images/combobox-background-editable-disabled@2x.9.png
deleted file mode 100644
index 792ae742..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-disabled@3x.9.png b/src/imports/controls/imagine/images/combobox-background-editable-disabled@3x.9.png
deleted file mode 100644
index b391c100..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-disabled@4x.9.png b/src/imports/controls/imagine/images/combobox-background-editable-disabled@4x.9.png
deleted file mode 100644
index 51641c3e..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-focused.9.png b/src/imports/controls/imagine/images/combobox-background-editable-focused.9.png
deleted file mode 100644
index 6710bf1e..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-focused@2x.9.png b/src/imports/controls/imagine/images/combobox-background-editable-focused@2x.9.png
deleted file mode 100644
index d61bac87..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-focused@3x.9.png b/src/imports/controls/imagine/images/combobox-background-editable-focused@3x.9.png
deleted file mode 100644
index 380a6e37..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable-focused@4x.9.png b/src/imports/controls/imagine/images/combobox-background-editable-focused@4x.9.png
deleted file mode 100644
index 7d2e2cbb..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable.9.png b/src/imports/controls/imagine/images/combobox-background-editable.9.png
deleted file mode 100644
index f624616e..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable@2x.9.png b/src/imports/controls/imagine/images/combobox-background-editable@2x.9.png
deleted file mode 100644
index fbfa7fea..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable@3x.9.png b/src/imports/controls/imagine/images/combobox-background-editable@3x.9.png
deleted file mode 100644
index d67dda03..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-editable@4x.9.png b/src/imports/controls/imagine/images/combobox-background-editable@4x.9.png
deleted file mode 100644
index 5a24717a..00000000
--- a/src/imports/controls/imagine/images/combobox-background-editable@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-focused.9.png b/src/imports/controls/imagine/images/combobox-background-focused.9.png
deleted file mode 100644
index a44ad0a7..00000000
--- a/src/imports/controls/imagine/images/combobox-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-focused@2x.9.png b/src/imports/controls/imagine/images/combobox-background-focused@2x.9.png
deleted file mode 100644
index 80c8c612..00000000
--- a/src/imports/controls/imagine/images/combobox-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-focused@3x.9.png b/src/imports/controls/imagine/images/combobox-background-focused@3x.9.png
deleted file mode 100644
index dca2a6fe..00000000
--- a/src/imports/controls/imagine/images/combobox-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-focused@4x.9.png b/src/imports/controls/imagine/images/combobox-background-focused@4x.9.png
deleted file mode 100644
index f578a3bb..00000000
--- a/src/imports/controls/imagine/images/combobox-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-hovered.9.png b/src/imports/controls/imagine/images/combobox-background-hovered.9.png
deleted file mode 100644
index a44ad0a7..00000000
--- a/src/imports/controls/imagine/images/combobox-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-hovered@2x.9.png b/src/imports/controls/imagine/images/combobox-background-hovered@2x.9.png
deleted file mode 100644
index 80c8c612..00000000
--- a/src/imports/controls/imagine/images/combobox-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-hovered@3x.9.png b/src/imports/controls/imagine/images/combobox-background-hovered@3x.9.png
deleted file mode 100644
index dca2a6fe..00000000
--- a/src/imports/controls/imagine/images/combobox-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-hovered@4x.9.png b/src/imports/controls/imagine/images/combobox-background-hovered@4x.9.png
deleted file mode 100644
index f578a3bb..00000000
--- a/src/imports/controls/imagine/images/combobox-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-open.9.png b/src/imports/controls/imagine/images/combobox-background-open.9.png
deleted file mode 100644
index 00dad7f0..00000000
--- a/src/imports/controls/imagine/images/combobox-background-open.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-open@2x.9.png b/src/imports/controls/imagine/images/combobox-background-open@2x.9.png
deleted file mode 100644
index e7bff6c4..00000000
--- a/src/imports/controls/imagine/images/combobox-background-open@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-open@3x.9.png b/src/imports/controls/imagine/images/combobox-background-open@3x.9.png
deleted file mode 100644
index 96f4d58b..00000000
--- a/src/imports/controls/imagine/images/combobox-background-open@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-open@4x.9.png b/src/imports/controls/imagine/images/combobox-background-open@4x.9.png
deleted file mode 100644
index 7c65290a..00000000
--- a/src/imports/controls/imagine/images/combobox-background-open@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-pressed.9.png b/src/imports/controls/imagine/images/combobox-background-pressed.9.png
deleted file mode 100644
index 00dad7f0..00000000
--- a/src/imports/controls/imagine/images/combobox-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-pressed@2x.9.png b/src/imports/controls/imagine/images/combobox-background-pressed@2x.9.png
deleted file mode 100644
index e7bff6c4..00000000
--- a/src/imports/controls/imagine/images/combobox-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-pressed@3x.9.png b/src/imports/controls/imagine/images/combobox-background-pressed@3x.9.png
deleted file mode 100644
index 96f4d58b..00000000
--- a/src/imports/controls/imagine/images/combobox-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background-pressed@4x.9.png b/src/imports/controls/imagine/images/combobox-background-pressed@4x.9.png
deleted file mode 100644
index 7c65290a..00000000
--- a/src/imports/controls/imagine/images/combobox-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background.9.png b/src/imports/controls/imagine/images/combobox-background.9.png
deleted file mode 100644
index ff9be7f7..00000000
--- a/src/imports/controls/imagine/images/combobox-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background@2x.9.png b/src/imports/controls/imagine/images/combobox-background@2x.9.png
deleted file mode 100644
index bda0a45e..00000000
--- a/src/imports/controls/imagine/images/combobox-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background@3x.9.png b/src/imports/controls/imagine/images/combobox-background@3x.9.png
deleted file mode 100644
index c34beccf..00000000
--- a/src/imports/controls/imagine/images/combobox-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-background@4x.9.png b/src/imports/controls/imagine/images/combobox-background@4x.9.png
deleted file mode 100644
index 22d34bd5..00000000
--- a/src/imports/controls/imagine/images/combobox-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-disabled.png b/src/imports/controls/imagine/images/combobox-indicator-disabled.png
deleted file mode 100644
index cf4e0879..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-disabled@2x.png b/src/imports/controls/imagine/images/combobox-indicator-disabled@2x.png
deleted file mode 100644
index 74306ec7..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-disabled@3x.png b/src/imports/controls/imagine/images/combobox-indicator-disabled@3x.png
deleted file mode 100644
index d69fea5c..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-disabled@4x.png b/src/imports/controls/imagine/images/combobox-indicator-disabled@4x.png
deleted file mode 100644
index 9e63c449..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled.png b/src/imports/controls/imagine/images/combobox-indicator-editable-disabled.png
deleted file mode 100644
index 89f4efa2..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@2x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@2x.png
deleted file mode 100644
index e50ed17b..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@3x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@3x.png
deleted file mode 100644
index c82a5b2a..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@4x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@4x.png
deleted file mode 100644
index 6415ef59..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled.png
deleted file mode 100644
index f4e9b366..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@2x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@2x.png
deleted file mode 100644
index cdbc9773..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@3x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@3x.png
deleted file mode 100644
index fbb520b0..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@4x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@4x.png
deleted file mode 100644
index da6d1c24..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored.png
deleted file mode 100644
index 13a7a520..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@2x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@2x.png
deleted file mode 100644
index c8f74b13..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@3x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@3x.png
deleted file mode 100644
index a330edf3..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@4x.png b/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@4x.png
deleted file mode 100644
index 2acedf54..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable-mirrored@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable.png b/src/imports/controls/imagine/images/combobox-indicator-editable.png
deleted file mode 100644
index a3899a11..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable@2x.png b/src/imports/controls/imagine/images/combobox-indicator-editable@2x.png
deleted file mode 100644
index 2cec8359..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable@3x.png b/src/imports/controls/imagine/images/combobox-indicator-editable@3x.png
deleted file mode 100644
index 23911865..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator-editable@4x.png b/src/imports/controls/imagine/images/combobox-indicator-editable@4x.png
deleted file mode 100644
index 8095e11b..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator-editable@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator.png b/src/imports/controls/imagine/images/combobox-indicator.png
deleted file mode 100644
index 4859714d..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator@2x.png b/src/imports/controls/imagine/images/combobox-indicator@2x.png
deleted file mode 100644
index d492a9d4..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator@3x.png b/src/imports/controls/imagine/images/combobox-indicator@3x.png
deleted file mode 100644
index bf2e4f78..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-indicator@4x.png b/src/imports/controls/imagine/images/combobox-indicator@4x.png
deleted file mode 100644
index 5c107a07..00000000
--- a/src/imports/controls/imagine/images/combobox-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-popup.9.png b/src/imports/controls/imagine/images/combobox-popup.9.png
deleted file mode 100644
index 646419d1..00000000
--- a/src/imports/controls/imagine/images/combobox-popup.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-popup@2x.9.png b/src/imports/controls/imagine/images/combobox-popup@2x.9.png
deleted file mode 100644
index 9bce26ac..00000000
--- a/src/imports/controls/imagine/images/combobox-popup@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-popup@3x.9.png b/src/imports/controls/imagine/images/combobox-popup@3x.9.png
deleted file mode 100644
index 1857d8e0..00000000
--- a/src/imports/controls/imagine/images/combobox-popup@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/combobox-popup@4x.9.png b/src/imports/controls/imagine/images/combobox-popup@4x.9.png
deleted file mode 100644
index b2132f49..00000000
--- a/src/imports/controls/imagine/images/combobox-popup@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-focused.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-focused.9.png
deleted file mode 100644
index 829d68a9..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-focused@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-focused@2x.9.png
deleted file mode 100644
index bf375d43..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-focused@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-focused@3x.9.png
deleted file mode 100644
index 8759c337..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-focused@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-focused@4x.9.png
deleted file mode 100644
index 7b8f3616..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-hovered.9.png
deleted file mode 100644
index 829d68a9..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@2x.9.png
deleted file mode 100644
index bf375d43..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@3x.9.png
deleted file mode 100644
index 8759c337..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@4x.9.png
deleted file mode 100644
index 7b8f3616..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked.9.png
deleted file mode 100644
index 3ca06e6c..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked@2x.9.png
deleted file mode 100644
index 0afc3dea..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked@3x.9.png
deleted file mode 100644
index 348687ad..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-checked@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-checked@4x.9.png
deleted file mode 100644
index 4dff0ba8..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled-checked.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled.9.png
deleted file mode 100644
index c06fd7cc..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled@2x.9.png
deleted file mode 100644
index b86a13cc..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled@3x.9.png
deleted file mode 100644
index 7fa4dd83..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-disabled@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-disabled@4x.9.png
deleted file mode 100644
index 676bb0dd..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-focused.9.png b/src/imports/controls/imagine/images/delaybutton-background-focused.9.png
deleted file mode 100644
index 5f304316..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-focused@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-focused@2x.9.png
deleted file mode 100644
index eaf07709..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-focused@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-focused@3x.9.png
deleted file mode 100644
index 405fe421..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-focused@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-focused@4x.9.png
deleted file mode 100644
index f5582735..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-hovered.9.png b/src/imports/controls/imagine/images/delaybutton-background-hovered.9.png
deleted file mode 100644
index 04573ce4..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-hovered@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-hovered@2x.9.png
deleted file mode 100644
index ad25d378..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-hovered@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-hovered@3x.9.png
deleted file mode 100644
index 2f599e72..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-hovered@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-hovered@4x.9.png
deleted file mode 100644
index 6ac51521..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-pressed.9.png b/src/imports/controls/imagine/images/delaybutton-background-pressed.9.png
deleted file mode 100644
index 3ca06e6c..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-pressed@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background-pressed@2x.9.png
deleted file mode 100644
index 0afc3dea..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-pressed@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background-pressed@3x.9.png
deleted file mode 100644
index 348687ad..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background-pressed@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background-pressed@4x.9.png
deleted file mode 100644
index 4dff0ba8..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background.9.png b/src/imports/controls/imagine/images/delaybutton-background.9.png
deleted file mode 100644
index 053da917..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background@2x.9.png b/src/imports/controls/imagine/images/delaybutton-background@2x.9.png
deleted file mode 100644
index 471940f1..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background@3x.9.png b/src/imports/controls/imagine/images/delaybutton-background@3x.9.png
deleted file mode 100644
index 06155e8a..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-background@4x.9.png b/src/imports/controls/imagine/images/delaybutton-background@4x.9.png
deleted file mode 100644
index 7d776e51..00000000
--- a/src/imports/controls/imagine/images/delaybutton-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-mask.9.png b/src/imports/controls/imagine/images/delaybutton-mask.9.png
deleted file mode 100644
index 06864c1b..00000000
--- a/src/imports/controls/imagine/images/delaybutton-mask.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-mask@2x.9.png b/src/imports/controls/imagine/images/delaybutton-mask@2x.9.png
deleted file mode 100644
index 808d25d3..00000000
--- a/src/imports/controls/imagine/images/delaybutton-mask@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-mask@3x.9.png b/src/imports/controls/imagine/images/delaybutton-mask@3x.9.png
deleted file mode 100644
index 4efdcd05..00000000
--- a/src/imports/controls/imagine/images/delaybutton-mask@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-mask@4x.9.png b/src/imports/controls/imagine/images/delaybutton-mask@4x.9.png
deleted file mode 100644
index ec246a02..00000000
--- a/src/imports/controls/imagine/images/delaybutton-mask@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress-disabled.9.png b/src/imports/controls/imagine/images/delaybutton-progress-disabled.9.png
deleted file mode 100644
index bdf56055..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress-disabled@2x.9.png b/src/imports/controls/imagine/images/delaybutton-progress-disabled@2x.9.png
deleted file mode 100644
index a58c93a1..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress-disabled@3x.9.png b/src/imports/controls/imagine/images/delaybutton-progress-disabled@3x.9.png
deleted file mode 100644
index 259f68ea..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress-disabled@4x.9.png b/src/imports/controls/imagine/images/delaybutton-progress-disabled@4x.9.png
deleted file mode 100644
index a075d444..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress.9.png b/src/imports/controls/imagine/images/delaybutton-progress.9.png
deleted file mode 100644
index 0848cbcd..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress@2x.9.png b/src/imports/controls/imagine/images/delaybutton-progress@2x.9.png
deleted file mode 100644
index 1a376399..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress@3x.9.png b/src/imports/controls/imagine/images/delaybutton-progress@3x.9.png
deleted file mode 100644
index 704ab464..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/delaybutton-progress@4x.9.png b/src/imports/controls/imagine/images/delaybutton-progress@4x.9.png
deleted file mode 100644
index ec568ce0..00000000
--- a/src/imports/controls/imagine/images/delaybutton-progress@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-disabled.png b/src/imports/controls/imagine/images/dial-background-disabled.png
deleted file mode 100644
index eaea9591..00000000
--- a/src/imports/controls/imagine/images/dial-background-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-disabled@2x.png b/src/imports/controls/imagine/images/dial-background-disabled@2x.png
deleted file mode 100644
index de2d3fbe..00000000
--- a/src/imports/controls/imagine/images/dial-background-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-disabled@3x.png b/src/imports/controls/imagine/images/dial-background-disabled@3x.png
deleted file mode 100644
index 15d53353..00000000
--- a/src/imports/controls/imagine/images/dial-background-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-disabled@4x.png b/src/imports/controls/imagine/images/dial-background-disabled@4x.png
deleted file mode 100644
index d6708c83..00000000
--- a/src/imports/controls/imagine/images/dial-background-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-focused.png b/src/imports/controls/imagine/images/dial-background-focused.png
deleted file mode 100644
index c7c4f8ad..00000000
--- a/src/imports/controls/imagine/images/dial-background-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-focused@2x.png b/src/imports/controls/imagine/images/dial-background-focused@2x.png
deleted file mode 100644
index 01febba4..00000000
--- a/src/imports/controls/imagine/images/dial-background-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-focused@3x.png b/src/imports/controls/imagine/images/dial-background-focused@3x.png
deleted file mode 100644
index 2f4533ca..00000000
--- a/src/imports/controls/imagine/images/dial-background-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background-focused@4x.png b/src/imports/controls/imagine/images/dial-background-focused@4x.png
deleted file mode 100644
index 806a784d..00000000
--- a/src/imports/controls/imagine/images/dial-background-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background.png b/src/imports/controls/imagine/images/dial-background.png
deleted file mode 100644
index 7836be2d..00000000
--- a/src/imports/controls/imagine/images/dial-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background@2x.png b/src/imports/controls/imagine/images/dial-background@2x.png
deleted file mode 100644
index b80fb882..00000000
--- a/src/imports/controls/imagine/images/dial-background@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background@3x.png b/src/imports/controls/imagine/images/dial-background@3x.png
deleted file mode 100644
index 76dd0ba5..00000000
--- a/src/imports/controls/imagine/images/dial-background@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-background@4x.png b/src/imports/controls/imagine/images/dial-background@4x.png
deleted file mode 100644
index 774d91f9..00000000
--- a/src/imports/controls/imagine/images/dial-background@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-disabled.png b/src/imports/controls/imagine/images/dial-handle-disabled.png
deleted file mode 100644
index e7ecf615..00000000
--- a/src/imports/controls/imagine/images/dial-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-disabled@2x.png b/src/imports/controls/imagine/images/dial-handle-disabled@2x.png
deleted file mode 100644
index 5bf4a433..00000000
--- a/src/imports/controls/imagine/images/dial-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-disabled@3x.png b/src/imports/controls/imagine/images/dial-handle-disabled@3x.png
deleted file mode 100644
index 8fc3d43c..00000000
--- a/src/imports/controls/imagine/images/dial-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-disabled@4x.png b/src/imports/controls/imagine/images/dial-handle-disabled@4x.png
deleted file mode 100644
index 6356c101..00000000
--- a/src/imports/controls/imagine/images/dial-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-hovered.png b/src/imports/controls/imagine/images/dial-handle-focused-hovered.png
deleted file mode 100644
index a64faa7b..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-hovered@2x.png b/src/imports/controls/imagine/images/dial-handle-focused-hovered@2x.png
deleted file mode 100644
index 3fb2b8d4..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-hovered@3x.png b/src/imports/controls/imagine/images/dial-handle-focused-hovered@3x.png
deleted file mode 100644
index 05d5b798..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-hovered@4x.png b/src/imports/controls/imagine/images/dial-handle-focused-hovered@4x.png
deleted file mode 100644
index eecba9d6..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-pressed.png b/src/imports/controls/imagine/images/dial-handle-focused-pressed.png
deleted file mode 100644
index e310a90d..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-pressed@2x.png b/src/imports/controls/imagine/images/dial-handle-focused-pressed@2x.png
deleted file mode 100644
index 770572a8..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-pressed@3x.png b/src/imports/controls/imagine/images/dial-handle-focused-pressed@3x.png
deleted file mode 100644
index b58f1909..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused-pressed@4x.png b/src/imports/controls/imagine/images/dial-handle-focused-pressed@4x.png
deleted file mode 100644
index 2c71a0ac..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused.png b/src/imports/controls/imagine/images/dial-handle-focused.png
deleted file mode 100644
index 21969bc5..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused@2x.png b/src/imports/controls/imagine/images/dial-handle-focused@2x.png
deleted file mode 100644
index 753b6ce7..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused@3x.png b/src/imports/controls/imagine/images/dial-handle-focused@3x.png
deleted file mode 100644
index 00232d38..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-focused@4x.png b/src/imports/controls/imagine/images/dial-handle-focused@4x.png
deleted file mode 100644
index 834850d6..00000000
--- a/src/imports/controls/imagine/images/dial-handle-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-hovered.png b/src/imports/controls/imagine/images/dial-handle-hovered.png
deleted file mode 100644
index ad76fda7..00000000
--- a/src/imports/controls/imagine/images/dial-handle-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-hovered@2x.png b/src/imports/controls/imagine/images/dial-handle-hovered@2x.png
deleted file mode 100644
index 215097a3..00000000
--- a/src/imports/controls/imagine/images/dial-handle-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-hovered@3x.png b/src/imports/controls/imagine/images/dial-handle-hovered@3x.png
deleted file mode 100644
index 6653f555..00000000
--- a/src/imports/controls/imagine/images/dial-handle-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-hovered@4x.png b/src/imports/controls/imagine/images/dial-handle-hovered@4x.png
deleted file mode 100644
index 213e27b3..00000000
--- a/src/imports/controls/imagine/images/dial-handle-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-pressed.png b/src/imports/controls/imagine/images/dial-handle-pressed.png
deleted file mode 100644
index 9f8619c0..00000000
--- a/src/imports/controls/imagine/images/dial-handle-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-pressed@2x.png b/src/imports/controls/imagine/images/dial-handle-pressed@2x.png
deleted file mode 100644
index 78a9b9fe..00000000
--- a/src/imports/controls/imagine/images/dial-handle-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-pressed@3x.png b/src/imports/controls/imagine/images/dial-handle-pressed@3x.png
deleted file mode 100644
index 0d6d1e7e..00000000
--- a/src/imports/controls/imagine/images/dial-handle-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle-pressed@4x.png b/src/imports/controls/imagine/images/dial-handle-pressed@4x.png
deleted file mode 100644
index 1673343a..00000000
--- a/src/imports/controls/imagine/images/dial-handle-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle.png b/src/imports/controls/imagine/images/dial-handle.png
deleted file mode 100644
index b4ad6b9a..00000000
--- a/src/imports/controls/imagine/images/dial-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle@2x.png b/src/imports/controls/imagine/images/dial-handle@2x.png
deleted file mode 100644
index 0e6147d9..00000000
--- a/src/imports/controls/imagine/images/dial-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle@3x.png b/src/imports/controls/imagine/images/dial-handle@3x.png
deleted file mode 100644
index 24ff1519..00000000
--- a/src/imports/controls/imagine/images/dial-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dial-handle@4x.png b/src/imports/controls/imagine/images/dial-handle@4x.png
deleted file mode 100644
index c6b82488..00000000
--- a/src/imports/controls/imagine/images/dial-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-background.9.png b/src/imports/controls/imagine/images/dialog-background.9.png
deleted file mode 100644
index 495d2f0d..00000000
--- a/src/imports/controls/imagine/images/dialog-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-background@2x.9.png b/src/imports/controls/imagine/images/dialog-background@2x.9.png
deleted file mode 100644
index ba0df866..00000000
--- a/src/imports/controls/imagine/images/dialog-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-background@3x.9.png b/src/imports/controls/imagine/images/dialog-background@3x.9.png
deleted file mode 100644
index e71856a5..00000000
--- a/src/imports/controls/imagine/images/dialog-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-background@4x.9.png b/src/imports/controls/imagine/images/dialog-background@4x.9.png
deleted file mode 100644
index d756cda5..00000000
--- a/src/imports/controls/imagine/images/dialog-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay-modal.png b/src/imports/controls/imagine/images/dialog-overlay-modal.png
deleted file mode 100644
index 296e914a..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay-modal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay-modal@2x.png b/src/imports/controls/imagine/images/dialog-overlay-modal@2x.png
deleted file mode 100644
index 10c89300..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay-modal@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay-modal@3x.png b/src/imports/controls/imagine/images/dialog-overlay-modal@3x.png
deleted file mode 100644
index f65996e9..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay-modal@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay-modal@4x.png b/src/imports/controls/imagine/images/dialog-overlay-modal@4x.png
deleted file mode 100644
index a586f381..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay-modal@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay.png b/src/imports/controls/imagine/images/dialog-overlay.png
deleted file mode 100644
index e7175b46..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay@2x.png b/src/imports/controls/imagine/images/dialog-overlay@2x.png
deleted file mode 100644
index db6566e0..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay@3x.png b/src/imports/controls/imagine/images/dialog-overlay@3x.png
deleted file mode 100644
index 140e4692..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialog-overlay@4x.png b/src/imports/controls/imagine/images/dialog-overlay@4x.png
deleted file mode 100644
index 5115c28a..00000000
--- a/src/imports/controls/imagine/images/dialog-overlay@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialogbuttonbox-background.9.png b/src/imports/controls/imagine/images/dialogbuttonbox-background.9.png
deleted file mode 100644
index 347300bb..00000000
--- a/src/imports/controls/imagine/images/dialogbuttonbox-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialogbuttonbox-background@2x.9.png b/src/imports/controls/imagine/images/dialogbuttonbox-background@2x.9.png
deleted file mode 100644
index 8eddd6f4..00000000
--- a/src/imports/controls/imagine/images/dialogbuttonbox-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialogbuttonbox-background@3x.9.png b/src/imports/controls/imagine/images/dialogbuttonbox-background@3x.9.png
deleted file mode 100644
index d4a407ba..00000000
--- a/src/imports/controls/imagine/images/dialogbuttonbox-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/dialogbuttonbox-background@4x.9.png b/src/imports/controls/imagine/images/dialogbuttonbox-background@4x.9.png
deleted file mode 100644
index 7af78edb..00000000
--- a/src/imports/controls/imagine/images/dialogbuttonbox-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-bottom.9.png b/src/imports/controls/imagine/images/drawer-background-bottom.9.png
deleted file mode 100644
index d33adad1..00000000
--- a/src/imports/controls/imagine/images/drawer-background-bottom.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-bottom@2x.9.png b/src/imports/controls/imagine/images/drawer-background-bottom@2x.9.png
deleted file mode 100644
index c2becf9e..00000000
--- a/src/imports/controls/imagine/images/drawer-background-bottom@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-bottom@3x.9.png b/src/imports/controls/imagine/images/drawer-background-bottom@3x.9.png
deleted file mode 100644
index 52439206..00000000
--- a/src/imports/controls/imagine/images/drawer-background-bottom@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-bottom@4x.9.png b/src/imports/controls/imagine/images/drawer-background-bottom@4x.9.png
deleted file mode 100644
index abf6964e..00000000
--- a/src/imports/controls/imagine/images/drawer-background-bottom@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-left.9.png b/src/imports/controls/imagine/images/drawer-background-left.9.png
deleted file mode 100644
index 95485ea1..00000000
--- a/src/imports/controls/imagine/images/drawer-background-left.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-left@2x.9.png b/src/imports/controls/imagine/images/drawer-background-left@2x.9.png
deleted file mode 100644
index 9060bf37..00000000
--- a/src/imports/controls/imagine/images/drawer-background-left@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-left@3x.9.png b/src/imports/controls/imagine/images/drawer-background-left@3x.9.png
deleted file mode 100644
index 70e39930..00000000
--- a/src/imports/controls/imagine/images/drawer-background-left@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-left@4x.9.png b/src/imports/controls/imagine/images/drawer-background-left@4x.9.png
deleted file mode 100644
index 8f26bbf0..00000000
--- a/src/imports/controls/imagine/images/drawer-background-left@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-right.9.png b/src/imports/controls/imagine/images/drawer-background-right.9.png
deleted file mode 100644
index 9951229e..00000000
--- a/src/imports/controls/imagine/images/drawer-background-right.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-right@2x.9.png b/src/imports/controls/imagine/images/drawer-background-right@2x.9.png
deleted file mode 100644
index 850811c6..00000000
--- a/src/imports/controls/imagine/images/drawer-background-right@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-right@3x.9.png b/src/imports/controls/imagine/images/drawer-background-right@3x.9.png
deleted file mode 100644
index a955e241..00000000
--- a/src/imports/controls/imagine/images/drawer-background-right@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-right@4x.9.png b/src/imports/controls/imagine/images/drawer-background-right@4x.9.png
deleted file mode 100644
index 51011c8c..00000000
--- a/src/imports/controls/imagine/images/drawer-background-right@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-top.9.png b/src/imports/controls/imagine/images/drawer-background-top.9.png
deleted file mode 100644
index 8685246c..00000000
--- a/src/imports/controls/imagine/images/drawer-background-top.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-top@2x.9.png b/src/imports/controls/imagine/images/drawer-background-top@2x.9.png
deleted file mode 100644
index b4ebf860..00000000
--- a/src/imports/controls/imagine/images/drawer-background-top@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-top@3x.9.png b/src/imports/controls/imagine/images/drawer-background-top@3x.9.png
deleted file mode 100644
index 2075c6eb..00000000
--- a/src/imports/controls/imagine/images/drawer-background-top@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-background-top@4x.9.png b/src/imports/controls/imagine/images/drawer-background-top@4x.9.png
deleted file mode 100644
index fad0cc13..00000000
--- a/src/imports/controls/imagine/images/drawer-background-top@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay-modal.png b/src/imports/controls/imagine/images/drawer-overlay-modal.png
deleted file mode 100644
index 296e914a..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay-modal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay-modal@2x.png b/src/imports/controls/imagine/images/drawer-overlay-modal@2x.png
deleted file mode 100644
index 10c89300..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay-modal@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay-modal@3x.png b/src/imports/controls/imagine/images/drawer-overlay-modal@3x.png
deleted file mode 100644
index f65996e9..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay-modal@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay-modal@4x.png b/src/imports/controls/imagine/images/drawer-overlay-modal@4x.png
deleted file mode 100644
index a586f381..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay-modal@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay.png b/src/imports/controls/imagine/images/drawer-overlay.png
deleted file mode 100644
index e7175b46..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay@2x.png b/src/imports/controls/imagine/images/drawer-overlay@2x.png
deleted file mode 100644
index db6566e0..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay@3x.png b/src/imports/controls/imagine/images/drawer-overlay@3x.png
deleted file mode 100644
index 140e4692..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/drawer-overlay@4x.png b/src/imports/controls/imagine/images/drawer-overlay@4x.png
deleted file mode 100644
index 5115c28a..00000000
--- a/src/imports/controls/imagine/images/drawer-overlay@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/frame-background.9.png b/src/imports/controls/imagine/images/frame-background.9.png
deleted file mode 100644
index 3d3ae702..00000000
--- a/src/imports/controls/imagine/images/frame-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/frame-background@2x.9.png b/src/imports/controls/imagine/images/frame-background@2x.9.png
deleted file mode 100644
index 8df38fe9..00000000
--- a/src/imports/controls/imagine/images/frame-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/frame-background@3x.9.png b/src/imports/controls/imagine/images/frame-background@3x.9.png
deleted file mode 100644
index 41012873..00000000
--- a/src/imports/controls/imagine/images/frame-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/frame-background@4x.9.png b/src/imports/controls/imagine/images/frame-background@4x.9.png
deleted file mode 100644
index 7da718de..00000000
--- a/src/imports/controls/imagine/images/frame-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-background.9.png b/src/imports/controls/imagine/images/groupbox-background.9.png
deleted file mode 100644
index 3d3ae702..00000000
--- a/src/imports/controls/imagine/images/groupbox-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-background@2x.9.png b/src/imports/controls/imagine/images/groupbox-background@2x.9.png
deleted file mode 100644
index 8df38fe9..00000000
--- a/src/imports/controls/imagine/images/groupbox-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-background@3x.9.png b/src/imports/controls/imagine/images/groupbox-background@3x.9.png
deleted file mode 100644
index 41012873..00000000
--- a/src/imports/controls/imagine/images/groupbox-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-background@4x.9.png b/src/imports/controls/imagine/images/groupbox-background@4x.9.png
deleted file mode 100644
index 7da718de..00000000
--- a/src/imports/controls/imagine/images/groupbox-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-title.9.png b/src/imports/controls/imagine/images/groupbox-title.9.png
deleted file mode 100644
index e7585354..00000000
--- a/src/imports/controls/imagine/images/groupbox-title.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-title@2x.9.png b/src/imports/controls/imagine/images/groupbox-title@2x.9.png
deleted file mode 100644
index 3b8e23e3..00000000
--- a/src/imports/controls/imagine/images/groupbox-title@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-title@3x.9.png b/src/imports/controls/imagine/images/groupbox-title@3x.9.png
deleted file mode 100644
index 7ed67b27..00000000
--- a/src/imports/controls/imagine/images/groupbox-title@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/groupbox-title@4x.9.png b/src/imports/controls/imagine/images/groupbox-title@4x.9.png
deleted file mode 100644
index 478bf1de..00000000
--- a/src/imports/controls/imagine/images/groupbox-title@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-disabled.9.png b/src/imports/controls/imagine/images/itemdelegate-background-disabled.9.png
deleted file mode 100644
index 4b56fe35..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-disabled@2x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-disabled@2x.9.png
deleted file mode 100644
index 34edef58..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-disabled@3x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-disabled@3x.9.png
deleted file mode 100644
index dd2cc6ba..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-disabled@4x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-disabled@4x.9.png
deleted file mode 100644
index b7890a3c..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-focused.9.png b/src/imports/controls/imagine/images/itemdelegate-background-focused.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-focused@2x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-focused@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-focused@3x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-focused@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-focused@4x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-focused@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-highlighted.9.png b/src/imports/controls/imagine/images/itemdelegate-background-highlighted.9.png
deleted file mode 100644
index 32847cfa..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-highlighted@2x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-highlighted@2x.9.png
deleted file mode 100644
index 126fcb29..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-highlighted@3x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-highlighted@3x.9.png
deleted file mode 100644
index 22b7c9f2..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-highlighted@4x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-highlighted@4x.9.png
deleted file mode 100644
index 4e67f310..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-hovered.9.png b/src/imports/controls/imagine/images/itemdelegate-background-hovered.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-hovered@2x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-hovered@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-hovered@3x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-hovered@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-hovered@4x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-hovered@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-pressed.9.png b/src/imports/controls/imagine/images/itemdelegate-background-pressed.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-pressed@2x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-pressed@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-pressed@3x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-pressed@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background-pressed@4x.9.png b/src/imports/controls/imagine/images/itemdelegate-background-pressed@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background.9.png b/src/imports/controls/imagine/images/itemdelegate-background.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background@2x.9.png b/src/imports/controls/imagine/images/itemdelegate-background@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background@3x.9.png b/src/imports/controls/imagine/images/itemdelegate-background@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/itemdelegate-background@4x.9.png b/src/imports/controls/imagine/images/itemdelegate-background@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/itemdelegate-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menu-background.9.png b/src/imports/controls/imagine/images/menu-background.9.png
deleted file mode 100644
index 8253612c..00000000
--- a/src/imports/controls/imagine/images/menu-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menu-background@2x.9.png b/src/imports/controls/imagine/images/menu-background@2x.9.png
deleted file mode 100644
index 55438bde..00000000
--- a/src/imports/controls/imagine/images/menu-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menu-background@3x.9.png b/src/imports/controls/imagine/images/menu-background@3x.9.png
deleted file mode 100644
index 7be5da41..00000000
--- a/src/imports/controls/imagine/images/menu-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menu-background@4x.9.png b/src/imports/controls/imagine/images/menu-background@4x.9.png
deleted file mode 100644
index 6e8588ff..00000000
--- a/src/imports/controls/imagine/images/menu-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-disabled.png b/src/imports/controls/imagine/images/menuitem-arrow-disabled.png
deleted file mode 100644
index 4d681e2b..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-disabled@2x.png b/src/imports/controls/imagine/images/menuitem-arrow-disabled@2x.png
deleted file mode 100644
index cddc7844..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-disabled@3x.png b/src/imports/controls/imagine/images/menuitem-arrow-disabled@3x.png
deleted file mode 100644
index 4546de35..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-disabled@4x.png b/src/imports/controls/imagine/images/menuitem-arrow-disabled@4x.png
deleted file mode 100644
index cd403df0..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled.png
deleted file mode 100644
index ac94a9a8..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@2x.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@2x.png
deleted file mode 100644
index 5533cdc1..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@3x.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@3x.png
deleted file mode 100644
index a3796957..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@4x.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@4x.png
deleted file mode 100644
index 47a6a0b9..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored.png
deleted file mode 100644
index 95dbe3dd..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored@2x.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored@2x.png
deleted file mode 100644
index 53978404..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored@3x.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored@3x.png
deleted file mode 100644
index f922f3c2..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow-mirrored@4x.png b/src/imports/controls/imagine/images/menuitem-arrow-mirrored@4x.png
deleted file mode 100644
index c2a7b8ad..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow-mirrored@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow.png b/src/imports/controls/imagine/images/menuitem-arrow.png
deleted file mode 100644
index eac2d6d2..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow@2x.png b/src/imports/controls/imagine/images/menuitem-arrow@2x.png
deleted file mode 100644
index 008ca41a..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow@3x.png b/src/imports/controls/imagine/images/menuitem-arrow@3x.png
deleted file mode 100644
index 83c8a27c..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-arrow@4x.png b/src/imports/controls/imagine/images/menuitem-arrow@4x.png
deleted file mode 100644
index d838880e..00000000
--- a/src/imports/controls/imagine/images/menuitem-arrow@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background-highlighted.9.png b/src/imports/controls/imagine/images/menuitem-background-highlighted.9.png
deleted file mode 100644
index 4cc1f069..00000000
--- a/src/imports/controls/imagine/images/menuitem-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background-highlighted@2x.9.png b/src/imports/controls/imagine/images/menuitem-background-highlighted@2x.9.png
deleted file mode 100644
index b44793d6..00000000
--- a/src/imports/controls/imagine/images/menuitem-background-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background-highlighted@3x.9.png b/src/imports/controls/imagine/images/menuitem-background-highlighted@3x.9.png
deleted file mode 100644
index ae0acfb7..00000000
--- a/src/imports/controls/imagine/images/menuitem-background-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background-highlighted@4x.9.png b/src/imports/controls/imagine/images/menuitem-background-highlighted@4x.9.png
deleted file mode 100644
index dbb09c33..00000000
--- a/src/imports/controls/imagine/images/menuitem-background-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background.9.png b/src/imports/controls/imagine/images/menuitem-background.9.png
deleted file mode 100644
index 1fd1f099..00000000
--- a/src/imports/controls/imagine/images/menuitem-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background@2x.9.png b/src/imports/controls/imagine/images/menuitem-background@2x.9.png
deleted file mode 100644
index 1b30ac3b..00000000
--- a/src/imports/controls/imagine/images/menuitem-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background@3x.9.png b/src/imports/controls/imagine/images/menuitem-background@3x.9.png
deleted file mode 100644
index b0012628..00000000
--- a/src/imports/controls/imagine/images/menuitem-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-background@4x.9.png b/src/imports/controls/imagine/images/menuitem-background@4x.9.png
deleted file mode 100644
index 1312abee..00000000
--- a/src/imports/controls/imagine/images/menuitem-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-focused.png
deleted file mode 100644
index f22ebf09..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@2x.png
deleted file mode 100644
index fd3080a1..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@3x.png
deleted file mode 100644
index 6393373f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@4x.png
deleted file mode 100644
index 32dedb7f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered.png
deleted file mode 100644
index f22ebf09..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@2x.png
deleted file mode 100644
index fd3080a1..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@3x.png
deleted file mode 100644
index 6393373f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@4x.png
deleted file mode 100644
index 32dedb7f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed.png
deleted file mode 100644
index 846416aa..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@2x.png
deleted file mode 100644
index bc85bf94..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@3x.png
deleted file mode 100644
index 17ef9e58..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@4x.png
deleted file mode 100644
index 7e9dd750..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked.png b/src/imports/controls/imagine/images/menuitem-indicator-checked.png
deleted file mode 100644
index f06cc5f6..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked@2x.png
deleted file mode 100644
index 3db78a17..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked@3x.png
deleted file mode 100644
index eadb5968..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-checked@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-checked@4x.png
deleted file mode 100644
index 9bdfac8a..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-disabled.png b/src/imports/controls/imagine/images/menuitem-indicator-disabled.png
deleted file mode 100644
index a8305968..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-disabled@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-disabled@2x.png
deleted file mode 100644
index e8046c5e..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-disabled@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-disabled@3x.png
deleted file mode 100644
index d44111bb..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-disabled@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-disabled@4x.png
deleted file mode 100644
index 24fa0c0d..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-focused.png b/src/imports/controls/imagine/images/menuitem-indicator-focused.png
deleted file mode 100644
index 1c598c1f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-focused@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-focused@2x.png
deleted file mode 100644
index 31ff320e..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-focused@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-focused@3x.png
deleted file mode 100644
index 15a1b487..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-focused@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-focused@4x.png
deleted file mode 100644
index db11c0c1..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-hovered.png b/src/imports/controls/imagine/images/menuitem-indicator-hovered.png
deleted file mode 100644
index 1c598c1f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-hovered@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-hovered@2x.png
deleted file mode 100644
index 31ff320e..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-hovered@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-hovered@3x.png
deleted file mode 100644
index 15a1b487..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-hovered@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-hovered@4x.png
deleted file mode 100644
index db11c0c1..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-pressed.png b/src/imports/controls/imagine/images/menuitem-indicator-pressed.png
deleted file mode 100644
index e4f02db1..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-pressed@2x.png b/src/imports/controls/imagine/images/menuitem-indicator-pressed@2x.png
deleted file mode 100644
index e2342547..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-pressed@3x.png b/src/imports/controls/imagine/images/menuitem-indicator-pressed@3x.png
deleted file mode 100644
index 8ae24d75..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator-pressed@4x.png b/src/imports/controls/imagine/images/menuitem-indicator-pressed@4x.png
deleted file mode 100644
index 04a32370..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator.png b/src/imports/controls/imagine/images/menuitem-indicator.png
deleted file mode 100644
index d7b4c6d1..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator@2x.png b/src/imports/controls/imagine/images/menuitem-indicator@2x.png
deleted file mode 100644
index 0ae3fa8f..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator@3x.png b/src/imports/controls/imagine/images/menuitem-indicator@3x.png
deleted file mode 100644
index f8de503c..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuitem-indicator@4x.png b/src/imports/controls/imagine/images/menuitem-indicator@4x.png
deleted file mode 100644
index 4f16042d..00000000
--- a/src/imports/controls/imagine/images/menuitem-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuseparator-separator.9.png b/src/imports/controls/imagine/images/menuseparator-separator.9.png
deleted file mode 100644
index a40feb65..00000000
--- a/src/imports/controls/imagine/images/menuseparator-separator.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuseparator-separator@2x.9.png b/src/imports/controls/imagine/images/menuseparator-separator@2x.9.png
deleted file mode 100644
index afb99248..00000000
--- a/src/imports/controls/imagine/images/menuseparator-separator@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuseparator-separator@3x.9.png b/src/imports/controls/imagine/images/menuseparator-separator@3x.9.png
deleted file mode 100644
index 197400e0..00000000
--- a/src/imports/controls/imagine/images/menuseparator-separator@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/menuseparator-separator@4x.9.png b/src/imports/controls/imagine/images/menuseparator-separator@4x.9.png
deleted file mode 100644
index c4b4ca98..00000000
--- a/src/imports/controls/imagine/images/menuseparator-separator@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/page-background.png b/src/imports/controls/imagine/images/page-background.png
deleted file mode 100644
index 01eb7c73..00000000
--- a/src/imports/controls/imagine/images/page-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/page-background@2x.png b/src/imports/controls/imagine/images/page-background@2x.png
deleted file mode 100644
index 72be785c..00000000
--- a/src/imports/controls/imagine/images/page-background@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/page-background@3x.png b/src/imports/controls/imagine/images/page-background@3x.png
deleted file mode 100644
index a488f592..00000000
--- a/src/imports/controls/imagine/images/page-background@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/page-background@4x.png b/src/imports/controls/imagine/images/page-background@4x.png
deleted file mode 100644
index 9343da95..00000000
--- a/src/imports/controls/imagine/images/page-background@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-current.png b/src/imports/controls/imagine/images/pageindicator-delegate-current.png
deleted file mode 100644
index 002b76e9..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-current.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-current@2x.png b/src/imports/controls/imagine/images/pageindicator-delegate-current@2x.png
deleted file mode 100644
index 47fc8d5a..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-current@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-current@3x.png b/src/imports/controls/imagine/images/pageindicator-delegate-current@3x.png
deleted file mode 100644
index e6bfd1e9..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-current@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-current@4x.png b/src/imports/controls/imagine/images/pageindicator-delegate-current@4x.png
deleted file mode 100644
index f7c7248f..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-current@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current.png
deleted file mode 100644
index 8aae9d8b..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@2x.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@2x.png
deleted file mode 100644
index b5a65c9e..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@3x.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@3x.png
deleted file mode 100644
index 8a3e10e1..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@4x.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@4x.png
deleted file mode 100644
index 58c3d3b8..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled-current@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled.png
deleted file mode 100644
index 8aae9d8b..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled@2x.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled@2x.png
deleted file mode 100644
index b5a65c9e..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled@3x.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled@3x.png
deleted file mode 100644
index 8a3e10e1..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-disabled@4x.png b/src/imports/controls/imagine/images/pageindicator-delegate-disabled@4x.png
deleted file mode 100644
index 58c3d3b8..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-pressed.png b/src/imports/controls/imagine/images/pageindicator-delegate-pressed.png
deleted file mode 100644
index 002b76e9..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-pressed@2x.png b/src/imports/controls/imagine/images/pageindicator-delegate-pressed@2x.png
deleted file mode 100644
index 47fc8d5a..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-pressed@3x.png b/src/imports/controls/imagine/images/pageindicator-delegate-pressed@3x.png
deleted file mode 100644
index e6bfd1e9..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate-pressed@4x.png b/src/imports/controls/imagine/images/pageindicator-delegate-pressed@4x.png
deleted file mode 100644
index f7c7248f..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate.png b/src/imports/controls/imagine/images/pageindicator-delegate.png
deleted file mode 100644
index 9e13a5ac..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate@2x.png b/src/imports/controls/imagine/images/pageindicator-delegate@2x.png
deleted file mode 100644
index 806b7e22..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate@3x.png b/src/imports/controls/imagine/images/pageindicator-delegate@3x.png
deleted file mode 100644
index 05e8f362..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pageindicator-delegate@4x.png b/src/imports/controls/imagine/images/pageindicator-delegate@4x.png
deleted file mode 100644
index 1ac5ccda..00000000
--- a/src/imports/controls/imagine/images/pageindicator-delegate@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pane-background.9.png b/src/imports/controls/imagine/images/pane-background.9.png
deleted file mode 100644
index 5024788e..00000000
--- a/src/imports/controls/imagine/images/pane-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pane-background@2x.9.png b/src/imports/controls/imagine/images/pane-background@2x.9.png
deleted file mode 100644
index 1ed91fee..00000000
--- a/src/imports/controls/imagine/images/pane-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pane-background@3x.9.png b/src/imports/controls/imagine/images/pane-background@3x.9.png
deleted file mode 100644
index c85e09f2..00000000
--- a/src/imports/controls/imagine/images/pane-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/pane-background@4x.9.png b/src/imports/controls/imagine/images/pane-background@4x.9.png
deleted file mode 100644
index e117bed0..00000000
--- a/src/imports/controls/imagine/images/pane-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-background.9.png b/src/imports/controls/imagine/images/popup-background.9.png
deleted file mode 100644
index 495d2f0d..00000000
--- a/src/imports/controls/imagine/images/popup-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-background@2x.9.png b/src/imports/controls/imagine/images/popup-background@2x.9.png
deleted file mode 100644
index ba0df866..00000000
--- a/src/imports/controls/imagine/images/popup-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-background@3x.9.png b/src/imports/controls/imagine/images/popup-background@3x.9.png
deleted file mode 100644
index e71856a5..00000000
--- a/src/imports/controls/imagine/images/popup-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-background@4x.9.png b/src/imports/controls/imagine/images/popup-background@4x.9.png
deleted file mode 100644
index d756cda5..00000000
--- a/src/imports/controls/imagine/images/popup-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay-modal.png b/src/imports/controls/imagine/images/popup-overlay-modal.png
deleted file mode 100644
index 296e914a..00000000
--- a/src/imports/controls/imagine/images/popup-overlay-modal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay-modal@2x.png b/src/imports/controls/imagine/images/popup-overlay-modal@2x.png
deleted file mode 100644
index 10c89300..00000000
--- a/src/imports/controls/imagine/images/popup-overlay-modal@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay-modal@3x.png b/src/imports/controls/imagine/images/popup-overlay-modal@3x.png
deleted file mode 100644
index f65996e9..00000000
--- a/src/imports/controls/imagine/images/popup-overlay-modal@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay-modal@4x.png b/src/imports/controls/imagine/images/popup-overlay-modal@4x.png
deleted file mode 100644
index a586f381..00000000
--- a/src/imports/controls/imagine/images/popup-overlay-modal@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay.png b/src/imports/controls/imagine/images/popup-overlay.png
deleted file mode 100644
index e7175b46..00000000
--- a/src/imports/controls/imagine/images/popup-overlay.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay@2x.png b/src/imports/controls/imagine/images/popup-overlay@2x.png
deleted file mode 100644
index db6566e0..00000000
--- a/src/imports/controls/imagine/images/popup-overlay@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay@3x.png b/src/imports/controls/imagine/images/popup-overlay@3x.png
deleted file mode 100644
index 140e4692..00000000
--- a/src/imports/controls/imagine/images/popup-overlay@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/popup-overlay@4x.png b/src/imports/controls/imagine/images/popup-overlay@4x.png
deleted file mode 100644
index 5115c28a..00000000
--- a/src/imports/controls/imagine/images/popup-overlay@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-animation.webp b/src/imports/controls/imagine/images/progressbar-animation.webp
deleted file mode 100644
index 51c35c88..00000000
--- a/src/imports/controls/imagine/images/progressbar-animation.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-animation@2x.webp b/src/imports/controls/imagine/images/progressbar-animation@2x.webp
deleted file mode 100644
index ee120630..00000000
--- a/src/imports/controls/imagine/images/progressbar-animation@2x.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-animation@3x.webp b/src/imports/controls/imagine/images/progressbar-animation@3x.webp
deleted file mode 100644
index c2f94a74..00000000
--- a/src/imports/controls/imagine/images/progressbar-animation@3x.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-animation@4x.webp b/src/imports/controls/imagine/images/progressbar-animation@4x.webp
deleted file mode 100644
index d49657e9..00000000
--- a/src/imports/controls/imagine/images/progressbar-animation@4x.webp
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-background.9.png b/src/imports/controls/imagine/images/progressbar-background.9.png
deleted file mode 100644
index 5a8d5ad3..00000000
--- a/src/imports/controls/imagine/images/progressbar-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-background@2x.9.png b/src/imports/controls/imagine/images/progressbar-background@2x.9.png
deleted file mode 100644
index 057f28ff..00000000
--- a/src/imports/controls/imagine/images/progressbar-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-background@3x.9.png b/src/imports/controls/imagine/images/progressbar-background@3x.9.png
deleted file mode 100644
index 283f7f72..00000000
--- a/src/imports/controls/imagine/images/progressbar-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-background@4x.9.png b/src/imports/controls/imagine/images/progressbar-background@4x.9.png
deleted file mode 100644
index 0eb1d884..00000000
--- a/src/imports/controls/imagine/images/progressbar-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-mask.9.png b/src/imports/controls/imagine/images/progressbar-mask.9.png
deleted file mode 100644
index 23ddb24e..00000000
--- a/src/imports/controls/imagine/images/progressbar-mask.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-mask@2x.9.png b/src/imports/controls/imagine/images/progressbar-mask@2x.9.png
deleted file mode 100644
index 30d53bdf..00000000
--- a/src/imports/controls/imagine/images/progressbar-mask@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-mask@3x.9.png b/src/imports/controls/imagine/images/progressbar-mask@3x.9.png
deleted file mode 100644
index 0181c822..00000000
--- a/src/imports/controls/imagine/images/progressbar-mask@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-mask@4x.9.png b/src/imports/controls/imagine/images/progressbar-mask@4x.9.png
deleted file mode 100644
index f3914cdd..00000000
--- a/src/imports/controls/imagine/images/progressbar-mask@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-progress.png b/src/imports/controls/imagine/images/progressbar-progress.png
deleted file mode 100644
index 9283df02..00000000
--- a/src/imports/controls/imagine/images/progressbar-progress.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-progress@2x.png b/src/imports/controls/imagine/images/progressbar-progress@2x.png
deleted file mode 100644
index efd58da5..00000000
--- a/src/imports/controls/imagine/images/progressbar-progress@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-progress@3x.png b/src/imports/controls/imagine/images/progressbar-progress@3x.png
deleted file mode 100644
index 5372fc55..00000000
--- a/src/imports/controls/imagine/images/progressbar-progress@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/progressbar-progress@4x.png b/src/imports/controls/imagine/images/progressbar-progress@4x.png
deleted file mode 100644
index 85925c61..00000000
--- a/src/imports/controls/imagine/images/progressbar-progress@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused.png
deleted file mode 100644
index 8fb9da47..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@2x.png
deleted file mode 100644
index 86f8043e..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@3x.png
deleted file mode 100644
index 4350141e..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@4x.png
deleted file mode 100644
index 3573f597..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered.png
deleted file mode 100644
index 8fb9da47..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@2x.png
deleted file mode 100644
index 86f8043e..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@3x.png
deleted file mode 100644
index 4350141e..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@4x.png
deleted file mode 100644
index 3573f597..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed.png
deleted file mode 100644
index e69d4ca0..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@2x.png
deleted file mode 100644
index 48f2ff88..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@3x.png
deleted file mode 100644
index 3eb80f03..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@4x.png
deleted file mode 100644
index 1f02e059..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked.png
deleted file mode 100644
index dfa8106d..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked@2x.png
deleted file mode 100644
index f8696dca..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked@3x.png
deleted file mode 100644
index 98113a6d..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-checked@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-checked@4x.png
deleted file mode 100644
index ec9005e1..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-disabled.png b/src/imports/controls/imagine/images/radiobutton-indicator-disabled.png
deleted file mode 100644
index 4a32fe70..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-disabled@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-disabled@2x.png
deleted file mode 100644
index 4bd16861..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-disabled@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-disabled@3x.png
deleted file mode 100644
index 510e355e..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-disabled@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-disabled@4x.png
deleted file mode 100644
index fba264de..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-focused.png b/src/imports/controls/imagine/images/radiobutton-indicator-focused.png
deleted file mode 100644
index 5c0ce213..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-focused@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-focused@2x.png
deleted file mode 100644
index 5219d908..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-focused@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-focused@3x.png
deleted file mode 100644
index eecc21bf..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-focused@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-focused@4x.png
deleted file mode 100644
index 8e6bb9bd..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-hovered.png b/src/imports/controls/imagine/images/radiobutton-indicator-hovered.png
deleted file mode 100644
index 5c0ce213..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-hovered@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-hovered@2x.png
deleted file mode 100644
index 5219d908..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-hovered@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-hovered@3x.png
deleted file mode 100644
index eecc21bf..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-hovered@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-hovered@4x.png
deleted file mode 100644
index 8e6bb9bd..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-pressed.png b/src/imports/controls/imagine/images/radiobutton-indicator-pressed.png
deleted file mode 100644
index d9a1cd01..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-pressed@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator-pressed@2x.png
deleted file mode 100644
index e3cd65cb..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-pressed@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator-pressed@3x.png
deleted file mode 100644
index 7857bff7..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator-pressed@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator-pressed@4x.png
deleted file mode 100644
index 7f3b3548..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator.png b/src/imports/controls/imagine/images/radiobutton-indicator.png
deleted file mode 100644
index 7f7a88ad..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator@2x.png b/src/imports/controls/imagine/images/radiobutton-indicator@2x.png
deleted file mode 100644
index 250117b4..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator@3x.png b/src/imports/controls/imagine/images/radiobutton-indicator@3x.png
deleted file mode 100644
index 5011f4da..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiobutton-indicator@4x.png b/src/imports/controls/imagine/images/radiobutton-indicator@4x.png
deleted file mode 100644
index 538f11a1..00000000
--- a/src/imports/controls/imagine/images/radiobutton-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-disabled.9.png b/src/imports/controls/imagine/images/radiodelegate-background-disabled.9.png
deleted file mode 100644
index 4b56fe35..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-disabled@2x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-disabled@2x.9.png
deleted file mode 100644
index 34edef58..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-disabled@3x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-disabled@3x.9.png
deleted file mode 100644
index dd2cc6ba..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-disabled@4x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-disabled@4x.9.png
deleted file mode 100644
index b7890a3c..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-focused.9.png b/src/imports/controls/imagine/images/radiodelegate-background-focused.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-focused@2x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-focused@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-focused@3x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-focused@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-focused@4x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-focused@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-highlighted.9.png b/src/imports/controls/imagine/images/radiodelegate-background-highlighted.9.png
deleted file mode 100644
index 32847cfa..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-highlighted@2x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-highlighted@2x.9.png
deleted file mode 100644
index 126fcb29..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-highlighted@3x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-highlighted@3x.9.png
deleted file mode 100644
index 22b7c9f2..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-highlighted@4x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-highlighted@4x.9.png
deleted file mode 100644
index 4e67f310..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-hovered.9.png b/src/imports/controls/imagine/images/radiodelegate-background-hovered.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-hovered@2x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-hovered@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-hovered@3x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-hovered@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-hovered@4x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-hovered@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-pressed.9.png b/src/imports/controls/imagine/images/radiodelegate-background-pressed.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-pressed@2x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-pressed@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-pressed@3x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-pressed@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background-pressed@4x.9.png b/src/imports/controls/imagine/images/radiodelegate-background-pressed@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background.9.png b/src/imports/controls/imagine/images/radiodelegate-background.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background@2x.9.png b/src/imports/controls/imagine/images/radiodelegate-background@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background@3x.9.png b/src/imports/controls/imagine/images/radiodelegate-background@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-background@4x.9.png b/src/imports/controls/imagine/images/radiodelegate-background@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused.png
deleted file mode 100644
index 8fb9da47..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@2x.png
deleted file mode 100644
index 86f8043e..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@3x.png
deleted file mode 100644
index 4350141e..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@4x.png
deleted file mode 100644
index 3573f597..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered.png
deleted file mode 100644
index 8fb9da47..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@2x.png
deleted file mode 100644
index 86f8043e..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@3x.png
deleted file mode 100644
index 4350141e..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@4x.png
deleted file mode 100644
index 3573f597..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed.png
deleted file mode 100644
index e69d4ca0..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@2x.png
deleted file mode 100644
index 48f2ff88..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@3x.png
deleted file mode 100644
index 3eb80f03..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@4x.png
deleted file mode 100644
index 1f02e059..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked.png
deleted file mode 100644
index dfa8106d..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked@2x.png
deleted file mode 100644
index f8696dca..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked@3x.png
deleted file mode 100644
index 98113a6d..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-checked@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-checked@4x.png
deleted file mode 100644
index ec9005e1..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled.png b/src/imports/controls/imagine/images/radiodelegate-indicator-disabled.png
deleted file mode 100644
index 4a32fe70..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@2x.png
deleted file mode 100644
index 4bd16861..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@3x.png
deleted file mode 100644
index 510e355e..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@4x.png
deleted file mode 100644
index fba264de..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-focused.png b/src/imports/controls/imagine/images/radiodelegate-indicator-focused.png
deleted file mode 100644
index 5c0ce213..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-focused@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-focused@2x.png
deleted file mode 100644
index 5219d908..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-focused@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-focused@3x.png
deleted file mode 100644
index eecc21bf..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-focused@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-focused@4x.png
deleted file mode 100644
index 8e6bb9bd..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered.png b/src/imports/controls/imagine/images/radiodelegate-indicator-hovered.png
deleted file mode 100644
index 5c0ce213..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@2x.png
deleted file mode 100644
index 5219d908..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@3x.png
deleted file mode 100644
index eecc21bf..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@4x.png
deleted file mode 100644
index 8e6bb9bd..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed.png b/src/imports/controls/imagine/images/radiodelegate-indicator-pressed.png
deleted file mode 100644
index d9a1cd01..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@2x.png
deleted file mode 100644
index e3cd65cb..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@3x.png
deleted file mode 100644
index 7857bff7..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@4x.png
deleted file mode 100644
index 7f3b3548..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator.png b/src/imports/controls/imagine/images/radiodelegate-indicator.png
deleted file mode 100644
index 7f7a88ad..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator@2x.png b/src/imports/controls/imagine/images/radiodelegate-indicator@2x.png
deleted file mode 100644
index 250117b4..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator@3x.png b/src/imports/controls/imagine/images/radiodelegate-indicator@3x.png
deleted file mode 100644
index 5011f4da..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/radiodelegate-indicator@4x.png b/src/imports/controls/imagine/images/radiodelegate-indicator@4x.png
deleted file mode 100644
index 538f11a1..00000000
--- a/src/imports/controls/imagine/images/radiodelegate-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-horizontal.9.png b/src/imports/controls/imagine/images/rangeslider-background-horizontal.9.png
deleted file mode 100644
index 1493d559..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-horizontal.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-horizontal@2x.9.png b/src/imports/controls/imagine/images/rangeslider-background-horizontal@2x.9.png
deleted file mode 100644
index 64c87e20..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-horizontal@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-horizontal@3x.9.png b/src/imports/controls/imagine/images/rangeslider-background-horizontal@3x.9.png
deleted file mode 100644
index 7ed7de73..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-horizontal@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-horizontal@4x.9.png b/src/imports/controls/imagine/images/rangeslider-background-horizontal@4x.9.png
deleted file mode 100644
index 7c45cc7d..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-horizontal@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-vertical.9.png b/src/imports/controls/imagine/images/rangeslider-background-vertical.9.png
deleted file mode 100644
index 5866879c..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-vertical.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-vertical@2x.9.png b/src/imports/controls/imagine/images/rangeslider-background-vertical@2x.9.png
deleted file mode 100644
index f3928ec5..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-vertical@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-vertical@3x.9.png b/src/imports/controls/imagine/images/rangeslider-background-vertical@3x.9.png
deleted file mode 100644
index f49dcb95..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-vertical@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-background-vertical@4x.9.png b/src/imports/controls/imagine/images/rangeslider-background-vertical@4x.9.png
deleted file mode 100644
index e7203f99..00000000
--- a/src/imports/controls/imagine/images/rangeslider-background-vertical@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-disabled.png b/src/imports/controls/imagine/images/rangeslider-handle-disabled.png
deleted file mode 100644
index 88ea4699..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-disabled@2x.png b/src/imports/controls/imagine/images/rangeslider-handle-disabled@2x.png
deleted file mode 100644
index 3cad66e2..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-disabled@3x.png b/src/imports/controls/imagine/images/rangeslider-handle-disabled@3x.png
deleted file mode 100644
index 18b7482c..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-disabled@4x.png b/src/imports/controls/imagine/images/rangeslider-handle-disabled@4x.png
deleted file mode 100644
index 1d03b803..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered.png
deleted file mode 100644
index 5787bc8d..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@2x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@2x.png
deleted file mode 100644
index 0663628f..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@3x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@3x.png
deleted file mode 100644
index cb6149d3..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@4x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@4x.png
deleted file mode 100644
index 21484332..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed.png
deleted file mode 100644
index 5787bc8d..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@2x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@2x.png
deleted file mode 100644
index 0663628f..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@3x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@3x.png
deleted file mode 100644
index cb6149d3..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@4x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@4x.png
deleted file mode 100644
index 21484332..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused.png b/src/imports/controls/imagine/images/rangeslider-handle-focused.png
deleted file mode 100644
index 0a0ab739..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused@2x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused@2x.png
deleted file mode 100644
index 8ced0916..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused@3x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused@3x.png
deleted file mode 100644
index a7bdc453..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-focused@4x.png b/src/imports/controls/imagine/images/rangeslider-handle-focused@4x.png
deleted file mode 100644
index 5827d534..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-hovered.png b/src/imports/controls/imagine/images/rangeslider-handle-hovered.png
deleted file mode 100644
index 88ea4699..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-hovered@2x.png b/src/imports/controls/imagine/images/rangeslider-handle-hovered@2x.png
deleted file mode 100644
index 3cad66e2..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-hovered@3x.png b/src/imports/controls/imagine/images/rangeslider-handle-hovered@3x.png
deleted file mode 100644
index 18b7482c..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-hovered@4x.png b/src/imports/controls/imagine/images/rangeslider-handle-hovered@4x.png
deleted file mode 100644
index 1d03b803..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-pressed.png b/src/imports/controls/imagine/images/rangeslider-handle-pressed.png
deleted file mode 100644
index 88ea4699..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-pressed@2x.png b/src/imports/controls/imagine/images/rangeslider-handle-pressed@2x.png
deleted file mode 100644
index 3cad66e2..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-pressed@3x.png b/src/imports/controls/imagine/images/rangeslider-handle-pressed@3x.png
deleted file mode 100644
index 18b7482c..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle-pressed@4x.png b/src/imports/controls/imagine/images/rangeslider-handle-pressed@4x.png
deleted file mode 100644
index 1d03b803..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle.png b/src/imports/controls/imagine/images/rangeslider-handle.png
deleted file mode 100644
index 370f5141..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle@2x.png b/src/imports/controls/imagine/images/rangeslider-handle@2x.png
deleted file mode 100644
index d98f56d3..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle@3x.png b/src/imports/controls/imagine/images/rangeslider-handle@3x.png
deleted file mode 100644
index a6e12b61..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-handle@4x.png b/src/imports/controls/imagine/images/rangeslider-handle@4x.png
deleted file mode 100644
index 194e3496..00000000
--- a/src/imports/controls/imagine/images/rangeslider-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled.9.png
deleted file mode 100644
index d3a87e37..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@2x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@2x.9.png
deleted file mode 100644
index b87350eb..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@3x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@3x.9.png
deleted file mode 100644
index a5b7b80c..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@4x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@4x.9.png
deleted file mode 100644
index 47975047..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal.9.png
deleted file mode 100644
index 49adc3ec..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal@2x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal@2x.9.png
deleted file mode 100644
index b71adeb3..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal@3x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal@3x.9.png
deleted file mode 100644
index c78c22b3..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-horizontal@4x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-horizontal@4x.9.png
deleted file mode 100644
index 69142b4e..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-horizontal@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled.9.png
deleted file mode 100644
index 6ae0b6b6..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@2x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@2x.9.png
deleted file mode 100644
index dacd2692..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@3x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@3x.9.png
deleted file mode 100644
index 23f5461e..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@4x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@4x.9.png
deleted file mode 100644
index 9ec4cefe..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical.9.png
deleted file mode 100644
index c2616422..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical@2x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical@2x.9.png
deleted file mode 100644
index 0339d4cd..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical@3x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical@3x.9.png
deleted file mode 100644
index d1d22e60..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/rangeslider-progress-vertical@4x.9.png b/src/imports/controls/imagine/images/rangeslider-progress-vertical@4x.9.png
deleted file mode 100644
index f9b96a3b..00000000
--- a/src/imports/controls/imagine/images/rangeslider-progress-vertical@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-focused.png b/src/imports/controls/imagine/images/roundbutton-background-checked-focused.png
deleted file mode 100644
index 543b2d7a..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-focused@2x.png b/src/imports/controls/imagine/images/roundbutton-background-checked-focused@2x.png
deleted file mode 100644
index 75dceff8..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-focused@3x.png b/src/imports/controls/imagine/images/roundbutton-background-checked-focused@3x.png
deleted file mode 100644
index c504faaf..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-focused@4x.png b/src/imports/controls/imagine/images/roundbutton-background-checked-focused@4x.png
deleted file mode 100644
index 65c5ecab..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered.png b/src/imports/controls/imagine/images/roundbutton-background-checked-hovered.png
deleted file mode 100644
index 543b2d7a..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@2x.png b/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@2x.png
deleted file mode 100644
index 75dceff8..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@3x.png b/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@3x.png
deleted file mode 100644
index c504faaf..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@4x.png b/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@4x.png
deleted file mode 100644
index 65c5ecab..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked.png b/src/imports/controls/imagine/images/roundbutton-background-checked.png
deleted file mode 100644
index e7c15402..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked@2x.png b/src/imports/controls/imagine/images/roundbutton-background-checked@2x.png
deleted file mode 100644
index 6412ae27..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked@3x.png b/src/imports/controls/imagine/images/roundbutton-background-checked@3x.png
deleted file mode 100644
index 7c1523cb..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-checked@4x.png b/src/imports/controls/imagine/images/roundbutton-background-checked@4x.png
deleted file mode 100644
index 887c7579..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked.png b/src/imports/controls/imagine/images/roundbutton-background-disabled-checked.png
deleted file mode 100644
index 4bd16861..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@2x.png b/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@2x.png
deleted file mode 100644
index fba264de..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@3x.png b/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@3x.png
deleted file mode 100644
index 112ee781..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@4x.png b/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@4x.png
deleted file mode 100644
index 8ce10a01..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled.png b/src/imports/controls/imagine/images/roundbutton-background-disabled.png
deleted file mode 100644
index 4bd16861..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled@2x.png b/src/imports/controls/imagine/images/roundbutton-background-disabled@2x.png
deleted file mode 100644
index fba264de..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled@3x.png b/src/imports/controls/imagine/images/roundbutton-background-disabled@3x.png
deleted file mode 100644
index 112ee781..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-disabled@4x.png b/src/imports/controls/imagine/images/roundbutton-background-disabled@4x.png
deleted file mode 100644
index 8ce10a01..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-focused.png b/src/imports/controls/imagine/images/roundbutton-background-focused.png
deleted file mode 100644
index abdada0d..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-focused@2x.png b/src/imports/controls/imagine/images/roundbutton-background-focused@2x.png
deleted file mode 100644
index f90efda1..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-focused@3x.png b/src/imports/controls/imagine/images/roundbutton-background-focused@3x.png
deleted file mode 100644
index b1977d97..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-focused@4x.png b/src/imports/controls/imagine/images/roundbutton-background-focused@4x.png
deleted file mode 100644
index 2efb3dcc..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused.png
deleted file mode 100644
index 64b69500..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@2x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@2x.png
deleted file mode 100644
index 60b211d5..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@3x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@3x.png
deleted file mode 100644
index 4d6e21eb..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@4x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@4x.png
deleted file mode 100644
index 03033c20..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered.png
deleted file mode 100644
index 64b69500..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@2x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@2x.png
deleted file mode 100644
index 60b211d5..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@3x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@3x.png
deleted file mode 100644
index 4d6e21eb..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@4x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@4x.png
deleted file mode 100644
index 03033c20..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed.png
deleted file mode 100644
index 7a2a06f1..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@2x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@2x.png
deleted file mode 100644
index f2eb51e3..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@3x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@3x.png
deleted file mode 100644
index df6eaf4e..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@4x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@4x.png
deleted file mode 100644
index 4465f9da..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted.png
deleted file mode 100644
index f0be8431..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted@2x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted@2x.png
deleted file mode 100644
index dc0ba620..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted@3x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted@3x.png
deleted file mode 100644
index e178c293..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-highlighted@4x.png b/src/imports/controls/imagine/images/roundbutton-background-highlighted@4x.png
deleted file mode 100644
index 85f1fa52..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-highlighted@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-hovered.png b/src/imports/controls/imagine/images/roundbutton-background-hovered.png
deleted file mode 100644
index abdada0d..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-hovered@2x.png b/src/imports/controls/imagine/images/roundbutton-background-hovered@2x.png
deleted file mode 100644
index f90efda1..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-hovered@3x.png b/src/imports/controls/imagine/images/roundbutton-background-hovered@3x.png
deleted file mode 100644
index b1977d97..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-hovered@4x.png b/src/imports/controls/imagine/images/roundbutton-background-hovered@4x.png
deleted file mode 100644
index 2efb3dcc..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-pressed.png b/src/imports/controls/imagine/images/roundbutton-background-pressed.png
deleted file mode 100644
index e7c15402..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-pressed@2x.png b/src/imports/controls/imagine/images/roundbutton-background-pressed@2x.png
deleted file mode 100644
index 6412ae27..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-pressed@3x.png b/src/imports/controls/imagine/images/roundbutton-background-pressed@3x.png
deleted file mode 100644
index 7c1523cb..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background-pressed@4x.png b/src/imports/controls/imagine/images/roundbutton-background-pressed@4x.png
deleted file mode 100644
index 887c7579..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background.png b/src/imports/controls/imagine/images/roundbutton-background.png
deleted file mode 100644
index e3cd65cb..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background@2x.png b/src/imports/controls/imagine/images/roundbutton-background@2x.png
deleted file mode 100644
index 7f3b3548..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background@3x.png b/src/imports/controls/imagine/images/roundbutton-background@3x.png
deleted file mode 100644
index 7988f337..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/roundbutton-background@4x.png b/src/imports/controls/imagine/images/roundbutton-background@4x.png
deleted file mode 100644
index 74dbebae..00000000
--- a/src/imports/controls/imagine/images/roundbutton-background@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-disabled.png b/src/imports/controls/imagine/images/scrollbar-handle-disabled.png
deleted file mode 100644
index d79dcf2a..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-disabled@2x.png b/src/imports/controls/imagine/images/scrollbar-handle-disabled@2x.png
deleted file mode 100644
index 0f751bb2..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-disabled@3x.png b/src/imports/controls/imagine/images/scrollbar-handle-disabled@3x.png
deleted file mode 100644
index 651c4c14..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-disabled@4x.png b/src/imports/controls/imagine/images/scrollbar-handle-disabled@4x.png
deleted file mode 100644
index 46bb4324..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled.png
deleted file mode 100644
index 0ec3de1a..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@2x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@2x.png
deleted file mode 100644
index 6ffaffee..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@3x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@3x.png
deleted file mode 100644
index 8445a158..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@4x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@4x.png
deleted file mode 100644
index 458ce4bf..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered.png
deleted file mode 100644
index c8db3901..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@2x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@2x.png
deleted file mode 100644
index 719d31a0..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@3x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@3x.png
deleted file mode 100644
index 33884426..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@4x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@4x.png
deleted file mode 100644
index 045a6b76..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed.png
deleted file mode 100644
index 771c9e01..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@2x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@2x.png
deleted file mode 100644
index 80397488..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@3x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@3x.png
deleted file mode 100644
index 6b3fbca1..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@4x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@4x.png
deleted file mode 100644
index b505c95d..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive.png
deleted file mode 100644
index a9a67ca6..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive@2x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive@2x.png
deleted file mode 100644
index 60a174bb..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive@3x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive@3x.png
deleted file mode 100644
index af70f46c..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle-interactive@4x.png b/src/imports/controls/imagine/images/scrollbar-handle-interactive@4x.png
deleted file mode 100644
index 1b91108c..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle-interactive@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle.png b/src/imports/controls/imagine/images/scrollbar-handle.png
deleted file mode 100644
index c1d0a009..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle@2x.png b/src/imports/controls/imagine/images/scrollbar-handle@2x.png
deleted file mode 100644
index 72246c67..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle@3x.png b/src/imports/controls/imagine/images/scrollbar-handle@3x.png
deleted file mode 100644
index c7caa2df..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollbar-handle@4x.png b/src/imports/controls/imagine/images/scrollbar-handle@4x.png
deleted file mode 100644
index ad61f644..00000000
--- a/src/imports/controls/imagine/images/scrollbar-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollindicator-handle.png b/src/imports/controls/imagine/images/scrollindicator-handle.png
deleted file mode 100644
index c1d0a009..00000000
--- a/src/imports/controls/imagine/images/scrollindicator-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollindicator-handle@2x.png b/src/imports/controls/imagine/images/scrollindicator-handle@2x.png
deleted file mode 100644
index 72246c67..00000000
--- a/src/imports/controls/imagine/images/scrollindicator-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollindicator-handle@3x.png b/src/imports/controls/imagine/images/scrollindicator-handle@3x.png
deleted file mode 100644
index c7caa2df..00000000
--- a/src/imports/controls/imagine/images/scrollindicator-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/scrollindicator-handle@4x.png b/src/imports/controls/imagine/images/scrollindicator-handle@4x.png
deleted file mode 100644
index ad61f644..00000000
--- a/src/imports/controls/imagine/images/scrollindicator-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-horizontal.9.png b/src/imports/controls/imagine/images/slider-background-horizontal.9.png
deleted file mode 100644
index 1493d559..00000000
--- a/src/imports/controls/imagine/images/slider-background-horizontal.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-horizontal@2x.9.png b/src/imports/controls/imagine/images/slider-background-horizontal@2x.9.png
deleted file mode 100644
index 64c87e20..00000000
--- a/src/imports/controls/imagine/images/slider-background-horizontal@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-horizontal@3x.9.png b/src/imports/controls/imagine/images/slider-background-horizontal@3x.9.png
deleted file mode 100644
index 7ed7de73..00000000
--- a/src/imports/controls/imagine/images/slider-background-horizontal@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-horizontal@4x.9.png b/src/imports/controls/imagine/images/slider-background-horizontal@4x.9.png
deleted file mode 100644
index 7c45cc7d..00000000
--- a/src/imports/controls/imagine/images/slider-background-horizontal@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-vertical.9.png b/src/imports/controls/imagine/images/slider-background-vertical.9.png
deleted file mode 100644
index 5866879c..00000000
--- a/src/imports/controls/imagine/images/slider-background-vertical.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-vertical@2x.9.png b/src/imports/controls/imagine/images/slider-background-vertical@2x.9.png
deleted file mode 100644
index f3928ec5..00000000
--- a/src/imports/controls/imagine/images/slider-background-vertical@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-vertical@3x.9.png b/src/imports/controls/imagine/images/slider-background-vertical@3x.9.png
deleted file mode 100644
index f49dcb95..00000000
--- a/src/imports/controls/imagine/images/slider-background-vertical@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-background-vertical@4x.9.png b/src/imports/controls/imagine/images/slider-background-vertical@4x.9.png
deleted file mode 100644
index e7203f99..00000000
--- a/src/imports/controls/imagine/images/slider-background-vertical@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-disabled.png b/src/imports/controls/imagine/images/slider-handle-disabled.png
deleted file mode 100644
index 88ea4699..00000000
--- a/src/imports/controls/imagine/images/slider-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-disabled@2x.png b/src/imports/controls/imagine/images/slider-handle-disabled@2x.png
deleted file mode 100644
index 3cad66e2..00000000
--- a/src/imports/controls/imagine/images/slider-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-disabled@3x.png b/src/imports/controls/imagine/images/slider-handle-disabled@3x.png
deleted file mode 100644
index 18b7482c..00000000
--- a/src/imports/controls/imagine/images/slider-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-disabled@4x.png b/src/imports/controls/imagine/images/slider-handle-disabled@4x.png
deleted file mode 100644
index 1d03b803..00000000
--- a/src/imports/controls/imagine/images/slider-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-hovered.png b/src/imports/controls/imagine/images/slider-handle-focused-hovered.png
deleted file mode 100644
index 5787bc8d..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-hovered@2x.png b/src/imports/controls/imagine/images/slider-handle-focused-hovered@2x.png
deleted file mode 100644
index 0663628f..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-hovered@3x.png b/src/imports/controls/imagine/images/slider-handle-focused-hovered@3x.png
deleted file mode 100644
index cb6149d3..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-hovered@4x.png b/src/imports/controls/imagine/images/slider-handle-focused-hovered@4x.png
deleted file mode 100644
index 21484332..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-pressed.png b/src/imports/controls/imagine/images/slider-handle-focused-pressed.png
deleted file mode 100644
index 5787bc8d..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-pressed@2x.png b/src/imports/controls/imagine/images/slider-handle-focused-pressed@2x.png
deleted file mode 100644
index 0663628f..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-pressed@3x.png b/src/imports/controls/imagine/images/slider-handle-focused-pressed@3x.png
deleted file mode 100644
index cb6149d3..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused-pressed@4x.png b/src/imports/controls/imagine/images/slider-handle-focused-pressed@4x.png
deleted file mode 100644
index 21484332..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused.png b/src/imports/controls/imagine/images/slider-handle-focused.png
deleted file mode 100644
index 0a0ab739..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused@2x.png b/src/imports/controls/imagine/images/slider-handle-focused@2x.png
deleted file mode 100644
index 8ced0916..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused@3x.png b/src/imports/controls/imagine/images/slider-handle-focused@3x.png
deleted file mode 100644
index a7bdc453..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-focused@4x.png b/src/imports/controls/imagine/images/slider-handle-focused@4x.png
deleted file mode 100644
index 5827d534..00000000
--- a/src/imports/controls/imagine/images/slider-handle-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-hovered.png b/src/imports/controls/imagine/images/slider-handle-hovered.png
deleted file mode 100644
index 88ea4699..00000000
--- a/src/imports/controls/imagine/images/slider-handle-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-hovered@2x.png b/src/imports/controls/imagine/images/slider-handle-hovered@2x.png
deleted file mode 100644
index 3cad66e2..00000000
--- a/src/imports/controls/imagine/images/slider-handle-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-hovered@3x.png b/src/imports/controls/imagine/images/slider-handle-hovered@3x.png
deleted file mode 100644
index 18b7482c..00000000
--- a/src/imports/controls/imagine/images/slider-handle-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-hovered@4x.png b/src/imports/controls/imagine/images/slider-handle-hovered@4x.png
deleted file mode 100644
index 1d03b803..00000000
--- a/src/imports/controls/imagine/images/slider-handle-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-pressed.png b/src/imports/controls/imagine/images/slider-handle-pressed.png
deleted file mode 100644
index 88ea4699..00000000
--- a/src/imports/controls/imagine/images/slider-handle-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-pressed@2x.png b/src/imports/controls/imagine/images/slider-handle-pressed@2x.png
deleted file mode 100644
index 3cad66e2..00000000
--- a/src/imports/controls/imagine/images/slider-handle-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-pressed@3x.png b/src/imports/controls/imagine/images/slider-handle-pressed@3x.png
deleted file mode 100644
index 18b7482c..00000000
--- a/src/imports/controls/imagine/images/slider-handle-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle-pressed@4x.png b/src/imports/controls/imagine/images/slider-handle-pressed@4x.png
deleted file mode 100644
index 1d03b803..00000000
--- a/src/imports/controls/imagine/images/slider-handle-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle.png b/src/imports/controls/imagine/images/slider-handle.png
deleted file mode 100644
index 370f5141..00000000
--- a/src/imports/controls/imagine/images/slider-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle@2x.png b/src/imports/controls/imagine/images/slider-handle@2x.png
deleted file mode 100644
index d98f56d3..00000000
--- a/src/imports/controls/imagine/images/slider-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle@3x.png b/src/imports/controls/imagine/images/slider-handle@3x.png
deleted file mode 100644
index a6e12b61..00000000
--- a/src/imports/controls/imagine/images/slider-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-handle@4x.png b/src/imports/controls/imagine/images/slider-handle@4x.png
deleted file mode 100644
index 194e3496..00000000
--- a/src/imports/controls/imagine/images/slider-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal-disabled.9.png
deleted file mode 100644
index d3a87e37..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@2x.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@2x.9.png
deleted file mode 100644
index b87350eb..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@3x.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@3x.9.png
deleted file mode 100644
index a5b7b80c..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@4x.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@4x.9.png
deleted file mode 100644
index 47975047..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal.9.png
deleted file mode 100644
index 49adc3ec..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal@2x.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal@2x.9.png
deleted file mode 100644
index b71adeb3..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal@3x.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal@3x.9.png
deleted file mode 100644
index c78c22b3..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-horizontal@4x.9.png b/src/imports/controls/imagine/images/slider-progress-horizontal@4x.9.png
deleted file mode 100644
index 69142b4e..00000000
--- a/src/imports/controls/imagine/images/slider-progress-horizontal@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical-disabled.9.png b/src/imports/controls/imagine/images/slider-progress-vertical-disabled.9.png
deleted file mode 100644
index 6ae0b6b6..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical-disabled@2x.9.png b/src/imports/controls/imagine/images/slider-progress-vertical-disabled@2x.9.png
deleted file mode 100644
index dacd2692..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical-disabled@3x.9.png b/src/imports/controls/imagine/images/slider-progress-vertical-disabled@3x.9.png
deleted file mode 100644
index 23f5461e..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical-disabled@4x.9.png b/src/imports/controls/imagine/images/slider-progress-vertical-disabled@4x.9.png
deleted file mode 100644
index 9ec4cefe..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical.9.png b/src/imports/controls/imagine/images/slider-progress-vertical.9.png
deleted file mode 100644
index c2616422..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical@2x.9.png b/src/imports/controls/imagine/images/slider-progress-vertical@2x.9.png
deleted file mode 100644
index 0339d4cd..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical@3x.9.png b/src/imports/controls/imagine/images/slider-progress-vertical@3x.9.png
deleted file mode 100644
index d1d22e60..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/slider-progress-vertical@4x.9.png b/src/imports/controls/imagine/images/slider-progress-vertical@4x.9.png
deleted file mode 100644
index f9b96a3b..00000000
--- a/src/imports/controls/imagine/images/slider-progress-vertical@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-disabled.9.png b/src/imports/controls/imagine/images/spinbox-background-disabled.9.png
deleted file mode 100644
index 16df3677..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-disabled@2x.9.png b/src/imports/controls/imagine/images/spinbox-background-disabled@2x.9.png
deleted file mode 100644
index be72ec16..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-disabled@3x.9.png b/src/imports/controls/imagine/images/spinbox-background-disabled@3x.9.png
deleted file mode 100644
index ca2d3322..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-disabled@4x.9.png b/src/imports/controls/imagine/images/spinbox-background-disabled@4x.9.png
deleted file mode 100644
index 62040f69..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-editable.9.png b/src/imports/controls/imagine/images/spinbox-background-editable.9.png
deleted file mode 100644
index 0bd1f239..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-editable.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-editable@2x.9.png b/src/imports/controls/imagine/images/spinbox-background-editable@2x.9.png
deleted file mode 100644
index c523826a..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-editable@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-editable@3x.9.png b/src/imports/controls/imagine/images/spinbox-background-editable@3x.9.png
deleted file mode 100644
index f47a77f8..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-editable@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-editable@4x.9.png b/src/imports/controls/imagine/images/spinbox-background-editable@4x.9.png
deleted file mode 100644
index 37939aab..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-editable@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-focused.9.png b/src/imports/controls/imagine/images/spinbox-background-focused.9.png
deleted file mode 100644
index 5b1d97ca..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-background-focused@2x.9.png
deleted file mode 100644
index 3424bf2d..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-background-focused@3x.9.png
deleted file mode 100644
index a53a76d7..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-background-focused@4x.9.png
deleted file mode 100644
index 9ea30032..00000000
--- a/src/imports/controls/imagine/images/spinbox-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background.9.png b/src/imports/controls/imagine/images/spinbox-background.9.png
deleted file mode 100644
index 16560593..00000000
--- a/src/imports/controls/imagine/images/spinbox-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background@2x.9.png b/src/imports/controls/imagine/images/spinbox-background@2x.9.png
deleted file mode 100644
index 4b7dcd74..00000000
--- a/src/imports/controls/imagine/images/spinbox-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background@3x.9.png b/src/imports/controls/imagine/images/spinbox-background@3x.9.png
deleted file mode 100644
index af86d12c..00000000
--- a/src/imports/controls/imagine/images/spinbox-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-background@4x.9.png b/src/imports/controls/imagine/images/spinbox-background@4x.9.png
deleted file mode 100644
index bbcd8745..00000000
--- a/src/imports/controls/imagine/images/spinbox-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-disabled.9.png
deleted file mode 100644
index 9ec6bf4a..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@2x.9.png
deleted file mode 100644
index 94219759..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@3x.9.png
deleted file mode 100644
index 38b73979..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@4x.9.png
deleted file mode 100644
index 2a5ab52d..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused.9.png
deleted file mode 100644
index 9ac0c8f7..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@2x.9.png
deleted file mode 100644
index aa71e927..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@3x.9.png
deleted file mode 100644
index c773e31e..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@4x.9.png
deleted file mode 100644
index 5e8e1a5c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered.9.png
deleted file mode 100644
index 9ac0c8f7..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@2x.9.png
deleted file mode 100644
index aa71e927..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@3x.9.png
deleted file mode 100644
index c773e31e..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@4x.9.png
deleted file mode 100644
index 5e8e1a5c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused.9.png
deleted file mode 100644
index c77a6a04..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@2x.9.png
deleted file mode 100644
index 8e652dcc..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@3x.9.png
deleted file mode 100644
index 368f9b21..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@4x.9.png
deleted file mode 100644
index 02be2e5e..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered.9.png
deleted file mode 100644
index c77a6a04..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@2x.9.png
deleted file mode 100644
index 8e652dcc..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@3x.9.png
deleted file mode 100644
index 368f9b21..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@4x.9.png
deleted file mode 100644
index 02be2e5e..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed.9.png
deleted file mode 100644
index 1d81aef2..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@2x.9.png
deleted file mode 100644
index 8638c47e..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@3x.9.png
deleted file mode 100644
index 19e44058..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@4x.9.png
deleted file mode 100644
index bf92d5a1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored.9.png
deleted file mode 100644
index 5cb05b25..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@2x.9.png
deleted file mode 100644
index d09d180a..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@3x.9.png
deleted file mode 100644
index e33ff83d..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@4x.9.png
deleted file mode 100644
index c0062bfa..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-mirrored@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed.9.png
deleted file mode 100644
index 3b91414f..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@2x.9.png
deleted file mode 100644
index 6cf943f8..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@3x.9.png
deleted file mode 100644
index 3866a67d..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@4x.9.png
deleted file mode 100644
index 076a0b35..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable.9.png
deleted file mode 100644
index 60feb583..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable@2x.9.png
deleted file mode 100644
index 612f3996..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable@3x.9.png
deleted file mode 100644
index f4b23374..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-editable@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-editable@4x.9.png
deleted file mode 100644
index e69314c0..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-editable@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-focused.9.png
deleted file mode 100644
index cb406d57..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-focused@2x.9.png
deleted file mode 100644
index 8004e824..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-focused@3x.9.png
deleted file mode 100644
index 8003117d..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-focused@4x.9.png
deleted file mode 100644
index 2ccf36ac..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-hovered.9.png
deleted file mode 100644
index cb406d57..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@2x.9.png
deleted file mode 100644
index 8004e824..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@3x.9.png
deleted file mode 100644
index 8003117d..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@4x.9.png
deleted file mode 100644
index 2ccf36ac..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled.9.png
deleted file mode 100644
index ef6341e1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@2x.9.png
deleted file mode 100644
index b89d2da7..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@3x.9.png
deleted file mode 100644
index cc2b2935..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@4x.9.png
deleted file mode 100644
index 86ef1436..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused.9.png
deleted file mode 100644
index d4814abe..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@2x.9.png
deleted file mode 100644
index 501a2204..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@3x.9.png
deleted file mode 100644
index 06854614..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@4x.9.png
deleted file mode 100644
index 37610e71..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered.9.png
deleted file mode 100644
index d4814abe..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@2x.9.png
deleted file mode 100644
index 501a2204..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@3x.9.png
deleted file mode 100644
index 06854614..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@4x.9.png
deleted file mode 100644
index 37610e71..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed.9.png
deleted file mode 100644
index 35fddf9a..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@2x.9.png
deleted file mode 100644
index 63050cf1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@3x.9.png
deleted file mode 100644
index 7428a6dd..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@4x.9.png
deleted file mode 100644
index d2849eeb..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored.9.png
deleted file mode 100644
index 603dbd38..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@2x.9.png
deleted file mode 100644
index fcd5a7e2..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@3x.9.png
deleted file mode 100644
index fdd6f575..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@4x.9.png
deleted file mode 100644
index 02364a67..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-mirrored@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-pressed.9.png
deleted file mode 100644
index 18abfb0b..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@2x.9.png
deleted file mode 100644
index ac60f187..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@3x.9.png
deleted file mode 100644
index 507b4c6c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@4x.9.png
deleted file mode 100644
index 58934f8a..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down.9.png
deleted file mode 100644
index 171ff635..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down@2x.9.png
deleted file mode 100644
index e5fc7ffa..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down@3x.9.png
deleted file mode 100644
index bc1c50db..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-down@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-down@4x.9.png
deleted file mode 100644
index 656c5a58..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-down@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-disabled.9.png
deleted file mode 100644
index 233ed958..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@2x.9.png
deleted file mode 100644
index 1f212179..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@3x.9.png
deleted file mode 100644
index cdebd5b3..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@4x.9.png
deleted file mode 100644
index e05430e6..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused.9.png
deleted file mode 100644
index 71d9ab11..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@2x.9.png
deleted file mode 100644
index d12e77fa..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@3x.9.png
deleted file mode 100644
index 22523122..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@4x.9.png
deleted file mode 100644
index f1082d21..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered.9.png
deleted file mode 100644
index 71d9ab11..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@2x.9.png
deleted file mode 100644
index d12e77fa..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@3x.9.png
deleted file mode 100644
index 22523122..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@4x.9.png
deleted file mode 100644
index f1082d21..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused.9.png
deleted file mode 100644
index 97c49ddc..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@2x.9.png
deleted file mode 100644
index 50ee8be8..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@3x.9.png
deleted file mode 100644
index 0ac31744..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@4x.9.png
deleted file mode 100644
index b4e8cf5a..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered.9.png
deleted file mode 100644
index 97c49ddc..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@2x.9.png
deleted file mode 100644
index 50ee8be8..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@3x.9.png
deleted file mode 100644
index 0ac31744..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@4x.9.png
deleted file mode 100644
index b4e8cf5a..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed.9.png
deleted file mode 100644
index 10033ff3..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@2x.9.png
deleted file mode 100644
index 6ff2b151..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@3x.9.png
deleted file mode 100644
index 430a3456..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@4x.9.png
deleted file mode 100644
index bc1606e7..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored.9.png
deleted file mode 100644
index 107bb699..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@2x.9.png
deleted file mode 100644
index e9e26e34..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@3x.9.png
deleted file mode 100644
index c060ee79..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@4x.9.png
deleted file mode 100644
index 2f5012f9..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-mirrored@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed.9.png
deleted file mode 100644
index 3a864191..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@2x.9.png
deleted file mode 100644
index 8b2c8d98..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@3x.9.png
deleted file mode 100644
index 2d843abb..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@4x.9.png
deleted file mode 100644
index f93e4ef2..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable.9.png
deleted file mode 100644
index f27911f9..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable@2x.9.png
deleted file mode 100644
index 1873dd3b..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable@3x.9.png
deleted file mode 100644
index 003f3937..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-editable@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-editable@4x.9.png
deleted file mode 100644
index 5fcfffa6..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-editable@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-focused.9.png
deleted file mode 100644
index 93b9c34c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-focused@2x.9.png
deleted file mode 100644
index 425c1725..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-focused@3x.9.png
deleted file mode 100644
index c6c728c3..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-focused@4x.9.png
deleted file mode 100644
index e0772bf3..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-hovered.9.png
deleted file mode 100644
index 93b9c34c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@2x.9.png
deleted file mode 100644
index 425c1725..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@3x.9.png
deleted file mode 100644
index c6c728c3..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@4x.9.png
deleted file mode 100644
index e0772bf3..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled.9.png
deleted file mode 100644
index 059c46ed..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@2x.9.png
deleted file mode 100644
index 670280ea..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@3x.9.png
deleted file mode 100644
index b5e30546..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@4x.9.png
deleted file mode 100644
index f34c65e8..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused.9.png
deleted file mode 100644
index 8722a522..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@2x.9.png
deleted file mode 100644
index 3e0dfafa..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@3x.9.png
deleted file mode 100644
index 2337ccdc..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@4x.9.png
deleted file mode 100644
index 9dca0ec1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered.9.png
deleted file mode 100644
index 8722a522..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@2x.9.png
deleted file mode 100644
index 3e0dfafa..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@3x.9.png
deleted file mode 100644
index 2337ccdc..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@4x.9.png
deleted file mode 100644
index 9dca0ec1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed.9.png
deleted file mode 100644
index 3e9030d1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@2x.9.png
deleted file mode 100644
index 5edc3dbe..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@3x.9.png
deleted file mode 100644
index 5f497719..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@4x.9.png
deleted file mode 100644
index c376fb75..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored.9.png
deleted file mode 100644
index 32a0613c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@2x.9.png
deleted file mode 100644
index 8fdb30f8..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@3x.9.png
deleted file mode 100644
index 6e9e0172..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@4x.9.png
deleted file mode 100644
index 7e556e2c..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-mirrored@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-pressed.9.png
deleted file mode 100644
index 8f8ef7c4..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@2x.9.png
deleted file mode 100644
index 8760aef9..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@3x.9.png
deleted file mode 100644
index 03beb7b9..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@4x.9.png
deleted file mode 100644
index 876fd4af..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up.9.png
deleted file mode 100644
index 049d5806..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up@2x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up@2x.9.png
deleted file mode 100644
index 75ce9cc1..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up@3x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up@3x.9.png
deleted file mode 100644
index 42b5cdb5..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/spinbox-indicator-up@4x.9.png b/src/imports/controls/imagine/images/spinbox-indicator-up@4x.9.png
deleted file mode 100644
index b59d4e77..00000000
--- a/src/imports/controls/imagine/images/spinbox-indicator-up@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-disabled.png b/src/imports/controls/imagine/images/splitview-handle-disabled.png
deleted file mode 100644
index 0071c196..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-disabled@2x.png b/src/imports/controls/imagine/images/splitview-handle-disabled@2x.png
deleted file mode 100644
index 67cee407..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-disabled@3x.png b/src/imports/controls/imagine/images/splitview-handle-disabled@3x.png
deleted file mode 100644
index 84752ba9..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-disabled@4x.png b/src/imports/controls/imagine/images/splitview-handle-disabled@4x.png
deleted file mode 100644
index e4be8597..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-hovered.png b/src/imports/controls/imagine/images/splitview-handle-hovered.png
deleted file mode 100644
index 1386d213..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-hovered@2x.png b/src/imports/controls/imagine/images/splitview-handle-hovered@2x.png
deleted file mode 100644
index 4708a47b..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-hovered@3x.png b/src/imports/controls/imagine/images/splitview-handle-hovered@3x.png
deleted file mode 100644
index 2ccc1ff5..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-hovered@4x.png b/src/imports/controls/imagine/images/splitview-handle-hovered@4x.png
deleted file mode 100644
index 6929da70..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-pressed.png b/src/imports/controls/imagine/images/splitview-handle-pressed.png
deleted file mode 100644
index 7face6b4..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-pressed@2x.png b/src/imports/controls/imagine/images/splitview-handle-pressed@2x.png
deleted file mode 100644
index ad940d0f..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-pressed@3x.png b/src/imports/controls/imagine/images/splitview-handle-pressed@3x.png
deleted file mode 100644
index d4e19dc2..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle-pressed@4x.png b/src/imports/controls/imagine/images/splitview-handle-pressed@4x.png
deleted file mode 100644
index 8ccbbebc..00000000
--- a/src/imports/controls/imagine/images/splitview-handle-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle.png b/src/imports/controls/imagine/images/splitview-handle.png
deleted file mode 100644
index c1dffa67..00000000
--- a/src/imports/controls/imagine/images/splitview-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle@2x.png b/src/imports/controls/imagine/images/splitview-handle@2x.png
deleted file mode 100644
index 180e266a..00000000
--- a/src/imports/controls/imagine/images/splitview-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle@3x.png b/src/imports/controls/imagine/images/splitview-handle@3x.png
deleted file mode 100644
index 35ea51db..00000000
--- a/src/imports/controls/imagine/images/splitview-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/splitview-handle@4x.png b/src/imports/controls/imagine/images/splitview-handle@4x.png
deleted file mode 100644
index 3a1e7e9f..00000000
--- a/src/imports/controls/imagine/images/splitview-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-disabled.9.png b/src/imports/controls/imagine/images/swipedelegate-background-disabled.9.png
deleted file mode 100644
index 4b56fe35..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-disabled@2x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-disabled@2x.9.png
deleted file mode 100644
index 34edef58..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-disabled@3x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-disabled@3x.9.png
deleted file mode 100644
index dd2cc6ba..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-disabled@4x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-disabled@4x.9.png
deleted file mode 100644
index b7890a3c..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-focused.9.png b/src/imports/controls/imagine/images/swipedelegate-background-focused.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-focused@2x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-focused@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-focused@3x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-focused@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-focused@4x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-focused@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-highlighted.9.png b/src/imports/controls/imagine/images/swipedelegate-background-highlighted.9.png
deleted file mode 100644
index 32847cfa..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-highlighted@2x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-highlighted@2x.9.png
deleted file mode 100644
index 126fcb29..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-highlighted@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-highlighted@3x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-highlighted@3x.9.png
deleted file mode 100644
index 22b7c9f2..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-highlighted@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-highlighted@4x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-highlighted@4x.9.png
deleted file mode 100644
index 4e67f310..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-highlighted@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-hovered.9.png b/src/imports/controls/imagine/images/swipedelegate-background-hovered.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-hovered@2x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-hovered@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-hovered@3x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-hovered@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-hovered@4x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-hovered@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-pressed.9.png b/src/imports/controls/imagine/images/swipedelegate-background-pressed.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-pressed@2x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-pressed@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-pressed@3x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-pressed@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background-pressed@4x.9.png b/src/imports/controls/imagine/images/swipedelegate-background-pressed@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background.9.png b/src/imports/controls/imagine/images/swipedelegate-background.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background@2x.9.png b/src/imports/controls/imagine/images/swipedelegate-background@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background@3x.9.png b/src/imports/controls/imagine/images/swipedelegate-background@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/swipedelegate-background@4x.9.png b/src/imports/controls/imagine/images/swipedelegate-background@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/swipedelegate-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-disabled.png b/src/imports/controls/imagine/images/switch-handle-disabled.png
deleted file mode 100644
index 4108457f..00000000
--- a/src/imports/controls/imagine/images/switch-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-disabled@2x.png b/src/imports/controls/imagine/images/switch-handle-disabled@2x.png
deleted file mode 100644
index c73b8b45..00000000
--- a/src/imports/controls/imagine/images/switch-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-disabled@3x.png b/src/imports/controls/imagine/images/switch-handle-disabled@3x.png
deleted file mode 100644
index 3a927393..00000000
--- a/src/imports/controls/imagine/images/switch-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-disabled@4x.png b/src/imports/controls/imagine/images/switch-handle-disabled@4x.png
deleted file mode 100644
index 2893b7a6..00000000
--- a/src/imports/controls/imagine/images/switch-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-pressed.png b/src/imports/controls/imagine/images/switch-handle-pressed.png
deleted file mode 100644
index 4108457f..00000000
--- a/src/imports/controls/imagine/images/switch-handle-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-pressed@2x.png b/src/imports/controls/imagine/images/switch-handle-pressed@2x.png
deleted file mode 100644
index c73b8b45..00000000
--- a/src/imports/controls/imagine/images/switch-handle-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-pressed@3x.png b/src/imports/controls/imagine/images/switch-handle-pressed@3x.png
deleted file mode 100644
index 3a927393..00000000
--- a/src/imports/controls/imagine/images/switch-handle-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle-pressed@4x.png b/src/imports/controls/imagine/images/switch-handle-pressed@4x.png
deleted file mode 100644
index 2893b7a6..00000000
--- a/src/imports/controls/imagine/images/switch-handle-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle.png b/src/imports/controls/imagine/images/switch-handle.png
deleted file mode 100644
index 814cfe4f..00000000
--- a/src/imports/controls/imagine/images/switch-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle@2x.png b/src/imports/controls/imagine/images/switch-handle@2x.png
deleted file mode 100644
index df3e41c5..00000000
--- a/src/imports/controls/imagine/images/switch-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle@3x.png b/src/imports/controls/imagine/images/switch-handle@3x.png
deleted file mode 100644
index 601c0d53..00000000
--- a/src/imports/controls/imagine/images/switch-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-handle@4x.png b/src/imports/controls/imagine/images/switch-handle@4x.png
deleted file mode 100644
index b03a1d31..00000000
--- a/src/imports/controls/imagine/images/switch-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-focused.png b/src/imports/controls/imagine/images/switch-indicator-checked-focused.png
deleted file mode 100644
index 06f09514..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/switch-indicator-checked-focused@2x.png
deleted file mode 100644
index 90044add..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/switch-indicator-checked-focused@3x.png
deleted file mode 100644
index c987c7b5..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/switch-indicator-checked-focused@4x.png
deleted file mode 100644
index c2351de8..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-hovered.png b/src/imports/controls/imagine/images/switch-indicator-checked-hovered.png
deleted file mode 100644
index 06f09514..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/switch-indicator-checked-hovered@2x.png
deleted file mode 100644
index 90044add..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/switch-indicator-checked-hovered@3x.png
deleted file mode 100644
index c987c7b5..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/switch-indicator-checked-hovered@4x.png
deleted file mode 100644
index c2351de8..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-pressed.png b/src/imports/controls/imagine/images/switch-indicator-checked-pressed.png
deleted file mode 100644
index fcf8a5f3..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/switch-indicator-checked-pressed@2x.png
deleted file mode 100644
index b8747547..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/switch-indicator-checked-pressed@3x.png
deleted file mode 100644
index 1a254945..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/switch-indicator-checked-pressed@4x.png
deleted file mode 100644
index 7af5cc05..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked.png b/src/imports/controls/imagine/images/switch-indicator-checked.png
deleted file mode 100644
index 00af5fd7..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked@2x.png b/src/imports/controls/imagine/images/switch-indicator-checked@2x.png
deleted file mode 100644
index b9ae1ce2..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked@3x.png b/src/imports/controls/imagine/images/switch-indicator-checked@3x.png
deleted file mode 100644
index fbcd46df..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-checked@4x.png b/src/imports/controls/imagine/images/switch-indicator-checked@4x.png
deleted file mode 100644
index 04807b20..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-disabled.png b/src/imports/controls/imagine/images/switch-indicator-disabled.png
deleted file mode 100644
index 47800da2..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-disabled@2x.png b/src/imports/controls/imagine/images/switch-indicator-disabled@2x.png
deleted file mode 100644
index bc3cfbf4..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-disabled@3x.png b/src/imports/controls/imagine/images/switch-indicator-disabled@3x.png
deleted file mode 100644
index b29d5756..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-disabled@4x.png b/src/imports/controls/imagine/images/switch-indicator-disabled@4x.png
deleted file mode 100644
index 22562fdf..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-focused.png b/src/imports/controls/imagine/images/switch-indicator-focused.png
deleted file mode 100644
index 570f6872..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-focused@2x.png b/src/imports/controls/imagine/images/switch-indicator-focused@2x.png
deleted file mode 100644
index 389c7f51..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-focused@3x.png b/src/imports/controls/imagine/images/switch-indicator-focused@3x.png
deleted file mode 100644
index c2e2a155..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-focused@4x.png b/src/imports/controls/imagine/images/switch-indicator-focused@4x.png
deleted file mode 100644
index 3637139f..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-hovered.png b/src/imports/controls/imagine/images/switch-indicator-hovered.png
deleted file mode 100644
index 570f6872..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-hovered@2x.png b/src/imports/controls/imagine/images/switch-indicator-hovered@2x.png
deleted file mode 100644
index 389c7f51..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-hovered@3x.png b/src/imports/controls/imagine/images/switch-indicator-hovered@3x.png
deleted file mode 100644
index c2e2a155..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-hovered@4x.png b/src/imports/controls/imagine/images/switch-indicator-hovered@4x.png
deleted file mode 100644
index 3637139f..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-pressed.png b/src/imports/controls/imagine/images/switch-indicator-pressed.png
deleted file mode 100644
index 6129c382..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-pressed@2x.png b/src/imports/controls/imagine/images/switch-indicator-pressed@2x.png
deleted file mode 100644
index 144eb013..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-pressed@3x.png b/src/imports/controls/imagine/images/switch-indicator-pressed@3x.png
deleted file mode 100644
index f59d9051..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator-pressed@4x.png b/src/imports/controls/imagine/images/switch-indicator-pressed@4x.png
deleted file mode 100644
index 48d24f7c..00000000
--- a/src/imports/controls/imagine/images/switch-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator.png b/src/imports/controls/imagine/images/switch-indicator.png
deleted file mode 100644
index e0ec85e2..00000000
--- a/src/imports/controls/imagine/images/switch-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator@2x.png b/src/imports/controls/imagine/images/switch-indicator@2x.png
deleted file mode 100644
index d0026507..00000000
--- a/src/imports/controls/imagine/images/switch-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator@3x.png b/src/imports/controls/imagine/images/switch-indicator@3x.png
deleted file mode 100644
index 1a59e3b0..00000000
--- a/src/imports/controls/imagine/images/switch-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switch-indicator@4x.png b/src/imports/controls/imagine/images/switch-indicator@4x.png
deleted file mode 100644
index 1db31ec3..00000000
--- a/src/imports/controls/imagine/images/switch-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-disabled.9.png b/src/imports/controls/imagine/images/switchdelegate-background-disabled.9.png
deleted file mode 100644
index 4b56fe35..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-disabled@2x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-disabled@2x.9.png
deleted file mode 100644
index 34edef58..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-disabled@3x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-disabled@3x.9.png
deleted file mode 100644
index dd2cc6ba..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-disabled@4x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-disabled@4x.9.png
deleted file mode 100644
index b7890a3c..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-focused.9.png b/src/imports/controls/imagine/images/switchdelegate-background-focused.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-focused@2x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-focused@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-focused@3x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-focused@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-focused@4x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-focused@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-hovered.9.png b/src/imports/controls/imagine/images/switchdelegate-background-hovered.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-hovered@2x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-hovered@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-hovered@3x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-hovered@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-hovered@4x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-hovered@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-pressed.9.png b/src/imports/controls/imagine/images/switchdelegate-background-pressed.9.png
deleted file mode 100644
index b31343dd..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-pressed@2x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-pressed@2x.9.png
deleted file mode 100644
index c56c62da..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-pressed@3x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-pressed@3x.9.png
deleted file mode 100644
index bfbc82f9..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background-pressed@4x.9.png b/src/imports/controls/imagine/images/switchdelegate-background-pressed@4x.9.png
deleted file mode 100644
index e31ab63b..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background.9.png b/src/imports/controls/imagine/images/switchdelegate-background.9.png
deleted file mode 100644
index a53f63cd..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background@2x.9.png b/src/imports/controls/imagine/images/switchdelegate-background@2x.9.png
deleted file mode 100644
index 07510b10..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background@3x.9.png b/src/imports/controls/imagine/images/switchdelegate-background@3x.9.png
deleted file mode 100644
index db2a210a..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-background@4x.9.png b/src/imports/controls/imagine/images/switchdelegate-background@4x.9.png
deleted file mode 100644
index 6427d7ab..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-disabled.png b/src/imports/controls/imagine/images/switchdelegate-handle-disabled.png
deleted file mode 100644
index 4108457f..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-disabled@2x.png b/src/imports/controls/imagine/images/switchdelegate-handle-disabled@2x.png
deleted file mode 100644
index c73b8b45..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-disabled@3x.png b/src/imports/controls/imagine/images/switchdelegate-handle-disabled@3x.png
deleted file mode 100644
index 3a927393..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-disabled@4x.png b/src/imports/controls/imagine/images/switchdelegate-handle-disabled@4x.png
deleted file mode 100644
index 2893b7a6..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-pressed.png b/src/imports/controls/imagine/images/switchdelegate-handle-pressed.png
deleted file mode 100644
index 4108457f..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-pressed@2x.png b/src/imports/controls/imagine/images/switchdelegate-handle-pressed@2x.png
deleted file mode 100644
index c73b8b45..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-pressed@3x.png b/src/imports/controls/imagine/images/switchdelegate-handle-pressed@3x.png
deleted file mode 100644
index 3a927393..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle-pressed@4x.png b/src/imports/controls/imagine/images/switchdelegate-handle-pressed@4x.png
deleted file mode 100644
index 2893b7a6..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle.png b/src/imports/controls/imagine/images/switchdelegate-handle.png
deleted file mode 100644
index 814cfe4f..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle@2x.png b/src/imports/controls/imagine/images/switchdelegate-handle@2x.png
deleted file mode 100644
index df3e41c5..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle@3x.png b/src/imports/controls/imagine/images/switchdelegate-handle@3x.png
deleted file mode 100644
index 601c0d53..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-handle@4x.png b/src/imports/controls/imagine/images/switchdelegate-handle@4x.png
deleted file mode 100644
index b03a1d31..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-handle@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused.png
deleted file mode 100644
index 06f09514..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@2x.png
deleted file mode 100644
index 90044add..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@3x.png
deleted file mode 100644
index c987c7b5..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@4x.png
deleted file mode 100644
index c2351de8..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered.png
deleted file mode 100644
index 06f09514..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@2x.png
deleted file mode 100644
index 90044add..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@3x.png
deleted file mode 100644
index c987c7b5..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@4x.png
deleted file mode 100644
index c2351de8..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed.png
deleted file mode 100644
index fcf8a5f3..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@2x.png
deleted file mode 100644
index b8747547..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@3x.png
deleted file mode 100644
index 1a254945..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@4x.png
deleted file mode 100644
index 7af5cc05..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked.png
deleted file mode 100644
index 00af5fd7..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked@2x.png
deleted file mode 100644
index b9ae1ce2..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked@3x.png
deleted file mode 100644
index fbcd46df..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-checked@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-checked@4x.png
deleted file mode 100644
index 04807b20..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-checked@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled.png b/src/imports/controls/imagine/images/switchdelegate-indicator-disabled.png
deleted file mode 100644
index 47800da2..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@2x.png
deleted file mode 100644
index bc3cfbf4..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@3x.png
deleted file mode 100644
index b29d5756..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@4x.png
deleted file mode 100644
index 22562fdf..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-disabled@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-focused.png b/src/imports/controls/imagine/images/switchdelegate-indicator-focused.png
deleted file mode 100644
index 570f6872..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-focused@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-focused@2x.png
deleted file mode 100644
index 389c7f51..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-focused@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-focused@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-focused@3x.png
deleted file mode 100644
index c2e2a155..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-focused@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-focused@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-focused@4x.png
deleted file mode 100644
index 3637139f..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-focused@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered.png b/src/imports/controls/imagine/images/switchdelegate-indicator-hovered.png
deleted file mode 100644
index 570f6872..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@2x.png
deleted file mode 100644
index 389c7f51..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@3x.png
deleted file mode 100644
index c2e2a155..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@4x.png
deleted file mode 100644
index 3637139f..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-hovered@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed.png b/src/imports/controls/imagine/images/switchdelegate-indicator-pressed.png
deleted file mode 100644
index 6129c382..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@2x.png
deleted file mode 100644
index 144eb013..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@3x.png
deleted file mode 100644
index f59d9051..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@4x.png
deleted file mode 100644
index 48d24f7c..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator-pressed@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator.png b/src/imports/controls/imagine/images/switchdelegate-indicator.png
deleted file mode 100644
index e0ec85e2..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator@2x.png b/src/imports/controls/imagine/images/switchdelegate-indicator@2x.png
deleted file mode 100644
index d0026507..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator@3x.png b/src/imports/controls/imagine/images/switchdelegate-indicator@3x.png
deleted file mode 100644
index 1a59e3b0..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/switchdelegate-indicator@4x.png b/src/imports/controls/imagine/images/switchdelegate-indicator@4x.png
deleted file mode 100644
index 1db31ec3..00000000
--- a/src/imports/controls/imagine/images/switchdelegate-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbar-background.png b/src/imports/controls/imagine/images/tabbar-background.png
deleted file mode 100644
index 1d806c2d..00000000
--- a/src/imports/controls/imagine/images/tabbar-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbar-background@2x.png b/src/imports/controls/imagine/images/tabbar-background@2x.png
deleted file mode 100644
index 943f11ba..00000000
--- a/src/imports/controls/imagine/images/tabbar-background@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbar-background@3x.png b/src/imports/controls/imagine/images/tabbar-background@3x.png
deleted file mode 100644
index 4f0568a7..00000000
--- a/src/imports/controls/imagine/images/tabbar-background@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbar-background@4x.png b/src/imports/controls/imagine/images/tabbar-background@4x.png
deleted file mode 100644
index 33a7918c..00000000
--- a/src/imports/controls/imagine/images/tabbar-background@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-checked.9.png b/src/imports/controls/imagine/images/tabbutton-background-checked.9.png
deleted file mode 100644
index 7f2f6aa6..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-checked@2x.9.png b/src/imports/controls/imagine/images/tabbutton-background-checked@2x.9.png
deleted file mode 100644
index 86dab9ac..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-checked@3x.9.png b/src/imports/controls/imagine/images/tabbutton-background-checked@3x.9.png
deleted file mode 100644
index f426f6a3..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-checked@4x.9.png b/src/imports/controls/imagine/images/tabbutton-background-checked@4x.9.png
deleted file mode 100644
index fa4859e5..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled-checked.9.png
deleted file mode 100644
index 0397108c..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@2x.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@2x.9.png
deleted file mode 100644
index e80b3c78..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@3x.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@3x.9.png
deleted file mode 100644
index 97653e39..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@4x.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@4x.9.png
deleted file mode 100644
index f32db8c9..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled.9.png
deleted file mode 100644
index 0397108c..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled@2x.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled@2x.9.png
deleted file mode 100644
index e80b3c78..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled@3x.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled@3x.9.png
deleted file mode 100644
index 97653e39..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-disabled@4x.9.png b/src/imports/controls/imagine/images/tabbutton-background-disabled@4x.9.png
deleted file mode 100644
index f32db8c9..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-hovered.9.png b/src/imports/controls/imagine/images/tabbutton-background-hovered.9.png
deleted file mode 100644
index 0838287b..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-hovered@2x.9.png b/src/imports/controls/imagine/images/tabbutton-background-hovered@2x.9.png
deleted file mode 100644
index 71fde8ce..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-hovered@3x.9.png b/src/imports/controls/imagine/images/tabbutton-background-hovered@3x.9.png
deleted file mode 100644
index a289bbd2..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-hovered@4x.9.png b/src/imports/controls/imagine/images/tabbutton-background-hovered@4x.9.png
deleted file mode 100644
index 20e16933..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-pressed.9.png b/src/imports/controls/imagine/images/tabbutton-background-pressed.9.png
deleted file mode 100644
index 92e078bb..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-pressed@2x.9.png b/src/imports/controls/imagine/images/tabbutton-background-pressed@2x.9.png
deleted file mode 100644
index 20f7e55e..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-pressed@3x.9.png b/src/imports/controls/imagine/images/tabbutton-background-pressed@3x.9.png
deleted file mode 100644
index 74e8ce65..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background-pressed@4x.9.png b/src/imports/controls/imagine/images/tabbutton-background-pressed@4x.9.png
deleted file mode 100644
index 20e52e48..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background.9.png b/src/imports/controls/imagine/images/tabbutton-background.9.png
deleted file mode 100644
index 60bddd70..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background@2x.9.png b/src/imports/controls/imagine/images/tabbutton-background@2x.9.png
deleted file mode 100644
index 5e92aa79..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background@3x.9.png b/src/imports/controls/imagine/images/tabbutton-background@3x.9.png
deleted file mode 100644
index b60a9a57..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tabbutton-background@4x.9.png b/src/imports/controls/imagine/images/tabbutton-background@4x.9.png
deleted file mode 100644
index 5fa46bbd..00000000
--- a/src/imports/controls/imagine/images/tabbutton-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-disabled.9.png b/src/imports/controls/imagine/images/textarea-background-disabled.9.png
deleted file mode 100644
index 23291866..00000000
--- a/src/imports/controls/imagine/images/textarea-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-disabled@2x.9.png b/src/imports/controls/imagine/images/textarea-background-disabled@2x.9.png
deleted file mode 100644
index 62b0697a..00000000
--- a/src/imports/controls/imagine/images/textarea-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-disabled@3x.9.png b/src/imports/controls/imagine/images/textarea-background-disabled@3x.9.png
deleted file mode 100644
index 188f0adf..00000000
--- a/src/imports/controls/imagine/images/textarea-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-disabled@4x.9.png b/src/imports/controls/imagine/images/textarea-background-disabled@4x.9.png
deleted file mode 100644
index 3040bc55..00000000
--- a/src/imports/controls/imagine/images/textarea-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-focused.9.png b/src/imports/controls/imagine/images/textarea-background-focused.9.png
deleted file mode 100644
index 5098d8b3..00000000
--- a/src/imports/controls/imagine/images/textarea-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-focused@2x.9.png b/src/imports/controls/imagine/images/textarea-background-focused@2x.9.png
deleted file mode 100644
index 41e3d319..00000000
--- a/src/imports/controls/imagine/images/textarea-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-focused@3x.9.png b/src/imports/controls/imagine/images/textarea-background-focused@3x.9.png
deleted file mode 100644
index 86052b8d..00000000
--- a/src/imports/controls/imagine/images/textarea-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background-focused@4x.9.png b/src/imports/controls/imagine/images/textarea-background-focused@4x.9.png
deleted file mode 100644
index 8891d4b0..00000000
--- a/src/imports/controls/imagine/images/textarea-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background.9.png b/src/imports/controls/imagine/images/textarea-background.9.png
deleted file mode 100644
index c7c34666..00000000
--- a/src/imports/controls/imagine/images/textarea-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background@2x.9.png b/src/imports/controls/imagine/images/textarea-background@2x.9.png
deleted file mode 100644
index 7196c109..00000000
--- a/src/imports/controls/imagine/images/textarea-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background@3x.9.png b/src/imports/controls/imagine/images/textarea-background@3x.9.png
deleted file mode 100644
index 8e23e0aa..00000000
--- a/src/imports/controls/imagine/images/textarea-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textarea-background@4x.9.png b/src/imports/controls/imagine/images/textarea-background@4x.9.png
deleted file mode 100644
index b0bbb7ce..00000000
--- a/src/imports/controls/imagine/images/textarea-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-disabled.9.png b/src/imports/controls/imagine/images/textfield-background-disabled.9.png
deleted file mode 100644
index b734333e..00000000
--- a/src/imports/controls/imagine/images/textfield-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-disabled@2x.9.png b/src/imports/controls/imagine/images/textfield-background-disabled@2x.9.png
deleted file mode 100644
index a24df3b9..00000000
--- a/src/imports/controls/imagine/images/textfield-background-disabled@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-disabled@3x.9.png b/src/imports/controls/imagine/images/textfield-background-disabled@3x.9.png
deleted file mode 100644
index 094b8ab9..00000000
--- a/src/imports/controls/imagine/images/textfield-background-disabled@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-disabled@4x.9.png b/src/imports/controls/imagine/images/textfield-background-disabled@4x.9.png
deleted file mode 100644
index 3610c116..00000000
--- a/src/imports/controls/imagine/images/textfield-background-disabled@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-focused.9.png b/src/imports/controls/imagine/images/textfield-background-focused.9.png
deleted file mode 100644
index b89c7a84..00000000
--- a/src/imports/controls/imagine/images/textfield-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-focused@2x.9.png b/src/imports/controls/imagine/images/textfield-background-focused@2x.9.png
deleted file mode 100644
index 411ef62c..00000000
--- a/src/imports/controls/imagine/images/textfield-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-focused@3x.9.png b/src/imports/controls/imagine/images/textfield-background-focused@3x.9.png
deleted file mode 100644
index 52dc65c2..00000000
--- a/src/imports/controls/imagine/images/textfield-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background-focused@4x.9.png b/src/imports/controls/imagine/images/textfield-background-focused@4x.9.png
deleted file mode 100644
index be9f5420..00000000
--- a/src/imports/controls/imagine/images/textfield-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background.9.png b/src/imports/controls/imagine/images/textfield-background.9.png
deleted file mode 100644
index c307aa00..00000000
--- a/src/imports/controls/imagine/images/textfield-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background@2x.9.png b/src/imports/controls/imagine/images/textfield-background@2x.9.png
deleted file mode 100644
index f7df296f..00000000
--- a/src/imports/controls/imagine/images/textfield-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background@3x.9.png b/src/imports/controls/imagine/images/textfield-background@3x.9.png
deleted file mode 100644
index 81d73086..00000000
--- a/src/imports/controls/imagine/images/textfield-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/textfield-background@4x.9.png b/src/imports/controls/imagine/images/textfield-background@4x.9.png
deleted file mode 100644
index d8a96fdd..00000000
--- a/src/imports/controls/imagine/images/textfield-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbar-background.png b/src/imports/controls/imagine/images/toolbar-background.png
deleted file mode 100644
index dcd0cb75..00000000
--- a/src/imports/controls/imagine/images/toolbar-background.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbar-background@2x.png b/src/imports/controls/imagine/images/toolbar-background@2x.png
deleted file mode 100644
index 5a8518c7..00000000
--- a/src/imports/controls/imagine/images/toolbar-background@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbar-background@3x.png b/src/imports/controls/imagine/images/toolbar-background@3x.png
deleted file mode 100644
index 0285b12c..00000000
--- a/src/imports/controls/imagine/images/toolbar-background@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbar-background@4x.png b/src/imports/controls/imagine/images/toolbar-background@4x.png
deleted file mode 100644
index e8d784ce..00000000
--- a/src/imports/controls/imagine/images/toolbar-background@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-focused.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-focused.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-focused@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-focused@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-focused@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-focused@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-focused@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-focused@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-hovered.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-checked@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-checked@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked.9.png b/src/imports/controls/imagine/images/toolbutton-background-disabled-checked.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-disabled-checked@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-focused.9.png b/src/imports/controls/imagine/images/toolbutton-background-focused.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-focused@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-focused@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-focused@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-focused@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-focused@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-focused@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-focused@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-focused@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-focused@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-hovered.9.png b/src/imports/controls/imagine/images/toolbutton-background-hovered.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-hovered.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-hovered@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-hovered@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-hovered@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-hovered@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-hovered@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-hovered@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-hovered@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-hovered@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-hovered@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-pressed.9.png b/src/imports/controls/imagine/images/toolbutton-background-pressed.9.png
deleted file mode 100644
index 8ce5b791..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-pressed@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background-pressed@2x.9.png
deleted file mode 100644
index d99d1577..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-pressed@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-pressed@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background-pressed@3x.9.png
deleted file mode 100644
index c47247fe..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-pressed@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background-pressed@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background-pressed@4x.9.png
deleted file mode 100644
index e1e519da..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background-pressed@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background.9.png b/src/imports/controls/imagine/images/toolbutton-background.9.png
deleted file mode 100644
index 2359b090..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background@2x.9.png b/src/imports/controls/imagine/images/toolbutton-background@2x.9.png
deleted file mode 100644
index 6c36bf22..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background@3x.9.png b/src/imports/controls/imagine/images/toolbutton-background@3x.9.png
deleted file mode 100644
index f3cb6144..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolbutton-background@4x.9.png b/src/imports/controls/imagine/images/toolbutton-background@4x.9.png
deleted file mode 100644
index 1bf51a87..00000000
--- a/src/imports/controls/imagine/images/toolbutton-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-horizontal.9.png b/src/imports/controls/imagine/images/toolseparator-separator-horizontal.9.png
deleted file mode 100644
index 45a22b6d..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-horizontal.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-horizontal@2x.9.png b/src/imports/controls/imagine/images/toolseparator-separator-horizontal@2x.9.png
deleted file mode 100644
index a2dc5227..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-horizontal@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-horizontal@3x.9.png b/src/imports/controls/imagine/images/toolseparator-separator-horizontal@3x.9.png
deleted file mode 100644
index 471da912..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-horizontal@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-horizontal@4x.9.png b/src/imports/controls/imagine/images/toolseparator-separator-horizontal@4x.9.png
deleted file mode 100644
index 23a8b1d3..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-horizontal@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-vertical.9.png b/src/imports/controls/imagine/images/toolseparator-separator-vertical.9.png
deleted file mode 100644
index 31f24342..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-vertical.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-vertical@2x.9.png b/src/imports/controls/imagine/images/toolseparator-separator-vertical@2x.9.png
deleted file mode 100644
index c1722962..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-vertical@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-vertical@3x.9.png b/src/imports/controls/imagine/images/toolseparator-separator-vertical@3x.9.png
deleted file mode 100644
index c7de6ead..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-vertical@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/toolseparator-separator-vertical@4x.9.png b/src/imports/controls/imagine/images/toolseparator-separator-vertical@4x.9.png
deleted file mode 100644
index e17b5dbd..00000000
--- a/src/imports/controls/imagine/images/toolseparator-separator-vertical@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tooltip-background.9.png b/src/imports/controls/imagine/images/tooltip-background.9.png
deleted file mode 100644
index b7f04322..00000000
--- a/src/imports/controls/imagine/images/tooltip-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tooltip-background@2x.9.png b/src/imports/controls/imagine/images/tooltip-background@2x.9.png
deleted file mode 100644
index 9825f59b..00000000
--- a/src/imports/controls/imagine/images/tooltip-background@2x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tooltip-background@3x.9.png b/src/imports/controls/imagine/images/tooltip-background@3x.9.png
deleted file mode 100644
index 59dad6cc..00000000
--- a/src/imports/controls/imagine/images/tooltip-background@3x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/images/tooltip-background@4x.9.png b/src/imports/controls/imagine/images/tooltip-background@4x.9.png
deleted file mode 100644
index e14599cf..00000000
--- a/src/imports/controls/imagine/images/tooltip-background@4x.9.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/imagine/imagine.pri b/src/imports/controls/imagine/imagine.pri
deleted file mode 100644
index 081a509e..00000000
--- a/src/imports/controls/imagine/imagine.pri
+++ /dev/null
@@ -1,59 +0,0 @@
-QML_FILES += \
- $$PWD/ApplicationWindow.qml \
- $$PWD/BusyIndicator.qml \
- $$PWD/Button.qml \
- $$PWD/CheckBox.qml \
- $$PWD/CheckDelegate.qml \
- $$PWD/ComboBox.qml \
- $$PWD/DelayButton.qml \
- $$PWD/Dial.qml \
- $$PWD/Dialog.qml \
- $$PWD/DialogButtonBox.qml \
- $$PWD/Drawer.qml \
- $$PWD/Frame.qml \
- $$PWD/GroupBox.qml \
- $$PWD/ItemDelegate.qml \
- $$PWD/Label.qml \
- $$PWD/Menu.qml \
- $$PWD/MenuItem.qml \
- $$PWD/MenuSeparator.qml \
- $$PWD/PageIndicator.qml \
- $$PWD/Page.qml \
- $$PWD/Pane.qml \
- $$PWD/Popup.qml \
- $$PWD/ProgressBar.qml \
- $$PWD/RadioButton.qml \
- $$PWD/RadioDelegate.qml \
- $$PWD/RangeSlider.qml \
- $$PWD/RoundButton.qml \
- $$PWD/ScrollBar.qml \
- $$PWD/ScrollIndicator.qml \
- $$PWD/Slider.qml \
- $$PWD/SpinBox.qml \
- $$PWD/SplitView.qml \
- $$PWD/StackView.qml \
- $$PWD/SwipeDelegate.qml \
- $$PWD/SwipeView.qml \
- $$PWD/Switch.qml \
- $$PWD/SwitchDelegate.qml \
- $$PWD/TextField.qml \
- $$PWD/TextArea.qml \
- $$PWD/TabBar.qml \
- $$PWD/TabButton.qml \
- $$PWD/ToolBar.qml \
- $$PWD/ToolButton.qml \
- $$PWD/ToolSeparator.qml \
- $$PWD/ToolTip.qml \
- $$PWD/Tumbler.qml
-
-HEADERS += \
- $$PWD/qquickimageselector_p.h \
- $$PWD/qquickimaginestyle_p.h \
- $$PWD/qquickimaginetheme_p.h \
- $$PWD/qquickninepatchimage_p.h
-
-SOURCES += \
- $$PWD/qquickimageselector.cpp \
- $$PWD/qquickimaginestyle.cpp \
- $$PWD/qquickimaginetheme.cpp \
- $$PWD/qquickninepatchimage.cpp
diff --git a/src/imports/controls/imagine/imagine.pro b/src/imports/controls/imagine/imagine.pro
deleted file mode 100644
index f16bd081..00000000
--- a/src/imports/controls/imagine/imagine.pro
+++ /dev/null
@@ -1,30 +0,0 @@
-TARGET = qtquickcontrols2imaginestyleplugin
-TARGETPATH = QtQuick/Controls.2/Imagine
-
-IMPORT_NAME = QtQuick.Controls.Imagine
-IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-include(imagine.pri)
-
-OTHER_FILES += \
- qmldir \
- $$QML_FILES
-
-SOURCES += \
- $$PWD/qtquickcontrols2imaginestyleplugin.cpp
-
-qtquickcontrols2imaginestyle.prefix = qt-project.org/imports/QtQuick/Controls.2/Imagine
-qtquickcontrols2imaginestyle.files += \
- $$files($$PWD/images/*.png) \
- $$files($$PWD/images/*.webp)
-RESOURCES += qtquickcontrols2imaginestyle
-
-CONFIG += no_cxx_module install_qml_files builtin_resources qtquickcompiler
-load(qml_plugin)
-
-requires(qtConfig(quickcontrols2-imagine))
diff --git a/src/imports/controls/imagine/plugins.qmltypes b/src/imports/controls/imagine/plugins.qmltypes
deleted file mode 100644
index 014714f3..00000000
--- a/src/imports/controls/imagine/plugins.qmltypes
+++ /dev/null
@@ -1,60 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Controls.Imagine 2.13'
-
-Module {
- dependencies: ["QtQuick.Controls 2.0"]
- Component {
- name: "QQuickAnimatedImageSelector"
- prototype: "QQuickImageSelector"
- exports: ["QtQuick.Controls.Imagine.impl/AnimatedImageSelector 2.3"]
- exportMetaObjectRevisions: [0]
- }
- Component { name: "QQuickAttachedObject"; prototype: "QObject" }
- Component {
- name: "QQuickImageSelector"
- prototype: "QObject"
- exports: ["QtQuick.Controls.Imagine.impl/ImageSelector 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "source"; type: "QUrl"; isReadonly: true }
- Property { name: "name"; type: "string" }
- Property { name: "path"; type: "string" }
- Property { name: "states"; type: "QVariantList" }
- Property { name: "separator"; type: "string" }
- Property { name: "cache"; type: "bool" }
- }
- Component {
- name: "QQuickImagineStyle"
- prototype: "QQuickAttachedObject"
- exports: ["QtQuick.Controls.Imagine/Imagine 2.3"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "path"; type: "string" }
- Property { name: "url"; type: "QUrl"; isReadonly: true }
- }
- Component {
- name: "QQuickNinePatchImage"
- defaultProperty: "data"
- prototype: "QQuickImage"
- exports: ["QtQuick.Controls.Imagine.impl/NinePatchImage 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "topPadding"; type: "double"; isReadonly: true }
- Property { name: "leftPadding"; type: "double"; isReadonly: true }
- Property { name: "rightPadding"; type: "double"; isReadonly: true }
- Property { name: "bottomPadding"; type: "double"; isReadonly: true }
- Property { name: "topInset"; type: "double"; isReadonly: true }
- Property { name: "leftInset"; type: "double"; isReadonly: true }
- Property { name: "rightInset"; type: "double"; isReadonly: true }
- Property { name: "bottomInset"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QQuickNinePatchImageSelector"
- prototype: "QQuickImageSelector"
- exports: ["QtQuick.Controls.Imagine.impl/NinePatchImageSelector 2.3"]
- exportMetaObjectRevisions: [0]
- }
-}
diff --git a/src/imports/controls/imagine/qmldir b/src/imports/controls/imagine/qmldir
deleted file mode 100644
index 7b4b3ea0..00000000
--- a/src/imports/controls/imagine/qmldir
+++ /dev/null
@@ -1,5 +0,0 @@
-module QtQuick.Controls.Imagine
-plugin qtquickcontrols2imaginestyleplugin
-classname QtQuickControls2ImagineStylePlugin
-depends QtQuick.Controls 2.5
-depends QtGraphicalEffects 1.0
diff --git a/src/imports/controls/imagine/qquickimageselector.cpp b/src/imports/controls/imagine/qquickimageselector.cpp
deleted file mode 100644
index 67d3a24b..00000000
--- a/src/imports/controls/imagine/qquickimageselector.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickimageselector_p.h"
-
-#include <QtCore/qdir.h>
-#include <QtCore/qfileinfo.h>
-#include <QtCore/qcache.h>
-#include <QtCore/qloggingcategory.h>
-#include <QtCore/qfileselector.h>
-#include <QtQml/qqmlfile.h>
-#include <QtQml/private/qqmlproperty_p.h>
-#include <algorithm>
-
-QT_BEGIN_NAMESPACE
-
-static const int DEFAULT_CACHE = 500;
-
-static inline int cacheSize()
-{
- static bool ok = false;
- static const int size = qEnvironmentVariableIntValue("QT_QUICK_CONTROLS_IMAGINE_CACHE", &ok);
- return ok ? size : DEFAULT_CACHE;
-}
-
-Q_DECLARE_LOGGING_CATEGORY(lcQtQuickControlsImagine)
-
-// input: [focused, pressed]
-// => [[focused, pressed], [pressed, focused], [focused], [pressed]]
-static QList<QStringList> permutations(const QStringList &input, int count = -1)
-{
- if (count == -1)
- count = input.count();
-
- QList<QStringList> output;
- for (int i = 0; i < input.count(); ++i) {
- QStringList sub = input.mid(i, count);
-
- if (count > 1) {
- if (i + count > input.count())
- sub += input.mid(0, count - i + 1);
-
- std::sort(sub.begin(), sub.end());
- do {
- if (!sub.isEmpty())
- output += sub;
- } while (std::next_permutation(sub.begin(), sub.end()));
- } else {
- output += sub;
- }
-
- if (count == input.count())
- break;
- }
-
- if (count > 1)
- output += permutations(input, --count);
-
- return output;
-}
-
-static QString findFile(const QDir &dir, const QString &baseName, const QStringList &extensions)
-{
- for (const QString &ext : extensions) {
- QString filePath = dir.filePath(baseName + QLatin1Char('.') + ext);
- if (QFile::exists(filePath))
- return QFileSelector().select(filePath);
- }
- // return an empty string to indicate that the lookup has been done
- // even if no matching asset was found
- return QLatin1String("");
-}
-
-QQuickImageSelector::QQuickImageSelector(QObject *parent)
- : QObject(parent),
- m_cache(cacheSize() > 0)
-{
-}
-
-QUrl QQuickImageSelector::source() const
-{
- return m_source;
-}
-
-void QQuickImageSelector::setSource(const QUrl &source)
-{
- if (m_property.isValid())
- QQmlPropertyPrivate::write(m_property, source, QQmlPropertyData::BypassInterceptor | QQmlPropertyData::DontRemoveBinding);
- if (m_source == source)
- return;
-
- m_source = source;
- emit sourceChanged();
-}
-
-QString QQuickImageSelector::name() const
-{
- return m_name;
-}
-
-void QQuickImageSelector::setName(const QString &name)
-{
- if (m_name == name)
- return;
-
- m_name = name;
- if (m_complete)
- updateSource();
-}
-
-QString QQuickImageSelector::path() const
-{
- return m_path;
-}
-
-void QQuickImageSelector::setPath(const QString &path)
-{
- if (m_path == path)
- return;
-
- m_path = path;
- if (m_complete)
- updateSource();
-}
-
-QVariantList QQuickImageSelector::states() const
-{
- return m_allStates;
-}
-
-void QQuickImageSelector::setStates(const QVariantList &states)
-{
- if (m_allStates == states)
- return;
-
- m_allStates = states;
- if (updateActiveStates() && m_complete)
- updateSource();
-}
-
-QString QQuickImageSelector::separator() const
-{
- return m_separator;
-}
-
-void QQuickImageSelector::setSeparator(const QString &separator)
-{
- if (m_separator == separator)
- return;
-
- m_separator = separator;
- if (m_complete)
- updateSource();
-}
-
-bool QQuickImageSelector::cache() const
-{
- return m_cache;
-}
-
-void QQuickImageSelector::setCache(bool cache)
-{
- m_cache = cache;
-}
-
-void QQuickImageSelector::write(const QVariant &value)
-{
- setUrl(value.toUrl());
-}
-
-void QQuickImageSelector::setTarget(const QQmlProperty &property)
-{
- m_property = property;
-}
-
-void QQuickImageSelector::classBegin()
-{
-}
-
-void QQuickImageSelector::componentComplete()
-{
- setUrl(m_property.read().toUrl());
- m_complete = true;
- updateSource();
-}
-
-QStringList QQuickImageSelector::fileExtensions() const
-{
- static const QStringList extensions = QStringList() << QStringLiteral("png");
- return extensions;
-}
-
-QString QQuickImageSelector::cacheKey() const
-{
- if (!m_cache)
- return QString();
-
- return m_path + m_name + m_activeStates.join(m_separator);
-}
-
-void QQuickImageSelector::updateSource()
-{
- static QCache<QString, QString> cache(cacheSize());
-
- const QString key = cacheKey();
-
- QString bestFilePath;
-
- if (m_cache) {
- QString *cachedPath = cache.object(key);
- if (cachedPath)
- bestFilePath = *cachedPath;
- }
-
- // note: a cached file path may be empty
- if (bestFilePath.isNull()) {
- QDir dir(m_path);
- int bestScore = -1;
-
- const QStringList extensions = fileExtensions();
-
- const QList<QStringList> statePerms = permutations(m_activeStates);
- for (const QStringList &perm : statePerms) {
- const QString filePath = findFile(dir, m_name + m_separator + perm.join(m_separator), extensions);
- if (!filePath.isEmpty()) {
- int score = calculateScore(perm);
- if (score > bestScore) {
- bestScore = score;
- bestFilePath = filePath;
- }
- }
- }
-
- if (bestFilePath.isEmpty())
- bestFilePath = findFile(dir, m_name, extensions);
-
- if (m_cache)
- cache.insert(key, new QString(bestFilePath));
- }
-
- qCDebug(lcQtQuickControlsImagine) << m_name << m_activeStates << "->" << bestFilePath;
-
- if (bestFilePath.startsWith(QLatin1Char(':')))
- setSource(QUrl(QLatin1String("qrc") + bestFilePath));
- else
- setSource(QUrl::fromLocalFile(bestFilePath));
-}
-
-void QQuickImageSelector::setUrl(const QUrl &url)
-{
- QFileInfo fileInfo(QQmlFile::urlToLocalFileOrQrc(url));
- setName(fileInfo.fileName());
- setPath(fileInfo.path());
-}
-
-bool QQuickImageSelector::updateActiveStates()
-{
- QStringList active;
- for (const QVariant &v : qAsConst(m_allStates)) {
- const QVariantMap state = v.toMap();
- if (state.isEmpty())
- continue;
- auto it = state.begin();
- if (it.value().toBool())
- active += it.key();
- }
-
- if (m_activeStates == active)
- return false;
-
- m_activeStates = active;
- return true;
-}
-
-int QQuickImageSelector::calculateScore(const QStringList &states) const
-{
- int score = 0;
- for (int i = 0; i < states.count(); ++i)
- score += (m_activeStates.count() - m_activeStates.indexOf(states.at(i))) << 1;
- return score;
-}
-
-QQuickNinePatchImageSelector::QQuickNinePatchImageSelector(QObject *parent)
- : QQuickImageSelector(parent)
-{
-}
-
-QStringList QQuickNinePatchImageSelector::fileExtensions() const
-{
- static const QStringList extensions = QStringList() << QStringLiteral("9.png") << QStringLiteral("png");
- return extensions;
-}
-
-QQuickAnimatedImageSelector::QQuickAnimatedImageSelector(QObject *parent)
- : QQuickImageSelector(parent)
-{
-}
-
-QStringList QQuickAnimatedImageSelector::fileExtensions() const
-{
- static const QStringList extensions = QStringList() << QStringLiteral("webp") << QStringLiteral("gif");
- return extensions;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/imagine/qquickimageselector_p.h b/src/imports/controls/imagine/qquickimageselector_p.h
deleted file mode 100644
index d050707d..00000000
--- a/src/imports/controls/imagine/qquickimageselector_p.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKIMAGESELECTOR_P_H
-#define QQUICKIMAGESELECTOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qobject.h>
-#include <QtCore/qvariant.h>
-#include <QtQml/qqmlproperty.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/private/qqmlpropertyvalueinterceptor_p.h>
-#include <QtQml/qqmlproperty.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickImageSelector : public QObject, public QQmlParserStatus, public QQmlPropertyValueInterceptor
-{
- Q_OBJECT
- Q_PROPERTY(QUrl source READ source NOTIFY sourceChanged FINAL)
- Q_PROPERTY(QString name READ name WRITE setName FINAL)
- Q_PROPERTY(QString path READ path WRITE setPath FINAL)
- Q_PROPERTY(QVariantList states READ states WRITE setStates FINAL)
- Q_PROPERTY(QString separator READ separator WRITE setSeparator FINAL)
- Q_PROPERTY(bool cache READ cache WRITE setCache FINAL)
- Q_INTERFACES(QQmlParserStatus QQmlPropertyValueInterceptor)
-
-public:
- explicit QQuickImageSelector(QObject *parent = nullptr);
-
- QUrl source() const;
- void setSource(const QUrl &source);
-
- QString name() const;
- void setName(const QString &name);
-
- QString path() const;
- void setPath(const QString &path);
-
- QVariantList states() const;
- void setStates(const QVariantList &states);
-
- QString separator() const;
- void setSeparator(const QString &separator);
-
- bool cache() const;
- void setCache(bool cache);
-
- void write(const QVariant &value) override;
- void setTarget(const QQmlProperty &property) override;
-
-Q_SIGNALS:
- void sourceChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- virtual QStringList fileExtensions() const;
-
- QString cacheKey() const;
- void updateSource();
- void setUrl(const QUrl &url);
- bool updateActiveStates();
- int calculateScore(const QStringList &states) const;
-
-private:
- bool m_cache = false;
- bool m_complete = false;
- QUrl m_source;
- QString m_path;
- QString m_name;
- QString m_separator = QLatin1String("-");
- QVariantList m_allStates;
- QStringList m_activeStates;
- QQmlProperty m_property;
-};
-
-class QQuickNinePatchImageSelector : public QQuickImageSelector
-{
- Q_OBJECT
-
-public:
- explicit QQuickNinePatchImageSelector(QObject *parent = nullptr);
-
-protected:
- QStringList fileExtensions() const override;
-};
-
-class QQuickAnimatedImageSelector : public QQuickImageSelector
-{
- Q_OBJECT
-
-public:
- explicit QQuickAnimatedImageSelector(QObject *parent = nullptr);
-
-protected:
- QStringList fileExtensions() const override;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickImageSelector)
-QML_DECLARE_TYPE(QQuickAnimatedImageSelector)
-
-#endif // QQUICKIMAGESELECTOR_P_H
diff --git a/src/imports/controls/imagine/qquickimaginestyle.cpp b/src/imports/controls/imagine/qquickimaginestyle.cpp
deleted file mode 100644
index 9e1431de..00000000
--- a/src/imports/controls/imagine/qquickimaginestyle.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickimaginestyle_p.h"
-
-#include <QtCore/qsettings.h>
-#include <QtQuickControls2/private/qquickstyle_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_GLOBAL_STATIC_WITH_ARGS(QString, GlobalPath, (QLatin1String("qrc:/qt-project.org/imports/QtQuick/Controls.2/Imagine/images/")))
-
-static const QString ensureSlash(const QString &path)
-{
- const QChar slash = QLatin1Char('/');
- return path.endsWith(slash) ? path : path + slash;
-}
-
-QQuickImagineStyle::QQuickImagineStyle(QObject *parent)
- : QQuickAttachedObject(parent),
- m_path(*GlobalPath())
-{
- init();
-}
-
-QQuickImagineStyle *QQuickImagineStyle::qmlAttachedProperties(QObject *object)
-{
- return new QQuickImagineStyle(object);
-}
-
-QString QQuickImagineStyle::path() const
-{
- return m_path;
-}
-
-void QQuickImagineStyle::setPath(const QString &path)
-{
- m_explicitPath = true;
- if (m_path == path)
- return;
-
- m_path = path;
- propagatePath();
-
- emit pathChanged();
-}
-
-void QQuickImagineStyle::inheritPath(const QString &path)
-{
- if (m_explicitPath || m_path == path)
- return;
-
- m_path = path;
- propagatePath();
- emit pathChanged();
-}
-
-void QQuickImagineStyle::propagatePath()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickImagineStyle *imagine = qobject_cast<QQuickImagineStyle *>(child);
- if (imagine)
- imagine->inheritPath(m_path);
- }
-}
-
-void QQuickImagineStyle::resetPath()
-{
- if (!m_explicitPath)
- return;
-
- m_explicitPath = false;
- QQuickImagineStyle *imagine = qobject_cast<QQuickImagineStyle *>(attachedParent());
- inheritPath(imagine ? imagine->path() : *GlobalPath());
-}
-
-QUrl QQuickImagineStyle::url() const
-{
- // Using ApplicationWindow as an example, its NinePatchImage url
- // was previously assigned like this:
- //
- // soruce: Imagine.path + "applicationwindow-background"
- //
- // If Imagine.path is set to ":/images" by the user, then the final URL would be:
- //
- // QUrl("file:///home/user/qt/qtbase/qml/QtQuick/Controls.2/Imagine/:/images/applicationwindow-background")
- //
- // To ensure that the correct URL is constructed, we do it ourselves here,
- // and then the control QML files use the "url" property instead.
- const QString path = ensureSlash(m_path);
- if (path.startsWith(QLatin1String("qrc")))
- return QUrl(path);
-
- if (path.startsWith(QLatin1String(":/")))
- return QUrl(QLatin1String("qrc") + path);
-
- return QUrl::fromLocalFile(path);
-}
-
-void QQuickImagineStyle::attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent)
-{
- Q_UNUSED(oldParent);
- QQuickImagineStyle *imagine = qobject_cast<QQuickImagineStyle *>(newParent);
- if (imagine)
- inheritPath(imagine->path());
-}
-
-static QByteArray resolveSetting(const QByteArray &env, const QSharedPointer<QSettings> &settings, const QString &name)
-{
- QByteArray value = qgetenv(env);
-#if QT_CONFIG(settings)
- if (value.isNull() && !settings.isNull())
- value = settings->value(name).toByteArray();
-#endif
- return value;
-}
-
-void QQuickImagineStyle::init()
-{
- static bool globalsInitialized = false;
- if (!globalsInitialized) {
- QSharedPointer<QSettings> settings = QQuickStylePrivate::settings(QStringLiteral("Imagine"));
-
- QString path = QString::fromUtf8(resolveSetting("QT_QUICK_CONTROLS_IMAGINE_PATH", settings, QStringLiteral("Path")));
- if (!path.isEmpty())
- *GlobalPath() = m_path = ensureSlash(path);
-
- globalsInitialized = true;
- }
-
- QQuickAttachedObject::init(); // TODO: lazy init?
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/imagine/qquickimaginestyle_p.h b/src/imports/controls/imagine/qquickimaginestyle_p.h
deleted file mode 100644
index 20a4baf0..00000000
--- a/src/imports/controls/imagine/qquickimaginestyle_p.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKIMAGINESTYLE_P_H
-#define QQUICKIMAGINESTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickControls2/private/qquickattachedobject_p.h>
-#include <QtCore/qvariant.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickImagineStyle : public QQuickAttachedObject
-{
- Q_OBJECT
- Q_PROPERTY(QString path READ path WRITE setPath RESET resetPath NOTIFY pathChanged FINAL)
- Q_PROPERTY(QUrl url READ url NOTIFY pathChanged FINAL)
-
-public:
- explicit QQuickImagineStyle(QObject *parent = nullptr);
-
- static QQuickImagineStyle *qmlAttachedProperties(QObject *object);
-
- QString path() const;
- void setPath(const QString &path);
- void inheritPath(const QString &path);
- void propagatePath();
- void resetPath();
-
- QUrl url() const;
-
-Q_SIGNALS:
- void pathChanged();
-
-protected:
- void attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent) override;
-
-private:
- void init();
-
- bool m_explicitPath = false;
- QString m_path;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPEINFO(QQuickImagineStyle, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKIMAGINESTYLE_P_H
diff --git a/src/imports/controls/imagine/qquickimaginetheme.cpp b/src/imports/controls/imagine/qquickimaginetheme.cpp
deleted file mode 100644
index a9722fa5..00000000
--- a/src/imports/controls/imagine/qquickimaginetheme.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickimaginetheme_p.h"
-
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickImagineTheme::initialize(QQuickTheme *theme)
-{
- QFont systemFont;
- systemFont.setFamily(QLatin1String("Open Sans"));
- theme->setFont(QQuickTheme::System, systemFont);
-
- const QColor accentColor = QColor::fromRgb(0x4fc1e9);
- const QColor windowTextColor = QColor::fromRgb(0x434a54);
- const QColor disabledWindowTextColor = QColor::fromRgb(0xccd1d9);
-
- QPalette systemPalette;
- systemPalette.setColor(QPalette::ButtonText, Qt::white);
- systemPalette.setColor(QPalette::BrightText, Qt::white);
- systemPalette.setColor(QPalette::Highlight, accentColor);
- systemPalette.setColor(QPalette::HighlightedText, Qt::white);
- systemPalette.setColor(QPalette::Text, windowTextColor);
- systemPalette.setColor(QPalette::ToolTipText, Qt::white);
- systemPalette.setColor(QPalette::WindowText, windowTextColor);
- systemPalette.setColor(QPalette::Disabled, QPalette::Text, disabledWindowTextColor);
- systemPalette.setColor(QPalette::Disabled, QPalette::WindowText, disabledWindowTextColor);
- theme->setPalette(QQuickTheme::System, systemPalette);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/imagine/qquickimaginetheme_p.h b/src/imports/controls/imagine/qquickimaginetheme_p.h
deleted file mode 100644
index d3d43074..00000000
--- a/src/imports/controls/imagine/qquickimaginetheme_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKIMAGINETHEME_P_H
-#define QQUICKIMAGINETHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTheme;
-
-class QQuickImagineTheme
-{
-public:
- static void initialize(QQuickTheme *theme);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKIMAGINETHEME_P_H
diff --git a/src/imports/controls/imagine/qquickninepatchimage.cpp b/src/imports/controls/imagine/qquickninepatchimage.cpp
deleted file mode 100644
index c840c6f8..00000000
--- a/src/imports/controls/imagine/qquickninepatchimage.cpp
+++ /dev/null
@@ -1,440 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickninepatchimage_p.h"
-
-#include <QtCore/qfileinfo.h>
-#include <QtQuick/qsggeometry.h>
-#include <QtQuick/qsgtexturematerial.h>
-#include <QtQuick/private/qsgnode_p.h>
-#include <QtQuick/private/qquickimage_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-struct QQuickNinePatchData
-{
- QVector<qreal> coordsForSize(qreal count) const;
-
- inline bool isNull() const { return data.isEmpty(); }
- inline int count() const { return data.size(); }
- inline qreal at(int index) const { return data.at(index); }
- inline qreal size() const { return data.last(); }
-
- void fill(const QVector<qreal> &coords, qreal count);
- void clear();
-
-private:
- bool inverted = false;
- QVector<qreal> data;
-};
-
-QVector<qreal> QQuickNinePatchData::coordsForSize(qreal size) const
-{
- // n = number of stretchable sections
- // We have to compensate when adding 0 and/or
- // the source image width to the divs vector.
- const int l = data.size();
- const int n = (inverted ? l - 1 : l) / 2;
- const qreal stretch = (size - data.last()) / n;
-
- QVector<qreal> coords;
- coords.reserve(l);
- coords.append(0);
-
- bool stretched = !inverted;
- for (int i = 1; i < l; ++i) {
- qreal advance = data[i] - data[i - 1];
- if (stretched)
- advance += stretch;
- coords.append(coords.last() + advance);
-
- stretched = !stretched;
- }
-
- return coords;
-}
-
-void QQuickNinePatchData::fill(const QVector<qreal> &coords, qreal size)
-{
- data.clear();
- inverted = coords.isEmpty() || coords.first() != 0;
-
- // Reserve an extra item in case we need to add the image width/height
- if (inverted) {
- data.reserve(coords.size() + 2);
- data.append(0);
- } else {
- data.reserve(coords.size() + 1);
- }
-
- data += coords;
- data.append(size);
-}
-
-void QQuickNinePatchData::clear()
-{
- data.clear();
-}
-
-class QQuickNinePatchNode : public QSGGeometryNode
-{
-public:
- QQuickNinePatchNode();
- ~QQuickNinePatchNode();
-
- void initialize(QSGTexture *texture, const QSizeF &targetSize, const QSize &sourceSize,
- const QQuickNinePatchData &xDivs, const QQuickNinePatchData &yDivs, qreal dpr);
-
-private:
- QSGGeometry m_geometry;
- QSGTextureMaterial m_material;
-};
-
-QQuickNinePatchNode::QQuickNinePatchNode()
- : m_geometry(QSGGeometry::defaultAttributes_TexturedPoint2D(), 4)
-{
- m_geometry.setDrawingMode(QSGGeometry::DrawTriangles);
- setGeometry(&m_geometry);
- setMaterial(&m_material);
-}
-
-QQuickNinePatchNode::~QQuickNinePatchNode()
-{
- delete m_material.texture();
-}
-
-void QQuickNinePatchNode::initialize(QSGTexture *texture, const QSizeF &targetSize, const QSize &sourceSize,
- const QQuickNinePatchData &xDivs, const QQuickNinePatchData &yDivs, qreal dpr)
-{
- delete m_material.texture();
- m_material.setTexture(texture);
-
- const int xlen = xDivs.count();
- const int ylen = yDivs.count();
-
- if (xlen > 0 && ylen > 0) {
- const int quads = (xlen - 1) * (ylen - 1);
- static const int verticesPerQuad = 6;
- m_geometry.allocate(xlen * ylen, verticesPerQuad * quads);
-
- QSGGeometry::TexturedPoint2D *vertices = m_geometry.vertexDataAsTexturedPoint2D();
- QVector<qreal> xCoords = xDivs.coordsForSize(targetSize.width());
- QVector<qreal> yCoords = yDivs.coordsForSize(targetSize.height());
-
- for (int y = 0; y < ylen; ++y) {
- for (int x = 0; x < xlen; ++x, ++vertices)
- vertices->set(xCoords[x] / dpr, yCoords[y] / dpr,
- xDivs.at(x) / sourceSize.width(),
- yDivs.at(y) / sourceSize.height());
- }
-
- quint16 *indices = m_geometry.indexDataAsUShort();
- int n = quads;
- for (int q = 0; n--; ++q) {
- if ((q + 1) % xlen == 0) // next row
- ++q;
- // Bottom-left half quad triangle
- indices[0] = q;
- indices[1] = q + xlen;
- indices[2] = q + xlen + 1;
-
- // Top-right half quad triangle
- indices[3] = q;
- indices[4] = q + xlen + 1;
- indices[5] = q + 1;
-
- indices += verticesPerQuad;
- }
- }
-
- markDirty(QSGNode::DirtyGeometry | QSGNode::DirtyMaterial);
-}
-
-class QQuickNinePatchImagePrivate : public QQuickImagePrivate
-{
- Q_DECLARE_PUBLIC(QQuickNinePatchImage)
-
-public:
- void updatePatches();
- void updatePaddings(const QSizeF &size, const QVector<qreal> &horizontal, const QVector<qreal> &vertical);
- void updateInsets(const QVector<qreal> &horizontal, const QVector<qreal> &vertical);
-
- bool resetNode = false;
- qreal topPadding = 0;
- qreal leftPadding = 0;
- qreal rightPadding = 0;
- qreal bottomPadding = 0;
- qreal topInset = 0;
- qreal leftInset = 0;
- qreal rightInset = 0;
- qreal bottomInset = 0;
-
- QImage ninePatch;
- QQuickNinePatchData xDivs;
- QQuickNinePatchData yDivs;
-};
-
-static QVector<qreal> readCoords(const QRgb *data, int from, int count, int offset, QRgb color)
-{
- int p1 = -1;
- QVector<qreal> coords;
- for (int i = 0; i < count; ++i) {
- int p2 = from + i * offset;
- if (data[p2] == color) {
- // colored pixel
- if (p1 == -1)
- p1 = i;
- } else {
- // empty pixel
- if (p1 != -1) {
- coords << p1 << i;
- p1 = -1;
- }
- }
- }
- return coords;
-}
-
-void QQuickNinePatchImagePrivate::updatePatches()
-{
- if (ninePatch.isNull())
- return;
-
- int w = ninePatch.width();
- int h = ninePatch.height();
- const QRgb *data = reinterpret_cast<const QRgb *>(ninePatch.constBits());
-
- const QRgb black = qRgb(0,0,0);
- const QRgb red = qRgb(255,0,0);
-
- xDivs.fill(readCoords(data, 1, w - 1, 1, black), w - 2); // top left -> top right
- yDivs.fill(readCoords(data, w, h - 1, w, black), h - 2); // top left -> bottom left
-
- QVector<qreal> hInsets = readCoords(data, (h - 1) * w + 1, w - 1, 1, red); // bottom left -> bottom right
- QVector<qreal> vInsets = readCoords(data, 2 * w - 1, h - 1, w, red); // top right -> bottom right
- updateInsets(hInsets, vInsets);
-
- const QSizeF sz(w - leftInset - rightInset, h - topInset - bottomInset);
- QVector<qreal> hPaddings = readCoords(data, (h - 1) * w + leftInset + 1, sz.width() - 2, 1, black); // bottom left -> bottom right
- QVector<qreal> vPaddings = readCoords(data, (2 + topInset) * w - 1, sz.height() - 2, w, black); // top right -> bottom right
- updatePaddings(sz, hPaddings, vPaddings);
-}
-
-void QQuickNinePatchImagePrivate::updatePaddings(const QSizeF &size, const QVector<qreal> &horizontal, const QVector<qreal> &vertical)
-{
- Q_Q(QQuickNinePatchImage);
- qreal oldTopPadding = topPadding;
- qreal oldLeftPadding = leftPadding;
- qreal oldRightPadding = rightPadding;
- qreal oldBottomPadding = bottomPadding;
-
- if (horizontal.count() >= 2) {
- leftPadding = horizontal.first();
- rightPadding = size.width() - horizontal.last() - 2;
- } else {
- leftPadding = 0;
- rightPadding = 0;
- }
-
- if (vertical.count() >= 2) {
- topPadding = vertical.first();
- bottomPadding = size.height() - vertical.last() - 2;
- } else {
- topPadding = 0;
- bottomPadding = 0;
- }
-
- if (!qFuzzyCompare(oldTopPadding, topPadding))
- emit q->topPaddingChanged();
- if (!qFuzzyCompare(oldBottomPadding, bottomPadding))
- emit q->bottomPaddingChanged();
- if (!qFuzzyCompare(oldLeftPadding, leftPadding))
- emit q->leftPaddingChanged();
- if (!qFuzzyCompare(oldRightPadding, rightPadding))
- emit q->rightPaddingChanged();
-}
-
-void QQuickNinePatchImagePrivate::updateInsets(const QVector<qreal> &horizontal, const QVector<qreal> &vertical)
-{
- Q_Q(QQuickNinePatchImage);
- qreal oldTopInset = topInset;
- qreal oldLeftInset = leftInset;
- qreal oldRightInset = rightInset;
- qreal oldBottomInset = bottomInset;
-
- if (horizontal.count() >= 2 && horizontal.first() == 0)
- leftInset = horizontal.at(1);
- else
- leftInset = 0;
-
- if (horizontal.count() == 2 && horizontal.first() > 0)
- rightInset = horizontal.last() - horizontal.first();
- else if (horizontal.count() == 4)
- rightInset = horizontal.last() - horizontal.at(2);
- else
- rightInset = 0;
-
- if (vertical.count() >= 2 && vertical.first() == 0)
- topInset = vertical.at(1);
- else
- topInset = 0;
-
- if (vertical.count() == 2 && vertical.first() > 0)
- bottomInset = vertical.last() - vertical.first();
- else if (vertical.count() == 4)
- bottomInset = vertical.last() - vertical.at(2);
- else
- bottomInset = 0;
-
- if (!qFuzzyCompare(oldTopInset, topInset))
- emit q->topInsetChanged();
- if (!qFuzzyCompare(oldBottomInset, bottomInset))
- emit q->bottomInsetChanged();
- if (!qFuzzyCompare(oldLeftInset, leftInset))
- emit q->leftInsetChanged();
- if (!qFuzzyCompare(oldRightInset, rightInset))
- emit q->rightInsetChanged();
-}
-
-QQuickNinePatchImage::QQuickNinePatchImage(QQuickItem *parent)
- : QQuickImage(*(new QQuickNinePatchImagePrivate), parent)
-{
-}
-
-qreal QQuickNinePatchImage::topPadding() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->topPadding / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::leftPadding() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->leftPadding / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::rightPadding() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->rightPadding / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::bottomPadding() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->bottomPadding / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::topInset() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->topInset / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::leftInset() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->leftInset / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::rightInset() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->rightInset / d->devicePixelRatio;
-}
-
-qreal QQuickNinePatchImage::bottomInset() const
-{
- Q_D(const QQuickNinePatchImage);
- return d->bottomInset / d->devicePixelRatio;
-}
-
-void QQuickNinePatchImage::pixmapChange()
-{
- Q_D(QQuickNinePatchImage);
- if (QFileInfo(d->url.fileName()).completeSuffix().toLower() == QLatin1String("9.png")) {
- d->resetNode = d->ninePatch.isNull();
- d->ninePatch = d->pix.image();
- if (d->ninePatch.depth() != 32)
- d->ninePatch = d->ninePatch.convertToFormat(QImage::Format_ARGB32);
-
- int w = d->ninePatch.width();
- int h = d->ninePatch.height();
- d->pix.setImage(QImage(d->ninePatch.constBits() + 4 * (w + 1), w - 2, h - 2, d->ninePatch.bytesPerLine(), d->ninePatch.format()));
-
- d->updatePatches();
- } else {
- d->resetNode = !d->ninePatch.isNull();
- d->ninePatch = QImage();
- }
- QQuickImage::pixmapChange();
-}
-
-QSGNode *QQuickNinePatchImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
-{
- Q_D(QQuickNinePatchImage);
- Q_UNUSED(data);
-
- if (d->resetNode) {
- delete oldNode;
- oldNode = nullptr;
- d->resetNode = false;
- }
-
- QSizeF sz = size();
- QImage image = d->pix.image();
- if (!sz.isValid() || image.isNull()) {
- delete oldNode;
- return nullptr;
- }
-
- if (d->ninePatch.isNull())
- return QQuickImage::updatePaintNode(oldNode, data);
-
- QQuickNinePatchNode *patchNode = static_cast<QQuickNinePatchNode *>(oldNode);
- if (!patchNode)
- patchNode = new QQuickNinePatchNode;
-
-#ifdef QSG_RUNTIME_DESCRIPTION
- qsgnode_set_description(patchNode, QString::fromLatin1("QQuickNinePatchImage: '%1'").arg(d->url.toString()));
-#endif
-
- QSGTexture *texture = window()->createTextureFromImage(image);
- patchNode->initialize(texture, sz * d->devicePixelRatio, image.size(), d->xDivs, d->yDivs, d->devicePixelRatio);
- return patchNode;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/imagine/qquickninepatchimage_p.h b/src/imports/controls/imagine/qquickninepatchimage_p.h
deleted file mode 100644
index 2c29490a..00000000
--- a/src/imports/controls/imagine/qquickninepatchimage_p.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKNINEPATCHIMAGE_P_H
-#define QQUICKNINEPATCHIMAGE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickimage_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickNinePatchImagePrivate;
-
-class QQuickNinePatchImage : public QQuickImage
-{
- Q_OBJECT
- Q_PROPERTY(qreal topPadding READ topPadding NOTIFY topPaddingChanged FINAL)
- Q_PROPERTY(qreal leftPadding READ leftPadding NOTIFY leftPaddingChanged FINAL)
- Q_PROPERTY(qreal rightPadding READ rightPadding NOTIFY rightPaddingChanged FINAL)
- Q_PROPERTY(qreal bottomPadding READ bottomPadding NOTIFY bottomPaddingChanged FINAL)
- Q_PROPERTY(qreal topInset READ topInset NOTIFY topInsetChanged FINAL)
- Q_PROPERTY(qreal leftInset READ leftInset NOTIFY leftInsetChanged FINAL)
- Q_PROPERTY(qreal rightInset READ rightInset NOTIFY rightInsetChanged FINAL)
- Q_PROPERTY(qreal bottomInset READ bottomInset NOTIFY bottomInsetChanged FINAL)
-
-public:
- explicit QQuickNinePatchImage(QQuickItem *parent = nullptr);
-
- qreal topPadding() const;
- qreal leftPadding() const;
- qreal rightPadding() const;
- qreal bottomPadding() const;
-
- qreal topInset() const;
- qreal leftInset() const;
- qreal rightInset() const;
- qreal bottomInset() const;
-
-Q_SIGNALS:
- void topPaddingChanged();
- void leftPaddingChanged();
- void rightPaddingChanged();
- void bottomPaddingChanged();
-
- void topInsetChanged();
- void leftInsetChanged();
- void rightInsetChanged();
- void bottomInsetChanged();
-
-protected:
- void pixmapChange() override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data) override;
-
-private:
- Q_DISABLE_COPY(QQuickNinePatchImage)
- Q_DECLARE_PRIVATE(QQuickNinePatchImage)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickNinePatchImage)
-
-#endif // QQUICKNINEPATCHIMAGE_P_H
diff --git a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp
deleted file mode 100644
index 41fd0e85..00000000
--- a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQuickControls2/private/qquickstyleplugin_p.h>
-#include <QtCore/qloggingcategory.h>
-#include <QtQml/qqml.h>
-
-#include "qquickimageselector_p.h"
-#include "qquickimaginestyle_p.h"
-#include "qquickimaginetheme_p.h"
-#include "qquickninepatchimage_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcQtQuickControlsImagine, "qt.quick.controls.imagine")
-
-class QtQuickControls2ImagineStylePlugin: public QQuickStylePlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtQuickControls2ImagineStylePlugin(QObject *parent = nullptr);
-
- void registerTypes(const char *uri) override;
-
- QString name() const override;
- void initializeTheme(QQuickTheme *theme) override;
-};
-
-QtQuickControls2ImagineStylePlugin::QtQuickControls2ImagineStylePlugin(QObject *parent) : QQuickStylePlugin(parent)
-{
-}
-
-void QtQuickControls2ImagineStylePlugin::registerTypes(const char *uri)
-{
- qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
- qmlRegisterUncreatableType<QQuickImagineStyle>(uri, 2, 3, "Imagine", tr("Imagine is an attached property"));
-
- QByteArray import = QByteArray(uri) + ".impl";
- qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
-
- qmlRegisterType<QQuickAnimatedImageSelector>(import, 2, 3, "AnimatedImageSelector");
- qmlRegisterType<QQuickImageSelector>(import, 2, 3, "ImageSelector");
- qmlRegisterType<QQuickNinePatchImage>(import, 2, 3, "NinePatchImage");
- qmlRegisterType<QQuickNinePatchImageSelector>(import, 2, 3, "NinePatchImageSelector");
-}
-
-QString QtQuickControls2ImagineStylePlugin::name() const
-{
- return QStringLiteral("Imagine");
-}
-
-void QtQuickControls2ImagineStylePlugin::initializeTheme(QQuickTheme *theme)
-{
- QQuickImagineTheme::initialize(theme);
-}
-
-QT_END_NAMESPACE
-
-#include "qtquickcontrols2imaginestyleplugin.moc"
diff --git a/src/imports/controls/material/ApplicationWindow.qml b/src/imports/controls/material/ApplicationWindow.qml
deleted file mode 100644
index 6a10ed7f..00000000
--- a/src/imports/controls/material/ApplicationWindow.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.ApplicationWindow {
- id: window
-
- color: Material.backgroundColor
-
- overlay.modal: Rectangle {
- color: window.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-
- overlay.modeless: Rectangle {
- color: window.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-}
diff --git a/src/imports/controls/material/BoxShadow.qml b/src/imports/controls/material/BoxShadow.qml
deleted file mode 100644
index 5a746c0f..00000000
--- a/src/imports/controls/material/BoxShadow.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-/*
- A implementation of CSS's box-shadow, used by ElevationEffect for a Material Design
- elevation shadow effect.
- */
-RectangularGlow {
- // The 4 properties from CSS box-shadow, plus the inherited color property
- property int offsetX
- property int offsetY
- property int blurRadius
- property int spreadRadius
-
- // The source item the shadow is being applied to, used for correctly
- // calculating the corner radious
- property Item source
-
- property bool fullWidth
- property bool fullHeight
-
- x: (parent.width - width)/2 + offsetX
- y: (parent.height - height)/2 + offsetY
-
- implicitWidth: source ? source.width : parent.width
- implicitHeight: source ? source.height : parent.height
-
- width: implicitWidth + 2 * spreadRadius + (fullWidth ? 2 * cornerRadius : 0)
- height: implicitHeight + 2 * spreadRadius + (fullHeight ? 2 * cornerRadius : 0)
- glowRadius: blurRadius/2
- spread: 0.05
- cornerRadius: blurRadius + (source && source.radius || 0)
-}
diff --git a/src/imports/controls/material/BusyIndicator.qml b/src/imports/controls/material/BusyIndicator.qml
deleted file mode 100644
index 8173248c..00000000
--- a/src/imports/controls/material/BusyIndicator.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.BusyIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
-
- contentItem: BusyIndicatorImpl {
- implicitWidth: control.Material.touchTarget
- implicitHeight: control.Material.touchTarget
- color: control.Material.accentColor
-
- running: control.running
- opacity: control.running ? 1 : 0
- Behavior on opacity { OpacityAnimator { duration: 250 } }
- }
-}
diff --git a/src/imports/controls/material/Button.qml b/src/imports/controls/material/Button.qml
deleted file mode 100644
index 04c6664c..00000000
--- a/src/imports/controls/material/Button.qml
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Button {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topInset: 6
- bottomInset: 6
- padding: 12
- horizontalPadding: padding - 4
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: !enabled ? Material.hintTextColor :
- flat && highlighted ? Material.accentColor :
- highlighted ? Material.primaryHighlightedTextColor : Material.foreground
-
- Material.elevation: flat ? control.down || control.hovered ? 2 : 0
- : control.down ? 8 : 2
- Material.background: flat ? "transparent" : undefined
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor :
- control.flat && control.highlighted ? control.Material.accentColor :
- control.highlighted ? control.Material.primaryHighlightedTextColor : control.Material.foreground
- }
-
- background: Rectangle {
- implicitWidth: 64
- implicitHeight: control.Material.buttonHeight
-
- radius: 2
- color: !control.enabled ? control.Material.buttonDisabledColor :
- control.highlighted ? control.Material.highlightedButtonColor : control.Material.buttonColor
-
- PaddedRectangle {
- y: parent.height - 4
- width: parent.width
- height: 4
- radius: 2
- topPadding: -2
- clip: true
- visible: control.checkable && (!control.highlighted || control.flat)
- color: control.checked && control.enabled ? control.Material.accentColor : control.Material.secondaryTextColor
- }
-
- // The layer is disabled when the button color is transparent so you can do
- // Material.background: "transparent" and get a proper flat button without needing
- // to set Material.elevation as well
- layer.enabled: control.enabled && control.Material.buttonColor.a > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
-
- Ripple {
- clipRadius: 2
- width: parent.width
- height: parent.height
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.flat && control.highlighted ? control.Material.highlightedRippleColor : control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/CheckBox.qml b/src/imports/controls/material/CheckBox.qml
deleted file mode 100644
index 159e2f12..00000000
--- a/src/imports/controls/material/CheckBox.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.CheckBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 8
- padding: 8
- verticalPadding: padding + 7
-
- indicator: CheckIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
-
- Ripple {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 28; height: 28
-
- z: -1
- anchor: control
- pressed: control.pressed
- active: control.down || control.visualFocus || control.hovered
- color: control.checked ? control.Material.highlightedRippleColor : control.Material.rippleColor
- }
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-}
diff --git a/src/imports/controls/material/CheckDelegate.qml b/src/imports/controls/material/CheckDelegate.qml
deleted file mode 100644
index c7d7575e..00000000
--- a/src/imports/controls/material/CheckDelegate.qml
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.CheckDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: 8
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- indicator: CheckIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: !control.mirrored ? 0 : control.indicator.width + control.spacing
- rightPadding: control.mirrored ? 0 : control.indicator.width + control.spacing
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitHeight: control.Material.delegateHeight
-
- color: control.highlighted ? control.Material.listHighlightColor : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/CheckIndicator.qml b/src/imports/controls/material/CheckIndicator.qml
deleted file mode 100644
index 7caf8553..00000000
--- a/src/imports/controls/material/CheckIndicator.qml
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-Rectangle {
- id: indicatorItem
- implicitWidth: 18
- implicitHeight: 18
- color: "transparent"
- border.color: !control.enabled ? control.Material.hintTextColor
- : checkState !== Qt.Unchecked ? control.Material.accentColor : control.Material.secondaryTextColor
- border.width: checkState !== Qt.Unchecked ? width / 2 : 2
- radius: 2
-
- property Item control
- property int checkState: control.checkState
-
- Behavior on border.width {
- NumberAnimation {
- duration: 100
- easing.type: Easing.OutCubic
- }
- }
-
- Behavior on border.color {
- ColorAnimation {
- duration: 100
- easing.type: Easing.OutCubic
- }
- }
-
- // TODO: This needs to be transparent
- Image {
- id: checkImage
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 14
- height: 14
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/check.png"
- fillMode: Image.PreserveAspectFit
-
- scale: indicatorItem.checkState === Qt.Checked ? 1 : 0
- Behavior on scale { NumberAnimation { duration: 100 } }
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 12
- height: 3
-
- scale: indicatorItem.checkState === Qt.PartiallyChecked ? 1 : 0
- Behavior on scale { NumberAnimation { duration: 100 } }
- }
-
- states: [
- State {
- name: "checked"
- when: indicatorItem.checkState === Qt.Checked
- },
- State {
- name: "partiallychecked"
- when: indicatorItem.checkState === Qt.PartiallyChecked
- }
- ]
-
- transitions: Transition {
- SequentialAnimation {
- NumberAnimation {
- target: indicatorItem
- property: "scale"
- // Go down 2 pixels in size.
- to: 1 - 2 / indicatorItem.width
- duration: 120
- }
- NumberAnimation {
- target: indicatorItem
- property: "scale"
- to: 1
- duration: 120
- }
- }
- }
-}
diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml
deleted file mode 100644
index 7d635902..00000000
--- a/src/imports/controls/material/ComboBox.qml
+++ /dev/null
@@ -1,179 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.14
-import QtQuick.Window 2.14
-import QtQuick.Controls 2.14
-import QtQuick.Controls.impl 2.14
-import QtQuick.Templates 2.14 as T
-import QtQuick.Controls.Material 2.14
-import QtQuick.Controls.Material.impl 2.14
-
-T.ComboBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- topInset: 6
- bottomInset: 6
-
- leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
- rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
-
- Material.elevation: flat ? control.pressed || control.hovered ? 2 : 0
- : control.pressed ? 8 : 2
- Material.background: flat ? "transparent" : undefined
- Material.foreground: flat ? undefined : Material.primaryTextColor
-
- delegate: MenuItem {
- width: parent.width
- text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
- Material.foreground: control.currentIndex === index ? parent.Material.accent : parent.Material.foreground
- highlighted: control.highlightedIndex === index
- hoverEnabled: control.hoverEnabled
- }
-
- indicator: ColorImage {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/drop-indicator.png"
- }
-
- contentItem: T.TextField {
- padding: 6
- leftPadding: control.editable ? 2 : control.mirrored ? 0 : 12
- rightPadding: control.editable ? 2 : control.mirrored ? 12 : 0
-
- text: control.editable ? control.editText : control.displayText
-
- enabled: control.editable
- autoScroll: control.editable
- readOnly: control.down
- inputMethodHints: control.inputMethodHints
- validator: control.validator
-
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- selectionColor: control.Material.accentColor
- selectedTextColor: control.Material.primaryHighlightedTextColor
- verticalAlignment: Text.AlignVCenter
-
- cursorDelegate: CursorDelegate { }
- }
-
- background: Rectangle {
- implicitWidth: 120
- implicitHeight: control.Material.buttonHeight
-
- radius: control.flat ? 0 : 2
- color: !control.editable ? control.Material.dialogColor : "transparent"
-
- layer.enabled: control.enabled && !control.editable && control.Material.background.a > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
-
- Rectangle {
- visible: control.editable
- y: parent.y + control.baselineOffset
- width: parent.width
- height: control.activeFocus ? 2 : 1
- color: control.editable && control.activeFocus ? control.Material.accentColor : control.Material.hintTextColor
- }
-
- Ripple {
- clip: control.flat
- clipRadius: control.flat ? 0 : 2
- x: control.editable && control.indicator ? control.indicator.x : 0
- width: control.editable && control.indicator ? control.indicator.width : parent.width
- height: parent.height
- pressed: control.pressed
- anchor: control.editable && control.indicator ? control.indicator : control
- active: control.pressed || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
- }
-
- popup: T.Popup {
- y: control.editable ? control.height - 5 : 0
- width: control.width
- height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin)
- transformOrigin: Item.Top
- topMargin: 12
- bottomMargin: 12
-
- Material.theme: control.Material.theme
- Material.accent: control.Material.accent
- Material.primary: control.Material.primary
-
- enter: Transition {
- // grow_fade_in
- NumberAnimation { property: "scale"; from: 0.9; to: 1.0; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- exit: Transition {
- // shrink_fade_out
- NumberAnimation { property: "scale"; from: 1.0; to: 0.9; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- contentItem: ListView {
- clip: true
- implicitHeight: contentHeight
- model: control.delegateModel
- currentIndex: control.highlightedIndex
- highlightMoveDuration: 0
-
- T.ScrollIndicator.vertical: ScrollIndicator { }
- }
-
- background: Rectangle {
- radius: 2
- color: parent.Material.dialogColor
-
- layer.enabled: control.enabled
- layer.effect: ElevationEffect {
- elevation: 8
- }
- }
- }
-}
diff --git a/src/imports/controls/material/CursorDelegate.qml b/src/imports/controls/material/CursorDelegate.qml
deleted file mode 100644
index fe2d25c6..00000000
--- a/src/imports/controls/material/CursorDelegate.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-
-Rectangle {
- id: cursor
-
- color: parent.Material.accentColor
- width: 2
- visible: parent.activeFocus && !parent.readOnly && parent.selectionStart === parent.selectionEnd
-
- Connections {
- target: cursor.parent
- function onCursorPositionChanged() {
- // keep a moving cursor visible
- cursor.opacity = 1
- timer.restart()
- }
- }
-
- Timer {
- id: timer
- running: cursor.parent.activeFocus && !cursor.parent.readOnly && interval != 0
- repeat: true
- interval: Qt.styleHints.cursorFlashTime / 2
- onTriggered: cursor.opacity = !cursor.opacity ? 1 : 0
- // force the cursor visible when gaining focus
- onRunningChanged: cursor.opacity = 1
- }
-}
diff --git a/src/imports/controls/material/DelayButton.qml b/src/imports/controls/material/DelayButton.qml
deleted file mode 100644
index 6b5ef3ad..00000000
--- a/src/imports/controls/material/DelayButton.qml
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.DelayButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topInset: 6
- bottomInset: 6
- padding: 12
- horizontalPadding: padding - 4
-
- Material.elevation: control.down ? 8 : 2
-
- transition: Transition {
- NumberAnimation {
- duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress)
- }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor : control.Material.foreground
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- elide: Text.ElideRight
- }
-
- // TODO: Add a proper ripple/ink effect for mouse/touch input and focus state
- background: Rectangle {
- implicitWidth: 64
- implicitHeight: control.Material.buttonHeight
-
- radius: 2
- color: !control.enabled ? control.Material.buttonDisabledColor : control.Material.buttonColor
-
- PaddedRectangle {
- y: parent.height - 4
- width: parent.width
- height: 4
- radius: 2
- topPadding: -2
- clip: true
- color: control.checked && control.enabled ? control.Material.accentColor : control.Material.secondaryTextColor
-
- PaddedRectangle {
- width: parent.width * control.progress
- height: 4
- radius: 2
- topPadding: -2
- rightPadding: Math.max(-2, width - parent.width)
- clip: true
- color: control.Material.accentColor
- }
- }
-
- layer.enabled: control.enabled && control.Material.buttonColor.a > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
-
- Ripple {
- clipRadius: 2
- width: parent.width
- height: parent.height
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/Dial.qml b/src/imports/controls/material/Dial.qml
deleted file mode 100644
index 1f80a7fe..00000000
--- a/src/imports/controls/material/Dial.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Dial {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 100 // ### remove 100 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 100 // ### remove 100 in Qt 6
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 100
-
- x: control.width / 2 - width / 2
- y: control.height / 2 - height / 2
- width: Math.max(64, Math.min(control.width, control.height))
- height: width
- color: "transparent"
- radius: width / 2
-
- border.color: control.enabled ? control.Material.accentColor : control.Material.hintTextColor
- }
-
- handle: SliderHandle {
- x: control.background.x + control.background.width / 2 - control.handle.width / 2
- y: control.background.y + control.background.height / 2 - control.handle.height / 2
- transform: [
- Translate {
- y: -control.background.height * 0.4 + control.handle.height / 2
- },
- Rotation {
- angle: control.angle
- origin.x: control.handle.width / 2
- origin.y: control.handle.height / 2
- }
- ]
- implicitWidth: 10
- implicitHeight: 10
-
- value: control.value
- handleHasFocus: control.visualFocus
- handlePressed: control.pressed
- handleHovered: control.hovered
- }
-}
diff --git a/src/imports/controls/material/Dialog.qml b/src/imports/controls/material/Dialog.qml
deleted file mode 100644
index 364c0e57..00000000
--- a/src/imports/controls/material/Dialog.qml
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Dialog {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 24
- topPadding: 20
-
- Material.elevation: 24
-
- enter: Transition {
- // grow_fade_in
- NumberAnimation { property: "scale"; from: 0.9; to: 1.0; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- exit: Transition {
- // shrink_fade_out
- NumberAnimation { property: "scale"; from: 1.0; to: 0.9; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- background: Rectangle {
- radius: 2
- color: control.Material.dialogColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-
- header: Label {
- text: control.title
- visible: control.title
- elide: Label.ElideRight
- padding: 24
- bottomPadding: 0
- // TODO: QPlatformTheme::TitleBarFont
- font.bold: true
- font.pixelSize: 16
- background: PaddedRectangle {
- radius: 2
- color: control.Material.dialogColor
- bottomPadding: -2
- clip: true
- }
- }
-
- footer: DialogButtonBox {
- visible: count > 0
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-}
diff --git a/src/imports/controls/material/DialogButtonBox.qml b/src/imports/controls/material/DialogButtonBox.qml
deleted file mode 100644
index c53b8210..00000000
--- a/src/imports/controls/material/DialogButtonBox.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.DialogButtonBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 8
- padding: 8
- verticalPadding: 2
- alignment: Qt.AlignRight
- buttonLayout: T.DialogButtonBox.AndroidLayout
-
- Material.foreground: Material.accent
-
- delegate: Button { flat: true }
-
- contentItem: ListView {
- model: control.contentModel
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- snapMode: ListView.SnapToItem
- }
-
- background: PaddedRectangle {
- implicitHeight: control.Material.dialogButtonBoxHeight
- radius: 2
- color: control.Material.dialogColor
- // Rounded corners should be only at the top or at the bottom
- topPadding: control.position === T.DialogButtonBox.Footer ? -2 : 0
- bottomPadding: control.position === T.DialogButtonBox.Header ? -2 : 0
- clip: true
- }
-}
diff --git a/src/imports/controls/material/Drawer.qml b/src/imports/controls/material/Drawer.qml
deleted file mode 100644
index 3d64cdef..00000000
--- a/src/imports/controls/material/Drawer.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Drawer {
- id: control
-
- parent: T.Overlay.overlay
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: !dim && edge === Qt.BottomEdge && Material.elevation === 0
- leftPadding: !dim && edge === Qt.RightEdge && Material.elevation === 0
- rightPadding: !dim && edge === Qt.LeftEdge && Material.elevation === 0
- bottomPadding: !dim && edge === Qt.TopEdge && Material.elevation === 0
-
- enter: Transition { SmoothedAnimation { velocity: 5 } }
- exit: Transition { SmoothedAnimation { velocity: 5 } }
-
- Material.elevation: !interactive && !dim ? 0 : 16
-
- background: Rectangle {
- color: control.Material.dialogColor
-
- Rectangle {
- readonly property bool horizontal: control.edge === Qt.LeftEdge || control.edge === Qt.RightEdge
- width: horizontal ? 1 : parent.width
- height: horizontal ? parent.height : 1
- color: control.Material.dividerColor
- x: control.edge === Qt.LeftEdge ? parent.width - 1 : 0
- y: control.edge === Qt.TopEdge ? parent.height - 1 : 0
- visible: !control.dim && control.Material.elevation === 0
- }
-
- layer.enabled: control.position > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- fullHeight: true
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-}
diff --git a/src/imports/controls/material/ElevationEffect.qml b/src/imports/controls/material/ElevationEffect.qml
deleted file mode 100644
index 73a2a238..00000000
--- a/src/imports/controls/material/ElevationEffect.qml
+++ /dev/null
@@ -1,279 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-/*
- An effect for standard Material Design elevation shadows. Useful for using as \c layer.effect.
- */
-Item {
- id: effect
-
- /*
- The source the effect is applied to.
- */
- property var source
-
- /*
- The elevation of the \l source Item.
- */
- property int elevation: 0
-
- /*
- Set to \c true if the \l source Item is the same width as its parent and the shadow
- should be full width instead of rounding around the corner of the Item.
-
- \sa fullHeight
- */
- property bool fullWidth: false
-
- /*
- Set to \c true if the \l source Item is the same height as its parent and the shadow
- should be full height instead of rounding around the corner of the Item.
-
- \sa fullWidth
- */
- property bool fullHeight: false
-
- /*
- \internal
-
- The actual source Item the effect is applied to.
- */
- readonly property Item sourceItem: source.sourceItem
-
- /*
- * The following shadow values are taken from Angular Material
- *
- * The MIT License (MIT)
- *
- * Copyright (c) 2014-2016 Google, Inc. http://angularjs.org
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
- /*
- \internal
-
- The shadows to use for each possible elevation. There are three shadows that when combined
- make up the elevation.
- */
- readonly property var _shadows: [
- [{offset: 0, blur: 0, spread: 0},
- {offset: 0, blur: 0, spread: 0},
- {offset: 0, blur: 0, spread: 0}],
-
- [{offset: 1, blur: 3, spread: 0},
- {offset: 1, blur: 1, spread: 0},
- {offset: 2, blur: 1, spread: -1}],
-
- [{offset: 1, blur: 5, spread: 0},
- {offset: 2, blur: 2, spread: 0},
- {offset: 3, blur: 1, spread: -2}],
-
- [{offset: 1, blur: 8, spread: 0},
- {offset: 3, blur: 4, spread: 0},
- {offset: 3, blur: 3, spread: -2}],
-
- [{offset: 2, blur: 4, spread: -1},
- {offset: 4, blur: 5, spread: 0},
- {offset: 1, blur: 10, spread: 0}],
-
- [{offset: 3, blur: 5, spread: -1},
- {offset: 5, blur: 8, spread: 0},
- {offset: 1, blur: 14, spread: 0}],
-
- [{offset: 3, blur: 5, spread: -1},
- {offset: 6, blur: 10, spread: 0},
- {offset: 1, blur: 18, spread: 0}],
-
- [{offset: 4, blur: 5, spread: -2},
- {offset: 7, blur: 10, spread: 1},
- {offset: 2, blur: 16, spread: 1}],
-
- [{offset: 5, blur: 5, spread: -3},
- {offset: 8, blur: 10, spread: 1},
- {offset: 3, blur: 14, spread: 2}],
-
- [{offset: 5, blur: 6, spread: -3},
- {offset: 9, blur: 12, spread: 1},
- {offset: 3, blur: 16, spread: 2}],
-
- [{offset: 6, blur: 6, spread: -3},
- {offset: 10, blur: 14, spread: 1},
- {offset: 4, blur: 18, spread: 3}],
-
- [{offset: 6, blur: 7, spread: -4},
- {offset: 11, blur: 15, spread: 1},
- {offset: 4, blur: 20, spread: 3}],
-
- [{offset: 7, blur: 8, spread: -4},
- {offset: 12, blur: 17, spread: 2},
- {offset: 5, blur: 22, spread: 4}],
-
- [{offset: 7, blur: 8, spread: -4},
- {offset: 13, blur: 19, spread: 2},
- {offset: 5, blur: 24, spread: 4}],
-
- [{offset: 7, blur: 9, spread: -4},
- {offset: 14, blur: 21, spread: 2},
- {offset: 5, blur: 26, spread: 4}],
-
- [{offset: 8, blur: 9, spread: -5},
- {offset: 15, blur: 22, spread: 2},
- {offset: 6, blur: 28, spread: 5}],
-
- [{offset: 8, blur: 10, spread: -5},
- {offset: 16, blur: 24, spread: 2},
- {offset: 6, blur: 30, spread: 5}],
-
- [{offset: 8, blur: 11, spread: -5},
- {offset: 17, blur: 26, spread: 2},
- {offset: 6, blur: 32, spread: 5}],
-
- [{offset: 9, blur: 11, spread: -5},
- {offset: 18, blur: 28, spread: 2},
- {offset: 7, blur: 34, spread: 6}],
-
- [{offset: 9, blur: 12, spread: -6},
- {offset: 19, blur: 29, spread: 2},
- {offset: 7, blur: 36, spread: 6}],
-
- [{offset: 10, blur: 13, spread: -6},
- {offset: 20, blur: 31, spread: 3},
- {offset: 8, blur: 38, spread: 7}],
-
- [{offset: 10, blur: 13, spread: -6},
- {offset: 21, blur: 33, spread: 3},
- {offset: 8, blur: 40, spread: 7}],
-
- [{offset: 10, blur: 14, spread: -6},
- {offset: 22, blur: 35, spread: 3},
- {offset: 8, blur: 42, spread: 7}],
-
- [{offset: 11, blur: 14, spread: -7},
- {offset: 23, blur: 36, spread: 3},
- {offset: 9, blur: 44, spread: 8}],
-
- [{offset: 11, blur: 15, spread: -7},
- {offset: 24, blur: 38, spread: 3},
- {offset: 9, blur: 46, spread: 8}]
- ]
-
- /*
- \internal
-
- The current shadow based on the elevation.
- */
- readonly property var _shadow: _shadows[Math.max(0, Math.min(elevation, _shadows.length - 1))]
-
- // Nest the shadows and source view in two items rendered as a layer
- // so the shadow is not clipped by the bounds of the source view
- Item {
- property int margin: -100
-
- x: margin
- y: margin
- width: parent.width - 2 * margin
- height: parent.height - 2 * margin
-
- // By rendering as a layer, the shadow will never show through the source item,
- // even when the source item's opacity is less than 1
- layer.enabled: true
-
- // The box shadows automatically pick up the size of the source Item and not
- // the size of the parent, so we don't need to worry about the extra padding
- // in the parent Item
- BoxShadow {
- offsetY: effect._shadow[0].offset
- blurRadius: effect._shadow[0].blur
- spreadRadius: effect._shadow[0].spread
- color: Qt.rgba(0,0,0, 0.2)
-
- fullWidth: effect.fullWidth
- fullHeight: effect.fullHeight
- source: effect.sourceItem
- }
-
- BoxShadow {
- offsetY: effect._shadow[1].offset
- blurRadius: effect._shadow[1].blur
- spreadRadius: effect._shadow[1].spread
- color: Qt.rgba(0,0,0, 0.14)
-
- fullWidth: effect.fullWidth
- fullHeight: effect.fullHeight
- source: effect.sourceItem
- }
-
- BoxShadow {
- offsetY: effect._shadow[2].offset
- blurRadius: effect._shadow[2].blur
- spreadRadius: effect._shadow[2].spread
- color: Qt.rgba(0,0,0, 0.12)
-
- fullWidth: effect.fullWidth
- fullHeight: effect.fullHeight
- source: effect.sourceItem
- }
-
- ShaderEffect {
- property alias source: effect.source
-
- x: (parent.width - width)/2
- y: (parent.height - height)/2
- width: effect.sourceItem.width
- height: effect.sourceItem.height
- }
- }
-}
diff --git a/src/imports/controls/material/Frame.qml b/src/imports/controls/material/Frame.qml
deleted file mode 100644
index 0001825e..00000000
--- a/src/imports/controls/material/Frame.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Frame {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
- verticalPadding: Material.frameVerticalPadding
-
- background: Rectangle {
- radius: 2
- color: control.Material.elevation > 0 ? control.Material.backgroundColor : "transparent"
- border.color: control.Material.frameColor
-
- layer.enabled: control.enabled && control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-}
diff --git a/src/imports/controls/material/GroupBox.qml b/src/imports/controls/material/GroupBox.qml
deleted file mode 100644
index e18a5949..00000000
--- a/src/imports/controls/material/GroupBox.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.GroupBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitLabelWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 6
- padding: 12
- topPadding: Material.frameVerticalPadding + (implicitLabelWidth > 0 ? implicitLabelHeight + spacing : 0)
- bottomPadding: Material.frameVerticalPadding
-
- label: Text {
- x: control.leftPadding
- width: control.availableWidth
-
- text: control.title
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- y: control.topPadding - control.bottomPadding
- width: parent.width
- height: parent.height - control.topPadding + control.bottomPadding
-
- radius: 2
- color: control.Material.elevation > 0 ? control.Material.backgroundColor : "transparent"
- border.color: control.Material.frameColor
-
- layer.enabled: control.enabled && control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-}
diff --git a/src/imports/controls/material/ItemDelegate.qml b/src/imports/controls/material/ItemDelegate.qml
deleted file mode 100644
index 2078ce6c..00000000
--- a/src/imports/controls/material/ItemDelegate.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.ItemDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: 8
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitHeight: control.Material.delegateHeight
-
- color: control.highlighted ? control.Material.listHighlightColor : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/LICENSE_ANGULARJS.txt b/src/imports/controls/material/LICENSE_ANGULARJS.txt
deleted file mode 100644
index c1f2a826..00000000
--- a/src/imports/controls/material/LICENSE_ANGULARJS.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2014-2016 Google, Inc. http://angularjs.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/src/imports/controls/material/Label.qml b/src/imports/controls/material/Label.qml
deleted file mode 100644
index ad923a24..00000000
--- a/src/imports/controls/material/Label.qml
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.Label {
- id: control
-
- color: enabled ? Material.foreground : Material.hintTextColor
- linkColor: Material.accentColor
-}
diff --git a/src/imports/controls/material/Menu.qml b/src/imports/controls/material/Menu.qml
deleted file mode 100644
index d28713a7..00000000
--- a/src/imports/controls/material/Menu.qml
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-import QtQuick.Window 2.12
-
-T.Menu {
- id: control
-
- Material.elevation: 8
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 0
- verticalPadding: 8
-
- transformOrigin: !cascade ? Item.Top : (mirrored ? Item.TopRight : Item.TopLeft)
-
- delegate: MenuItem { }
-
- enter: Transition {
- // grow_fade_in
- NumberAnimation { property: "scale"; from: 0.9; to: 1.0; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- exit: Transition {
- // shrink_fade_out
- NumberAnimation { property: "scale"; from: 1.0; to: 0.9; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- contentItem: ListView {
- implicitHeight: contentHeight
-
- model: control.contentModel
- interactive: Window.window ? contentHeight > Window.window.height : false
- clip: true
- currentIndex: control.currentIndex
-
- ScrollIndicator.vertical: ScrollIndicator {}
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: control.Material.menuItemHeight
-
- radius: 3
- color: control.Material.dialogColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-}
diff --git a/src/imports/controls/material/MenuBar.qml b/src/imports/controls/material/MenuBar.qml
deleted file mode 100644
index 66252d6e..00000000
--- a/src/imports/controls/material/MenuBar.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.MenuBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- delegate: MenuBarItem { }
-
- contentItem: Row {
- spacing: control.spacing
- Repeater {
- model: control.contentModel
- }
- }
-
- background: Rectangle {
- implicitHeight: 40
- color: control.Material.dialogColor
- }
-}
diff --git a/src/imports/controls/material/MenuBarItem.qml b/src/imports/controls/material/MenuBarItem.qml
deleted file mode 100644
index 588d6fbb..00000000
--- a/src/imports/controls/material/MenuBarItem.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.MenuBarItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: 12
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
- color: control.highlighted ? control.Material.listHighlightColor : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.highlighted
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml
deleted file mode 100644
index a5d2f8a1..00000000
--- a/src/imports/controls/material/MenuItem.qml
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.MenuItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: Material.menuItemVerticalPadding
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- indicator: CheckIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- visible: control.checkable
- control: control
- checkState: control.checked ? Qt.Checked : Qt.Unchecked
- }
-
- arrow: ColorImage {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.subMenu
- mirror: control.mirrored
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/arrow-indicator.png"
- }
-
- contentItem: IconLabel {
- readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
- readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
- leftPadding: !control.mirrored ? indicatorPadding : arrowPadding
- rightPadding: control.mirrored ? indicatorPadding : arrowPadding
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: control.Material.menuItemHeight
- color: control.highlighted ? control.Material.listHighlightColor : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.highlighted
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/MenuSeparator.qml b/src/imports/controls/material/MenuSeparator.qml
deleted file mode 100644
index 6d80c049..00000000
--- a/src/imports/controls/material/MenuSeparator.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.MenuSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- verticalPadding: 8
-
- contentItem: Rectangle {
- implicitWidth: 200
- implicitHeight: 1
- color: control.Material.dividerColor
- }
-}
diff --git a/src/imports/controls/material/Page.qml b/src/imports/controls/material/Page.qml
deleted file mode 100644
index 4da0ecc6..00000000
--- a/src/imports/controls/material/Page.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.Page {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- background: Rectangle {
- color: control.Material.backgroundColor
- }
-}
diff --git a/src/imports/controls/material/PageIndicator.qml b/src/imports/controls/material/PageIndicator.qml
deleted file mode 100644
index 5e6ca245..00000000
--- a/src/imports/controls/material/PageIndicator.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.PageIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- delegate: Rectangle {
- implicitWidth: 8
- implicitHeight: 8
-
- radius: width / 2
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
-
- opacity: index === currentIndex ? 0.95 : pressed ? 0.7 : 0.45
- Behavior on opacity { OpacityAnimator { duration: 100 } }
- }
-
- contentItem: Row {
- spacing: control.spacing
-
- Repeater {
- model: control.count
- delegate: control.delegate
- }
- }
-}
diff --git a/src/imports/controls/material/Pane.qml b/src/imports/controls/material/Pane.qml
deleted file mode 100644
index 988e225a..00000000
--- a/src/imports/controls/material/Pane.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Pane {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: control.Material.backgroundColor
- radius: control.Material.elevation > 0 ? 2 : 0
-
- layer.enabled: control.enabled && control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-}
diff --git a/src/imports/controls/material/Popup.qml b/src/imports/controls/material/Popup.qml
deleted file mode 100644
index 1b576385..00000000
--- a/src/imports/controls/material/Popup.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Popup {
- id: control
-
- Material.elevation: 24
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- enter: Transition {
- // grow_fade_in
- NumberAnimation { property: "scale"; from: 0.9; to: 1.0; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- exit: Transition {
- // shrink_fade_out
- NumberAnimation { property: "scale"; from: 1.0; to: 0.9; easing.type: Easing.OutQuint; duration: 220 }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.OutCubic; duration: 150 }
- }
-
- background: Rectangle {
- radius: 2
- color: control.Material.dialogColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Material.backgroundDimColor
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
-}
diff --git a/src/imports/controls/material/ProgressBar.qml b/src/imports/controls/material/ProgressBar.qml
deleted file mode 100644
index 2848f037..00000000
--- a/src/imports/controls/material/ProgressBar.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.ProgressBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- contentItem: ProgressBarImpl {
- implicitHeight: 4
-
- scale: control.mirrored ? -1 : 1
- color: control.Material.accentColor
- progress: control.position
- indeterminate: control.visible && control.indeterminate
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 4
- y: (control.height - height) / 2
- height: 4
-
- color: Qt.rgba(control.Material.accentColor.r, control.Material.accentColor.g, control.Material.accentColor.b, 0.25)
- }
-}
diff --git a/src/imports/controls/material/RadioButton.qml b/src/imports/controls/material/RadioButton.qml
deleted file mode 100644
index dadcc84f..00000000
--- a/src/imports/controls/material/RadioButton.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.RadioButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 8
- padding: 8
- verticalPadding: padding + 6
-
- indicator: RadioIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
-
- Ripple {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 28; height: 28
-
- z: -1
- anchor: control
- pressed: control.pressed
- active: control.down || control.visualFocus || control.hovered
- color: control.checked ? control.Material.highlightedRippleColor : control.Material.rippleColor
- }
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-}
diff --git a/src/imports/controls/material/RadioDelegate.qml b/src/imports/controls/material/RadioDelegate.qml
deleted file mode 100644
index c977d332..00000000
--- a/src/imports/controls/material/RadioDelegate.qml
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.RadioDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: 8
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- indicator: RadioIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: !control.mirrored ? 0 : control.indicator.width + control.spacing
- rightPadding: control.mirrored ? 0 : control.indicator.width + control.spacing
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitHeight: control.Material.delegateHeight
-
- color: control.highlighted ? control.Material.listHighlightColor : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/RadioIndicator.qml b/src/imports/controls/material/RadioIndicator.qml
deleted file mode 100644
index e2c55184..00000000
--- a/src/imports/controls/material/RadioIndicator.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-Rectangle {
- id: indicator
- implicitWidth: 20
- implicitHeight: 20
- radius: width / 2
- border.width: 2
- border.color: !control.enabled ? control.Material.hintTextColor
- : control.checked || control.down ? control.Material.accentColor : control.Material.secondaryTextColor
- color: "transparent"
-
- property Item control
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 10
- height: 10
- radius: width / 2
- color: parent.border.color
- visible: indicator.control.checked || indicator.control.down
- }
-}
diff --git a/src/imports/controls/material/RangeSlider.qml b/src/imports/controls/material/RangeSlider.qml
deleted file mode 100644
index d735573a..00000000
--- a/src/imports/controls/material/RangeSlider.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.RangeSlider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- first.implicitHandleWidth + leftPadding + rightPadding,
- second.implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- first.implicitHandleHeight + topPadding + bottomPadding,
- second.implicitHandleHeight + topPadding + bottomPadding)
-
- padding: 6
-
- first.handle: SliderHandle {
- x: control.leftPadding + (control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height))
- value: first.value
- handleHasFocus: activeFocus
- handlePressed: first.pressed
- handleHovered: first.hovered
- }
-
- second.handle: SliderHandle {
- x: control.leftPadding + (control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height))
- value: second.value
- handleHasFocus: activeFocus
- handlePressed: second.pressed
- handleHovered: second.hovered
- }
-
- background: Rectangle {
- x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
- implicitWidth: control.horizontal ? 200 : 48
- implicitHeight: control.horizontal ? 48 : 200
- width: control.horizontal ? control.availableWidth : 1
- height: control.horizontal ? 1 : control.availableHeight
- color: control.Material.foreground
- scale:control.horizontal && control.mirrored ? -1 : 1
-
- Rectangle {
- x: control.horizontal ? control.first.position * parent.width : -1
- y: control.horizontal ? -1 : control.second.visualPosition * parent.height + 3
- width: control.horizontal ? control.second.position * parent.width - control.first.position * parent.width - 3 : 3
- height: control.horizontal ? 3 : control.second.position * parent.height - control.first.position * parent.height - 3
-
- color: control.Material.accentColor
- }
- }
-}
diff --git a/src/imports/controls/material/RectangularGlow.qml b/src/imports/controls/material/RectangularGlow.qml
deleted file mode 100644
index c01e536d..00000000
--- a/src/imports/controls/material/RectangularGlow.qml
+++ /dev/null
@@ -1,240 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-
-/*
- A cross-graphics API implementation of QtGraphicalEffects' RectangularGlow.
- */
-Item {
- id: rootItem
-
- /*
- This property defines how many pixels outside the item area are reached
- by the glow.
-
- The value ranges from 0.0 (no glow) to inf (infinite glow). By default,
- the property is set to \c 0.0.
-
- \table
- \header
- \li Output examples with different glowRadius values
- \li
- \li
- \row
- \li \image RectangularGlow_glowRadius1.png
- \li \image RectangularGlow_glowRadius2.png
- \li \image RectangularGlow_glowRadius3.png
- \row
- \li \b { glowRadius: 10 }
- \li \b { glowRadius: 20 }
- \li \b { glowRadius: 40 }
- \row
- \li \l spread: 0
- \li \l spread: 0
- \li \l spread: 0
- \row
- \li \l color: #ffffff
- \li \l color: #ffffff
- \li \l color: #ffffff
- \row
- \li \l cornerRadius: 25
- \li \l cornerRadius: 25
- \li \l cornerRadius: 25
- \endtable
-
- */
- property real glowRadius: 0.0
-
- /*
- This property defines how large part of the glow color is strenghtened
- near the source edges.
-
- The value ranges from 0.0 (no strenght increase) to 1.0 (maximum
- strenght increase). By default, the property is set to \c 0.0.
-
- \table
- \header
- \li Output examples with different spread values
- \li
- \li
- \row
- \li \image RectangularGlow_spread1.png
- \li \image RectangularGlow_spread2.png
- \li \image RectangularGlow_spread3.png
- \row
- \li \b { spread: 0.0 }
- \li \b { spread: 0.5 }
- \li \b { spread: 1.0 }
- \row
- \li \l glowRadius: 20
- \li \l glowRadius: 20
- \li \l glowRadius: 20
- \row
- \li \l color: #ffffff
- \li \l color: #ffffff
- \li \l color: #ffffff
- \row
- \li \l cornerRadius: 25
- \li \l cornerRadius: 25
- \li \l cornerRadius: 25
- \endtable
- */
- property real spread: 0.0
-
- /*
- This property defines the RGBA color value which is used for the glow.
-
- By default, the property is set to \c "white".
-
- \table
- \header
- \li Output examples with different color values
- \li
- \li
- \row
- \li \image RectangularGlow_color1.png
- \li \image RectangularGlow_color2.png
- \li \image RectangularGlow_color3.png
- \row
- \li \b { color: #ffffff }
- \li \b { color: #55ff55 }
- \li \b { color: #5555ff }
- \row
- \li \l glowRadius: 20
- \li \l glowRadius: 20
- \li \l glowRadius: 20
- \row
- \li \l spread: 0
- \li \l spread: 0
- \li \l spread: 0
- \row
- \li \l cornerRadius: 25
- \li \l cornerRadius: 25
- \li \l cornerRadius: 25
- \endtable
- */
- property color color: "white"
-
- /*
- This property defines the corner radius that is used to draw a glow with
- rounded corners.
-
- The value ranges from 0.0 to half of the effective width or height of
- the glow, whichever is smaller. This can be calculated with: \c{
- min(width, height) / 2.0 + glowRadius}
-
- By default, the property is bound to glowRadius property. The glow
- behaves as if the rectangle was blurred when adjusting the glowRadius
- property.
-
- \table
- \header
- \li Output examples with different cornerRadius values
- \li
- \li
- \row
- \li \image RectangularGlow_cornerRadius1.png
- \li \image RectangularGlow_cornerRadius2.png
- \li \image RectangularGlow_cornerRadius3.png
- \row
- \li \b { cornerRadius: 0 }
- \li \b { cornerRadius: 25 }
- \li \b { cornerRadius: 50 }
- \row
- \li \l glowRadius: 20
- \li \l glowRadius: 20
- \li \l glowRadius: 20
- \row
- \li \l spread: 0
- \li \l spread: 0
- \li \l spread: 0
- \row
- \li \l color: #ffffff
- \li \l color: #ffffff
- \li \l color: #ffffff
- \endtable
- */
- property real cornerRadius: glowRadius
-
- /*
- This property allows the effect output pixels to be cached in order to
- improve the rendering performance.
-
- Every time the source or effect properties are changed, the pixels in
- the cache must be updated. Memory consumption is increased, because an
- extra buffer of memory is required for storing the effect output.
-
- It is recommended to disable the cache when the source or the effect
- properties are animated.
-
- By default, the property is set to \c false.
- */
- property bool cached: false
-
- ShaderEffectSource {
- id: cacheItem
- anchors.fill: shaderItem
- visible: rootItem.cached
- smooth: true
- sourceItem: shaderItem
- live: true
- hideSource: visible
- }
-
- ShaderEffect {
- id: shaderItem
-
- x: (parent.width - width) / 2.0
- y: (parent.height - height) / 2.0
- width: parent.width + rootItem.glowRadius * 2 + cornerRadius * 2
- height: parent.height + rootItem.glowRadius * 2 + cornerRadius * 2
-
- function clampedCornerRadius() {
- var maxCornerRadius = Math.min(rootItem.width, rootItem.height) / 2 + rootItem.glowRadius;
- return Math.max(0, Math.min(rootItem.cornerRadius, maxCornerRadius))
- }
-
- property color color: rootItem.color
- property real inverseSpread: 1.0 - rootItem.spread
- property real relativeSizeX: ((inverseSpread * inverseSpread) * rootItem.glowRadius + cornerRadius * 2.0) / width
- property real relativeSizeY: relativeSizeX * (width / height)
- property real spread: rootItem.spread / 2.0
- property real cornerRadius: clampedCornerRadius()
-
- fragmentShader: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/shaders/RectangularGlow.frag"
- }
-}
diff --git a/src/imports/controls/material/RoundButton.qml b/src/imports/controls/material/RoundButton.qml
deleted file mode 100644
index 13d0f9db..00000000
--- a/src/imports/controls/material/RoundButton.qml
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.RoundButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- topInset: 6
- leftInset: 6
- rightInset: 6
- bottomInset: 6
- padding: 12
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: !enabled ? Material.hintTextColor :
- flat && highlighted ? Material.accentColor :
- highlighted ? Material.primaryHighlightedTextColor : Material.foreground
-
- Material.elevation: flat ? control.down || control.hovered ? 2 : 0
- : control.down ? 12 : 6
- Material.background: flat ? "transparent" : undefined
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor :
- control.flat && control.highlighted ? control.Material.accentColor :
- control.highlighted ? control.Material.primaryHighlightedTextColor : control.Material.foreground
- }
-
- // TODO: Add a proper ripple/ink effect for mouse/touch input and focus state
- background: Rectangle {
- implicitWidth: control.Material.buttonHeight
- implicitHeight: control.Material.buttonHeight
-
- radius: control.radius
- color: !control.enabled ? control.Material.buttonDisabledColor
- : control.checked || control.highlighted ? control.Material.highlightedButtonColor : control.Material.buttonColor
-
- Rectangle {
- width: parent.width
- height: parent.height
- radius: control.radius
- visible: control.hovered || control.visualFocus
- color: control.Material.rippleColor
- }
-
- Rectangle {
- width: parent.width
- height: parent.height
- radius: control.radius
- visible: control.down
- color: control.Material.rippleColor
- }
-
- // The layer is disabled when the button color is transparent so that you can do
- // Material.background: "transparent" and get a proper flat button without needing
- // to set Material.elevation as well
- layer.enabled: control.enabled && control.Material.buttonColor.a > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-}
diff --git a/src/imports/controls/material/ScrollBar.qml b/src/imports/controls/material/ScrollBar.qml
deleted file mode 100644
index fda64346..00000000
--- a/src/imports/controls/material/ScrollBar.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.ScrollBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: control.interactive ? 1 : 2
- visible: control.policy !== T.ScrollBar.AlwaysOff
- minimumSize: orientation == Qt.Horizontal ? height / width : width / height
-
- contentItem: Rectangle {
- implicitWidth: control.interactive ? 13 : 4
- implicitHeight: control.interactive ? 13 : 4
-
- color: control.pressed ? control.Material.scrollBarPressedColor :
- control.interactive && control.hovered ? control.Material.scrollBarHoveredColor : control.Material.scrollBarColor
- opacity: 0.0
- }
-
- background: Rectangle {
- implicitWidth: control.interactive ? 16 : 4
- implicitHeight: control.interactive ? 16 : 4
- color: "#0e000000"
- opacity: 0.0
- visible: control.interactive
- }
-
- states: State {
- name: "active"
- when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
- }
-
- transitions: [
- Transition {
- to: "active"
- NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 }
- },
- Transition {
- from: "active"
- SequentialAnimation {
- PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 }
- PauseAnimation { duration: 2450 }
- NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 }
- }
- }
- ]
-}
diff --git a/src/imports/controls/material/ScrollIndicator.qml b/src/imports/controls/material/ScrollIndicator.qml
deleted file mode 100644
index 19f23ad2..00000000
--- a/src/imports/controls/material/ScrollIndicator.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.ScrollIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 2
-
- contentItem: Rectangle {
- implicitWidth: 4
- implicitHeight: 4
-
- color: control.Material.scrollBarColor
- visible: control.size < 1.0
- opacity: 0.0
-
- states: State {
- name: "active"
- when: control.active
- PropertyChanges { target: control.contentItem; opacity: 0.75 }
- }
-
- transitions: [
- Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 450 }
- NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
- }
- }
- ]
- }
-}
diff --git a/src/imports/controls/material/Slider.qml b/src/imports/controls/material/Slider.qml
deleted file mode 100644
index cc6a1413..00000000
--- a/src/imports/controls/material/Slider.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.Slider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitHandleHeight + topPadding + bottomPadding)
-
- padding: 6
-
- handle: SliderHandle {
- x: control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))
- value: control.value
- handleHasFocus: control.visualFocus
- handlePressed: control.pressed
- handleHovered: control.hovered
- }
-
- background: Rectangle {
- x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
- implicitWidth: control.horizontal ? 200 : 48
- implicitHeight: control.horizontal ? 48 : 200
- width: control.horizontal ? control.availableWidth : 1
- height: control.horizontal ? 1 : control.availableHeight
- color: control.Material.foreground
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- Rectangle {
- x: control.horizontal ? 0 : (parent.width - width) / 2
- y: control.horizontal ? (parent.height - height) / 2 : control.visualPosition * parent.height
- width: control.horizontal ? control.position * parent.width : 3
- height: control.horizontal ? 3 : control.position * parent.height
-
- color: control.Material.accentColor
- }
- }
-}
diff --git a/src/imports/controls/material/SliderHandle.qml b/src/imports/controls/material/SliderHandle.qml
deleted file mode 100644
index 2e3120e4..00000000
--- a/src/imports/controls/material/SliderHandle.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-Item {
- id: root
- implicitWidth: initialSize
- implicitHeight: initialSize
-
- property real value: 0
- property bool handleHasFocus: false
- property bool handlePressed: false
- property bool handleHovered: false
- readonly property int initialSize: 13
- readonly property var control: parent
-
- Rectangle {
- id: handleRect
- width: parent.width
- height: parent.height
- radius: width / 2
- color: root.control.Material.accentColor
- scale: root.handlePressed ? 1.5 : 1
-
- Behavior on scale {
- NumberAnimation {
- duration: 250
- }
- }
- }
-
- Ripple {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 22; height: 22
- pressed: root.handlePressed
- active: root.handlePressed || root.handleHasFocus || root.handleHovered
- color: root.control.Material.rippleColor
- }
-}
diff --git a/src/imports/controls/material/SpinBox.qml b/src/imports/controls/material/SpinBox.qml
deleted file mode 100644
index 23c86bc3..00000000
--- a/src/imports/controls/material/SpinBox.qml
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.SpinBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentItem.implicitWidth +
- up.implicitIndicatorWidth +
- down.implicitIndicatorWidth)
- implicitHeight: Math.max(implicitContentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight,
- up.implicitIndicatorHeight,
- down.implicitIndicatorHeight)
-
- spacing: 6
- topPadding: 8
- bottomPadding: 16
- leftPadding: (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
- rightPadding: (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
-
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
-
- contentItem: TextInput {
- text: control.displayText
-
- font: control.font
- color: enabled ? control.Material.foreground : control.Material.hintTextColor
- selectionColor: control.Material.textSelectionColor
- selectedTextColor: control.Material.foreground
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
-
- cursorDelegate: CursorDelegate { }
-
- readOnly: !control.editable
- validator: control.validator
- inputMethodHints: control.inputMethodHints
- }
-
- up.indicator: Item {
- x: control.mirrored ? 0 : parent.width - width
- implicitWidth: control.Material.touchTarget
- implicitHeight: control.Material.touchTarget
- height: parent.height
- width: height
-
- Ripple {
- clipRadius: 2
- x: control.spacing
- y: control.spacing
- width: parent.width - 2 * control.spacing
- height: parent.height - 2 * control.spacing
- pressed: control.up.pressed
- active: control.up.pressed || control.up.hovered || control.visualFocus
- color: control.Material.rippleColor
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: Math.min(parent.width / 3, parent.height / 3)
- height: 2
- color: enabled ? control.Material.foreground : control.Material.spinBoxDisabledIconColor
- }
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: 2
- height: Math.min(parent.width / 3, parent.height / 3)
- color: enabled ? control.Material.foreground : control.Material.spinBoxDisabledIconColor
- }
- }
-
- down.indicator: Item {
- x: control.mirrored ? parent.width - width : 0
- implicitWidth: control.Material.touchTarget
- implicitHeight: control.Material.touchTarget
- height: parent.height
- width: height
-
- Ripple {
- clipRadius: 2
- x: control.spacing
- y: control.spacing
- width: parent.width - 2 * control.spacing
- height: parent.height - 2 * control.spacing
- pressed: control.down.pressed
- active: control.down.pressed || control.down.hovered || control.visualFocus
- color: control.Material.rippleColor
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: parent.width / 3
- height: 2
- color: enabled ? control.Material.foreground : control.Material.spinBoxDisabledIconColor
- }
- }
-
- background: Item {
- implicitWidth: 192
- implicitHeight: control.Material.touchTarget
-
- Rectangle {
- x: parent.width / 2 - width / 2
- y: parent.y + parent.height - height - control.bottomPadding / 2
- width: control.availableWidth
- height: control.activeFocus ? 2 : 1
- color: control.activeFocus ? control.Material.accentColor : control.Material.hintTextColor
- }
- }
-}
diff --git a/src/imports/controls/material/SplitView.qml b/src/imports/controls/material/SplitView.qml
deleted file mode 100644
index 5544e833..00000000
--- a/src/imports/controls/material/SplitView.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.13
-import QtQuick.Templates 2.13 as T
-import QtQuick.Controls 2.13
-import QtQuick.Controls.impl 2.13
-import QtQuick.Controls.Material 2.13
-
-T.SplitView {
- id: control
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- handle: Rectangle {
- implicitWidth: control.orientation === Qt.Horizontal ? 6 : control.width
- implicitHeight: control.orientation === Qt.Horizontal ? control.height : 6
- color: T.SplitHandle.pressed ? control.Material.background
- : Qt.lighter(control.Material.background, T.SplitHandle.hovered ? 1.2 : 1.1)
-
- Rectangle {
- color: control.Material.secondaryTextColor
- width: control.orientation === Qt.Horizontal ? thickness : length
- height: control.orientation === Qt.Horizontal ? length : thickness
- radius: thickness
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
-
- property int length: parent.T.SplitHandle.pressed ? 3 : 8
- readonly property int thickness: parent.T.SplitHandle.pressed ? 3 : 1
-
- Behavior on length {
- NumberAnimation {
- duration: 100
- }
- }
- }
- }
-}
diff --git a/src/imports/controls/material/StackView.qml b/src/imports/controls/material/StackView.qml
deleted file mode 100644
index dd5d6ce6..00000000
--- a/src/imports/controls/material/StackView.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.StackView {
- id: control
-
- popEnter: Transition {
- // slide_in_left
- NumberAnimation { property: "x"; from: (control.mirrored ? -0.5 : 0.5) * -control.width; to: 0; duration: 200; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; duration: 200; easing.type: Easing.OutCubic }
- }
-
- popExit: Transition {
- // slide_out_right
- NumberAnimation { property: "x"; from: 0; to: (control.mirrored ? -0.5 : 0.5) * control.width; duration: 200; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; duration: 200; easing.type: Easing.OutCubic }
- }
-
- pushEnter: Transition {
- // slide_in_right
- NumberAnimation { property: "x"; from: (control.mirrored ? -0.5 : 0.5) * control.width; to: 0; duration: 200; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; duration: 200; easing.type: Easing.OutCubic }
- }
-
- pushExit: Transition {
- // slide_out_left
- NumberAnimation { property: "x"; from: 0; to: (control.mirrored ? -0.5 : 0.5) * -control.width; duration: 200; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; duration: 200; easing.type: Easing.OutCubic }
- }
-
- replaceEnter: Transition {
- // slide_in_right
- NumberAnimation { property: "x"; from: (control.mirrored ? -0.5 : 0.5) * control.width; to: 0; duration: 200; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; duration: 200; easing.type: Easing.OutCubic }
- }
-
- replaceExit: Transition {
- // slide_out_left
- NumberAnimation { property: "x"; from: 0; to: (control.mirrored ? -0.5 : 0.5) * -control.width; duration: 200; easing.type: Easing.OutCubic }
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; duration: 200; easing.type: Easing.OutCubic }
- }
-}
diff --git a/src/imports/controls/material/SwipeDelegate.qml b/src/imports/controls/material/SwipeDelegate.qml
deleted file mode 100644
index d06799be..00000000
--- a/src/imports/controls/material/SwipeDelegate.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.SwipeDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: 8
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } }
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitHeight: control.Material.delegateHeight
-
- color: control.Material.backgroundColor
-
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.highlighted
- color: control.Material.listHighlightColor
- }
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- enabled: control.swipe.position === 0
- }
- }
-}
diff --git a/src/imports/controls/material/SwipeView.qml b/src/imports/controls/material/SwipeView.qml
deleted file mode 100644
index 12ea36ae..00000000
--- a/src/imports/controls/material/SwipeView.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.SwipeView {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- contentItem: ListView {
- model: control.contentModel
- interactive: control.interactive
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: control.orientation
- snapMode: ListView.SnapOneItem
- boundsBehavior: Flickable.StopAtBounds
-
- highlightRangeMode: ListView.StrictlyEnforceRange
- preferredHighlightBegin: 0
- preferredHighlightEnd: 0
- highlightMoveDuration: 250
- maximumFlickVelocity: 4 * (control.orientation === Qt.Horizontal ? width : height)
- }
-}
diff --git a/src/imports/controls/material/Switch.qml b/src/imports/controls/material/Switch.qml
deleted file mode 100644
index fd0db925..00000000
--- a/src/imports/controls/material/Switch.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-import QtQuick.Templates 2.12 as T
-
-T.Switch {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 8
- spacing: 8
-
- indicator: SwitchIndicator {
- x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
-
- Ripple {
- x: parent.handle.x + parent.handle.width / 2 - width / 2
- y: parent.handle.y + parent.handle.height / 2 - height / 2
- width: 28; height: 28
- pressed: control.pressed
- active: control.down || control.visualFocus || control.hovered
- color: control.checked ? control.Material.highlightedRippleColor : control.Material.rippleColor
- }
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
- }
-}
diff --git a/src/imports/controls/material/SwitchDelegate.qml b/src/imports/controls/material/SwitchDelegate.qml
deleted file mode 100644
index 834a3dfa..00000000
--- a/src/imports/controls/material/SwitchDelegate.qml
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.SwitchDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: Material.switchDelegateVerticalPadding
- spacing: 16
-
- icon.width: 24
- icon.height: 24
- icon.color: enabled ? Material.foreground : Material.hintTextColor
-
- indicator: SwitchIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: !control.mirrored ? 0 : control.indicator.width + control.spacing
- rightPadding: control.mirrored ? 0 : control.indicator.width + control.spacing
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- }
-
- background: Rectangle {
- implicitHeight: control.Material.delegateHeight
-
- color: control.highlighted ? control.Material.listHighlightColor : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
- }
-}
diff --git a/src/imports/controls/material/SwitchIndicator.qml b/src/imports/controls/material/SwitchIndicator.qml
deleted file mode 100644
index 3034e771..00000000
--- a/src/imports/controls/material/SwitchIndicator.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-Item {
- id: indicator
- implicitWidth: 38
- implicitHeight: 32
-
- property Item control
- property alias handle: handle
-
- Material.elevation: 1
-
- Rectangle {
- width: parent.width
- height: 14
- radius: height / 2
- y: parent.height / 2 - height / 2
- color: indicator.control.enabled ? (indicator.control.checked ? indicator.control.Material.switchCheckedTrackColor : indicator.control.Material.switchUncheckedTrackColor)
- : indicator.control.Material.switchDisabledTrackColor
- }
-
- Rectangle {
- id: handle
- x: Math.max(0, Math.min(parent.width - width, indicator.control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
- width: 20
- height: 20
- radius: width / 2
- color: indicator.control.enabled ? (indicator.control.checked ? indicator.control.Material.switchCheckedHandleColor : indicator.control.Material.switchUncheckedHandleColor)
- : indicator.control.Material.switchDisabledHandleColor
-
- Behavior on x {
- enabled: !indicator.control.pressed
- SmoothedAnimation {
- duration: 300
- }
- }
- layer.enabled: indicator.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: indicator.Material.elevation
- }
- }
-}
diff --git a/src/imports/controls/material/TabBar.qml b/src/imports/controls/material/TabBar.qml
deleted file mode 100644
index 98c9132a..00000000
--- a/src/imports/controls/material/TabBar.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.TabBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 1
-
- contentItem: ListView {
- model: control.contentModel
- currentIndex: control.currentIndex
-
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- flickableDirection: Flickable.AutoFlickIfNeeded
- snapMode: ListView.SnapToItem
-
- highlightMoveDuration: 250
- highlightResizeDuration: 0
- highlightFollowsCurrentItem: true
- highlightRangeMode: ListView.ApplyRange
- preferredHighlightBegin: 48
- preferredHighlightEnd: width - 48
-
- highlight: Item {
- z: 2
- Rectangle {
- height: 2
- width: parent.width
- y: control.position === T.TabBar.Footer ? 0 : parent.height - height
- color: control.Material.accentColor
- }
- }
- }
-
- background: Rectangle {
- color: control.Material.backgroundColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- fullWidth: true
- }
- }
-}
diff --git a/src/imports/controls/material/TabButton.qml b/src/imports/controls/material/TabButton.qml
deleted file mode 100644
index 5245652c..00000000
--- a/src/imports/controls/material/TabButton.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.TabButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: !enabled ? Material.hintTextColor : down || checked ? Material.accentColor : Material.foreground
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor : control.down || control.checked ? control.Material.accentColor : control.Material.foreground
- }
-
- background: Ripple {
- implicitHeight: control.Material.touchTarget
-
- clip: true
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.Material.rippleColor
- }
-}
diff --git a/src/imports/controls/material/TextArea.qml b/src/imports/controls/material/TextArea.qml
deleted file mode 100644
index 249b6401..00000000
--- a/src/imports/controls/material/TextArea.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.TextArea {
- id: control
-
- implicitWidth: Math.max(contentWidth + leftPadding + rightPadding,
- implicitBackgroundWidth + leftInset + rightInset,
- placeholder.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight + topInset + bottomInset,
- placeholder.implicitHeight + 1 + topPadding + bottomPadding)
-
- topPadding: 8
- bottomPadding: 16
-
- color: enabled ? Material.foreground : Material.hintTextColor
- selectionColor: Material.accentColor
- selectedTextColor: Material.primaryHighlightedTextColor
- placeholderTextColor: Material.hintTextColor
- cursorDelegate: CursorDelegate { }
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- elide: Text.ElideRight
- renderType: control.renderType
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- }
-
- background: Rectangle {
- y: parent.height - height - control.bottomPadding / 2
- implicitWidth: 120
- height: control.activeFocus ? 2 : 1
- color: control.activeFocus ? control.Material.accentColor : control.Material.hintTextColor
- }
-}
diff --git a/src/imports/controls/material/TextField.qml b/src/imports/controls/material/TextField.qml
deleted file mode 100644
index ed42b295..00000000
--- a/src/imports/controls/material/TextField.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.TextField {
- id: control
-
- implicitWidth: implicitBackgroundWidth + leftInset + rightInset
- || Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- topPadding: 8
- bottomPadding: 16
-
- color: enabled ? Material.foreground : Material.hintTextColor
- selectionColor: Material.accentColor
- selectedTextColor: Material.primaryHighlightedTextColor
- placeholderTextColor: Material.hintTextColor
- verticalAlignment: TextInput.AlignVCenter
-
- cursorDelegate: CursorDelegate { }
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- verticalAlignment: control.verticalAlignment
- elide: Text.ElideRight
- renderType: control.renderType
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- }
-
- background: Rectangle {
- y: control.height - height - control.bottomPadding + 8
- implicitWidth: 120
- height: control.activeFocus || control.hovered ? 2 : 1
- color: control.activeFocus ? control.Material.accentColor
- : (control.hovered ? control.Material.primaryTextColor : control.Material.hintTextColor)
- }
-}
diff --git a/src/imports/controls/material/ToolBar.qml b/src/imports/controls/material/ToolBar.qml
deleted file mode 100644
index 5b887598..00000000
--- a/src/imports/controls/material/ToolBar.qml
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.ToolBar {
- id: control
-
- Material.elevation: 4
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- Material.foreground: Material.toolTextColor
-
- spacing: 16
-
- background: Rectangle {
- implicitHeight: 48
- color: control.Material.toolBarColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- fullWidth: true
- }
- }
-}
diff --git a/src/imports/controls/material/ToolButton.qml b/src/imports/controls/material/ToolButton.qml
deleted file mode 100644
index 69c42441..00000000
--- a/src/imports/controls/material/ToolButton.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Material 2.12
-import QtQuick.Controls.Material.impl 2.12
-
-T.ToolButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- icon.width: 24
- icon.height: 24
- icon.color: !enabled ? Material.hintTextColor : checked || highlighted ? Material.accent : Material.foreground
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: !control.enabled ? control.Material.hintTextColor :
- control.checked || control.highlighted ? control.Material.accent : control.Material.foreground
- }
-
- background: Ripple {
- implicitWidth: control.Material.touchTarget
- implicitHeight: control.Material.touchTarget
-
- readonly property bool square: control.contentItem.width <= control.contentItem.height
-
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- clip: !square
- width: square ? parent.height / 2 : parent.width
- height: square ? parent.height / 2 : parent.height
- pressed: control.pressed
- anchor: control
- active: control.enabled && (control.down || control.visualFocus || control.hovered)
- color: control.Material.rippleColor
- }
-}
diff --git a/src/imports/controls/material/ToolSeparator.qml b/src/imports/controls/material/ToolSeparator.qml
deleted file mode 100644
index 94367657..00000000
--- a/src/imports/controls/material/ToolSeparator.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.ToolSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- horizontalPadding: vertical ? 12 : 5
- verticalPadding: vertical ? 5 : 12
-
- contentItem: Rectangle {
- implicitWidth: vertical ? 1 : 38
- implicitHeight: vertical ? 38 : 1
- color: control.Material.hintTextColor
- }
-}
diff --git a/src/imports/controls/material/ToolTip.qml b/src/imports/controls/material/ToolTip.qml
deleted file mode 100644
index fb705367..00000000
--- a/src/imports/controls/material/ToolTip.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.ToolTip {
- id: control
-
- x: parent ? (parent.width - implicitWidth) / 2 : 0
- y: -implicitHeight - 24
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 12
- padding: 8
- horizontalPadding: padding + 8
-
- closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent
-
- Material.theme: Material.Dark
-
- enter: Transition {
- // toast_enter
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; easing.type: Easing.OutQuad; duration: 500 }
- }
-
- exit: Transition {
- // toast_exit
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.InQuad; duration: 500 }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- // TODO: wrapMode: Label.Wrap
- color: control.Material.foreground
- }
-
- background: Rectangle {
- implicitHeight: control.Material.tooltipHeight
- color: control.Material.tooltipColor
- opacity: 0.9
- radius: 2
- }
-}
diff --git a/src/imports/controls/material/Tumbler.qml b/src/imports/controls/material/Tumbler.qml
deleted file mode 100644
index 30d66c58..00000000
--- a/src/imports/controls/material/Tumbler.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Material 2.12
-
-T.Tumbler {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6
-
- delegate: Text {
- text: modelData
- color: control.Material.foreground
- font: control.font
- opacity: (1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- contentItem: TumblerView {
- implicitWidth: 60
- implicitHeight: 200
- model: control.model
- delegate: control.delegate
- path: Path {
- startX: control.contentItem.width / 2
- startY: -control.contentItem.delegateHeight / 2
- PathLine {
- x: control.contentItem.width / 2
- y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2
- }
- }
-
- property real delegateHeight: control.availableHeight / control.visibleItemCount
- }
-}
diff --git a/src/imports/controls/material/dependencies.json b/src/imports/controls/material/dependencies.json
deleted file mode 100644
index 21ded052..00000000
--- a/src/imports/controls/material/dependencies.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- {
- "name": "QtQuick.Controls",
- "type": "module",
- "version": "2.0"
- }
-]
diff --git a/src/imports/controls/material/images/arrow-indicator.png b/src/imports/controls/material/images/arrow-indicator.png
deleted file mode 100644
index 4a942849..00000000
--- a/src/imports/controls/material/images/arrow-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/arrow-indicator.svg b/src/imports/controls/material/images/arrow-indicator.svg
deleted file mode 100644
index 1e7217c8..00000000
--- a/src/imports/controls/material/images/arrow-indicator.svg
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="5"
- height="10"
- viewBox="0 0 5 10"
- version="1.1"
- id="svg2"
- inkscape:version="0.91 r13725"
- sodipodi:docname="arrow-indicator.svg">
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="2560"
- inkscape:window-height="1571"
- id="namedview6"
- showgrid="false"
- inkscape:zoom="27.812867"
- inkscape:cx="13.137558"
- inkscape:cy="12.83583"
- inkscape:window-x="0"
- inkscape:window-y="55"
- inkscape:window-maximized="1"
- inkscape:current-layer="svg2" />
- <path
- d="M 0,10 5,5 0,0 Z"
- id="path4"
- inkscape:connector-curvature="0"
- style="fill:#757575" />
-</svg>
diff --git a/src/imports/controls/material/images/arrow-indicator@2x.png b/src/imports/controls/material/images/arrow-indicator@2x.png
deleted file mode 100644
index b31b56c1..00000000
--- a/src/imports/controls/material/images/arrow-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/arrow-indicator@3x.png b/src/imports/controls/material/images/arrow-indicator@3x.png
deleted file mode 100644
index 637e9674..00000000
--- a/src/imports/controls/material/images/arrow-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/arrow-indicator@4x.png b/src/imports/controls/material/images/arrow-indicator@4x.png
deleted file mode 100644
index 15b9a902..00000000
--- a/src/imports/controls/material/images/arrow-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/check.png b/src/imports/controls/material/images/check.png
deleted file mode 100644
index 4e4e3be8..00000000
--- a/src/imports/controls/material/images/check.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/check@2x.png b/src/imports/controls/material/images/check@2x.png
deleted file mode 100644
index deb0c7e9..00000000
--- a/src/imports/controls/material/images/check@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/check@3x.png b/src/imports/controls/material/images/check@3x.png
deleted file mode 100644
index 72ffd4e6..00000000
--- a/src/imports/controls/material/images/check@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/check@4x.png b/src/imports/controls/material/images/check@4x.png
deleted file mode 100644
index 9dc1ab2c..00000000
--- a/src/imports/controls/material/images/check@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/drop-indicator.png b/src/imports/controls/material/images/drop-indicator.png
deleted file mode 100644
index 0f61fbb7..00000000
--- a/src/imports/controls/material/images/drop-indicator.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/drop-indicator.svg b/src/imports/controls/material/images/drop-indicator.svg
deleted file mode 100644
index 94b5ca15..00000000
--- a/src/imports/controls/material/images/drop-indicator.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" version="1.1">
- <path d="M7,10l5,5,5-5z" fill="#757575"/>
-</svg>
diff --git a/src/imports/controls/material/images/drop-indicator@2x.png b/src/imports/controls/material/images/drop-indicator@2x.png
deleted file mode 100644
index 8f555eee..00000000
--- a/src/imports/controls/material/images/drop-indicator@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/drop-indicator@3x.png b/src/imports/controls/material/images/drop-indicator@3x.png
deleted file mode 100644
index 7fd2af1f..00000000
--- a/src/imports/controls/material/images/drop-indicator@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/images/drop-indicator@4x.png b/src/imports/controls/material/images/drop-indicator@4x.png
deleted file mode 100644
index 7e81fdd8..00000000
--- a/src/imports/controls/material/images/drop-indicator@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/material.pri b/src/imports/controls/material/material.pri
deleted file mode 100644
index bda1fb21..00000000
--- a/src/imports/controls/material/material.pri
+++ /dev/null
@@ -1,71 +0,0 @@
-HEADERS += \
- $$PWD/qquickmaterialbusyindicator_p.h \
- $$PWD/qquickmaterialprogressbar_p.h \
- $$PWD/qquickmaterialripple_p.h \
- $$PWD/qquickmaterialstyle_p.h \
- $$PWD/qquickmaterialtheme_p.h
-
-SOURCES += \
- $$PWD/qquickmaterialbusyindicator.cpp \
- $$PWD/qquickmaterialprogressbar.cpp \
- $$PWD/qquickmaterialripple.cpp \
- $$PWD/qquickmaterialstyle.cpp \
- $$PWD/qquickmaterialtheme.cpp
-
-QML_FILES += \
- $$PWD/ApplicationWindow.qml \
- $$PWD/BoxShadow.qml \
- $$PWD/BusyIndicator.qml \
- $$PWD/Button.qml \
- $$PWD/CheckBox.qml \
- $$PWD/CheckDelegate.qml \
- $$PWD/CheckIndicator.qml \
- $$PWD/ComboBox.qml \
- $$PWD/CursorDelegate.qml \
- $$PWD/DelayButton.qml \
- $$PWD/Dial.qml \
- $$PWD/Dialog.qml \
- $$PWD/DialogButtonBox.qml \
- $$PWD/Drawer.qml \
- $$PWD/ElevationEffect.qml \
- $$PWD/Frame.qml \
- $$PWD/GroupBox.qml \
- $$PWD/ItemDelegate.qml \
- $$PWD/Label.qml \
- $$PWD/Menu.qml \
- $$PWD/MenuBar.qml \
- $$PWD/MenuBarItem.qml \
- $$PWD/MenuItem.qml \
- $$PWD/MenuSeparator.qml \
- $$PWD/Page.qml \
- $$PWD/PageIndicator.qml \
- $$PWD/Pane.qml \
- $$PWD/Popup.qml \
- $$PWD/ProgressBar.qml \
- $$PWD/RadioButton.qml \
- $$PWD/RadioDelegate.qml \
- $$PWD/RadioIndicator.qml \
- $$PWD/RangeSlider.qml \
- $$PWD/RoundButton.qml \
- $$PWD/RectangularGlow.qml \
- $$PWD/ScrollBar.qml \
- $$PWD/ScrollIndicator.qml \
- $$PWD/Slider.qml \
- $$PWD/SliderHandle.qml \
- $$PWD/SpinBox.qml \
- $$PWD/SplitView.qml \
- $$PWD/StackView.qml \
- $$PWD/SwipeDelegate.qml \
- $$PWD/SwipeView.qml \
- $$PWD/Switch.qml \
- $$PWD/SwitchDelegate.qml \
- $$PWD/SwitchIndicator.qml \
- $$PWD/TabBar.qml \
- $$PWD/TabButton.qml \
- $$PWD/TextArea.qml \
- $$PWD/TextField.qml \
- $$PWD/ToolBar.qml \
- $$PWD/ToolButton.qml \
- $$PWD/ToolSeparator.qml \
- $$PWD/ToolTip.qml \
- $$PWD/Tumbler.qml
diff --git a/src/imports/controls/material/material.pro b/src/imports/controls/material/material.pro
deleted file mode 100644
index cf08b925..00000000
--- a/src/imports/controls/material/material.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-TARGET = qtquickcontrols2materialstyleplugin
-TARGETPATH = QtQuick/Controls.2/Material
-
-IMPORT_NAME = QtQuick.Controls.Material
-IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-include(material.pri)
-
-OTHER_FILES += \
- qmldir \
- $$QML_FILES
-
-SOURCES += \
- $$PWD/qtquickcontrols2materialstyleplugin.cpp
-
-RESOURCES += \
- $$PWD/qtquickcontrols2materialstyleplugin.qrc
-
-CONFIG += no_cxx_module install_qml_files builtin_resources qtquickcompiler
-load(qml_plugin)
-
-requires(qtConfig(quickcontrols2-material))
diff --git a/src/imports/controls/material/plugins.qmltypes b/src/imports/controls/material/plugins.qmltypes
deleted file mode 100644
index 3e95fa44..00000000
--- a/src/imports/controls/material/plugins.qmltypes
+++ /dev/null
@@ -1,282 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Controls.Material 2.13'
-
-Module {
- dependencies: ["QtQuick.Controls 2.0"]
- Component { name: "QQuickAttachedObject"; prototype: "QObject" }
- Component {
- name: "QQuickMaterialBusyIndicator"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.Material.impl/BusyIndicatorImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "color"; type: "QColor" }
- Property { name: "running"; type: "bool" }
- }
- Component {
- name: "QQuickMaterialProgressBar"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.Material.impl/ProgressBarImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "color"; type: "QColor" }
- Property { name: "progress"; type: "double" }
- Property { name: "indeterminate"; type: "bool" }
- }
- Component {
- name: "QQuickMaterialRipple"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.Material.impl/Ripple 2.0"]
- exportMetaObjectRevisions: [0]
- Enum {
- name: "Trigger"
- values: {
- "Press": 0,
- "Release": 1
- }
- }
- Property { name: "color"; type: "QColor" }
- Property { name: "clipRadius"; type: "double" }
- Property { name: "pressed"; type: "bool" }
- Property { name: "active"; type: "bool" }
- Property { name: "anchor"; type: "QQuickItem"; isPointer: true }
- Property { name: "trigger"; type: "Trigger" }
- }
- Component {
- name: "QQuickMaterialStyle"
- prototype: "QQuickAttachedObject"
- exports: ["QtQuick.Controls.Material/Material 2.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Enum {
- name: "Theme"
- values: {
- "Light": 0,
- "Dark": 1,
- "System": 2
- }
- }
- Enum {
- name: "Variant"
- values: {
- "Normal": 0,
- "Dense": 1
- }
- }
- Enum {
- name: "Color"
- values: {
- "Red": 0,
- "Pink": 1,
- "Purple": 2,
- "DeepPurple": 3,
- "Indigo": 4,
- "Blue": 5,
- "LightBlue": 6,
- "Cyan": 7,
- "Teal": 8,
- "Green": 9,
- "LightGreen": 10,
- "Lime": 11,
- "Yellow": 12,
- "Amber": 13,
- "Orange": 14,
- "DeepOrange": 15,
- "Brown": 16,
- "Grey": 17,
- "BlueGrey": 18
- }
- }
- Enum {
- name: "Shade"
- values: {
- "Shade50": 0,
- "Shade100": 1,
- "Shade200": 2,
- "Shade300": 3,
- "Shade400": 4,
- "Shade500": 5,
- "Shade600": 6,
- "Shade700": 7,
- "Shade800": 8,
- "Shade900": 9,
- "ShadeA100": 10,
- "ShadeA200": 11,
- "ShadeA400": 12,
- "ShadeA700": 13
- }
- }
- Property { name: "theme"; type: "Theme" }
- Property { name: "primary"; type: "QVariant" }
- Property { name: "accent"; type: "QVariant" }
- Property { name: "foreground"; type: "QVariant" }
- Property { name: "background"; type: "QVariant" }
- Property { name: "elevation"; type: "int" }
- Property { name: "primaryColor"; type: "QColor"; isReadonly: true }
- Property { name: "accentColor"; type: "QColor"; isReadonly: true }
- Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
- Property { name: "primaryTextColor"; type: "QColor"; isReadonly: true }
- Property { name: "primaryHighlightedTextColor"; type: "QColor"; isReadonly: true }
- Property { name: "secondaryTextColor"; type: "QColor"; isReadonly: true }
- Property { name: "hintTextColor"; type: "QColor"; isReadonly: true }
- Property { name: "textSelectionColor"; type: "QColor"; isReadonly: true }
- Property { name: "dropShadowColor"; type: "QColor"; isReadonly: true }
- Property { name: "dividerColor"; type: "QColor"; isReadonly: true }
- Property { name: "iconColor"; type: "QColor"; isReadonly: true }
- Property { name: "iconDisabledColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonDisabledColor"; type: "QColor"; isReadonly: true }
- Property { name: "highlightedButtonColor"; type: "QColor"; isReadonly: true }
- Property { name: "frameColor"; type: "QColor"; isReadonly: true }
- Property { name: "rippleColor"; type: "QColor"; isReadonly: true }
- Property { name: "highlightedRippleColor"; type: "QColor"; isReadonly: true }
- Property { name: "switchUncheckedTrackColor"; type: "QColor"; isReadonly: true }
- Property { name: "switchCheckedTrackColor"; type: "QColor"; isReadonly: true }
- Property { name: "switchUncheckedHandleColor"; type: "QColor"; isReadonly: true }
- Property { name: "switchCheckedHandleColor"; type: "QColor"; isReadonly: true }
- Property { name: "switchDisabledTrackColor"; type: "QColor"; isReadonly: true }
- Property { name: "switchDisabledHandleColor"; type: "QColor"; isReadonly: true }
- Property { name: "scrollBarColor"; type: "QColor"; isReadonly: true }
- Property { name: "scrollBarHoveredColor"; type: "QColor"; isReadonly: true }
- Property { name: "scrollBarPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "dialogColor"; type: "QColor"; isReadonly: true }
- Property { name: "backgroundDimColor"; type: "QColor"; isReadonly: true }
- Property { name: "listHighlightColor"; type: "QColor"; isReadonly: true }
- Property { name: "tooltipColor"; type: "QColor"; isReadonly: true }
- Property { name: "toolBarColor"; type: "QColor"; isReadonly: true }
- Property { name: "toolTextColor"; type: "QColor"; isReadonly: true }
- Property { name: "spinBoxDisabledIconColor"; type: "QColor"; isReadonly: true }
- Property { name: "touchTarget"; type: "int"; isReadonly: true }
- Property { name: "buttonHeight"; type: "int"; isReadonly: true }
- Property { name: "delegateHeight"; type: "int"; isReadonly: true }
- Property { name: "dialogButtonBoxHeight"; type: "int"; isReadonly: true }
- Property { name: "frameVerticalPadding"; type: "int"; isReadonly: true }
- Property { name: "menuItemHeight"; type: "int"; isReadonly: true }
- Property { name: "menuItemVerticalPadding"; type: "int"; isReadonly: true }
- Property { name: "switchDelegateVerticalPadding"; type: "int"; isReadonly: true }
- Property { name: "tooltipHeight"; type: "int"; isReadonly: true }
- Signal { name: "paletteChanged" }
- Method {
- name: "color"
- type: "QColor"
- Parameter { name: "color"; type: "Color" }
- Parameter { name: "shade"; type: "Shade" }
- }
- Method {
- name: "color"
- type: "QColor"
- Parameter { name: "color"; type: "Color" }
- }
- Method {
- name: "shade"
- type: "QColor"
- Parameter { name: "color"; type: "QColor" }
- Parameter { name: "shade"; type: "Shade" }
- }
- }
- Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/BoxShadow 2.0"
- exports: ["QtQuick.Controls.Material.impl/BoxShadow 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "offsetX"; type: "int" }
- Property { name: "offsetY"; type: "int" }
- Property { name: "blurRadius"; type: "int" }
- Property { name: "spreadRadius"; type: "int" }
- Property { name: "source"; type: "QQuickItem"; isPointer: true }
- Property { name: "fullWidth"; type: "bool" }
- Property { name: "fullHeight"; type: "bool" }
- Property { name: "glowRadius"; type: "double" }
- Property { name: "spread"; type: "double" }
- Property { name: "color"; type: "QColor" }
- Property { name: "cornerRadius"; type: "double" }
- Property { name: "cached"; type: "bool" }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Material.impl/CheckIndicator 2.0"
- exports: ["QtQuick.Controls.Material.impl/CheckIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "checkState"; type: "int" }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Material.impl/CursorDelegate 2.0"
- exports: ["QtQuick.Controls.Material.impl/CursorDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/ElevationEffect 2.0"
- exports: ["QtQuick.Controls.Material.impl/ElevationEffect 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "source"; type: "QVariant" }
- Property { name: "elevation"; type: "int" }
- Property { name: "fullWidth"; type: "bool" }
- Property { name: "fullHeight"; type: "bool" }
- Property { name: "sourceItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "_shadows"; type: "QVariant"; isReadonly: true }
- Property { name: "_shadow"; type: "QVariant"; isReadonly: true }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Material.impl/RadioIndicator 2.0"
- exports: ["QtQuick.Controls.Material.impl/RadioIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- }
- Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/RectangularGlow 2.0"
- exports: ["QtQuick.Controls.Material.impl/RectangularGlow 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "glowRadius"; type: "double" }
- Property { name: "spread"; type: "double" }
- Property { name: "color"; type: "QColor" }
- Property { name: "cornerRadius"; type: "double" }
- Property { name: "cached"; type: "bool" }
- }
- Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/SliderHandle 2.0"
- exports: ["QtQuick.Controls.Material.impl/SliderHandle 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "value"; type: "double" }
- Property { name: "handleHasFocus"; type: "bool" }
- Property { name: "handlePressed"; type: "bool" }
- Property { name: "handleHovered"; type: "bool" }
- Property { name: "initialSize"; type: "int"; isReadonly: true }
- Property { name: "control"; type: "QVariant"; isReadonly: true }
- }
- Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Material.impl/SwitchIndicator 2.0"
- exports: ["QtQuick.Controls.Material.impl/SwitchIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "handle"; type: "QQuickRectangle"; isReadonly: true; isPointer: true }
- }
-}
diff --git a/src/imports/controls/material/qmldir b/src/imports/controls/material/qmldir
deleted file mode 100644
index 870a0382..00000000
--- a/src/imports/controls/material/qmldir
+++ /dev/null
@@ -1,4 +0,0 @@
-module QtQuick.Controls.Material
-plugin qtquickcontrols2materialstyleplugin
-classname QtQuickControls2MaterialStylePlugin
-depends QtQuick.Controls 2.5
diff --git a/src/imports/controls/material/qquickmaterialbusyindicator.cpp b/src/imports/controls/material/qquickmaterialbusyindicator.cpp
deleted file mode 100644
index c18a4005..00000000
--- a/src/imports/controls/material/qquickmaterialbusyindicator.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmaterialbusyindicator_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtCore/qeasingcurve.h>
-#include <QtGui/qpainter.h>
-#include <QtQuick/qsgimagenode.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*
- Relevant Android code:
-
- - core/res/res/anim/progress_indeterminate_rotation_material.xml contains
- the rotation animation data.
- - core/res/res/anim/progress_indeterminate_material.xml contains the trim
- animation data.
- - core/res/res/interpolator/trim_start_interpolator.xml and
- core/res/res/interpolator/trim_end_interpolator.xml contain the start
- and end trim path interpolators.
- - addCommand() in core/java/android/util/PathParser.java has a list of the
- different path commands available.
-*/
-
-static const int SpanAnimationDuration = 700;
-static const int RotationAnimationDuration = SpanAnimationDuration * 6;
-static const int TargetRotation = 720;
-static const int OneDegree = 16;
-static const qreal MinSweepSpan = 10 * OneDegree;
-static const qreal MaxSweepSpan = 300 * OneDegree;
-
-class QQuickMaterialBusyIndicatorNode : public QQuickAnimatedNode
-{
-public:
- QQuickMaterialBusyIndicatorNode(QQuickMaterialBusyIndicator *item);
-
- void sync(QQuickItem *item) override;
-
-protected:
- void updateCurrentTime(int time) override;
-
-private:
- int m_lastStartAngle = 0;
- int m_lastEndAngle = 0;
- qreal m_width = 0;
- qreal m_height = 0;
- qreal m_devicePixelRatio = 1;
- QColor m_color;
-};
-
-QQuickMaterialBusyIndicatorNode::QQuickMaterialBusyIndicatorNode(QQuickMaterialBusyIndicator *item)
- : QQuickAnimatedNode(item)
-{
- setLoopCount(Infinite);
- setCurrentTime(item->elapsed());
- setDuration(RotationAnimationDuration);
-
- QSGImageNode *textureNode = item->window()->createImageNode();
- textureNode->setOwnsTexture(true);
- appendChildNode(textureNode);
-
- // A texture seems to be required here, but we don't have one yet, as we haven't drawn anything,
- // so just use a blank image.
- QImage blankImage(item->width(), item->height(), QImage::Format_ARGB32_Premultiplied);
- blankImage.fill(Qt::transparent);
- textureNode->setTexture(item->window()->createTextureFromImage(blankImage));
-}
-
-void QQuickMaterialBusyIndicatorNode::updateCurrentTime(int time)
-{
- const qreal w = m_width;
- const qreal h = m_height;
- const qreal size = qMin(w, h);
- const qreal dx = (w - size) / 2;
- const qreal dy = (h - size) / 2;
-
- QImage image(size * m_devicePixelRatio, size * m_devicePixelRatio, QImage::Format_ARGB32_Premultiplied);
- image.fill(Qt::transparent);
-
- QPainter painter(&image);
- painter.setRenderHint(QPainter::Antialiasing);
-
- QPen pen;
- QSGImageNode *textureNode = static_cast<QSGImageNode *>(firstChild());
- pen.setColor(m_color);
- pen.setWidth(qCeil(size / 12) * m_devicePixelRatio);
- painter.setPen(pen);
-
- const qreal percentageComplete = time / qreal(RotationAnimationDuration);
- const qreal spanPercentageComplete = (time % SpanAnimationDuration) / qreal(SpanAnimationDuration);
- const int iteration = time / SpanAnimationDuration;
- int startAngle = 0;
- int endAngle = 0;
-
- if (iteration % 2 == 0) {
- if (m_lastStartAngle > 360 * OneDegree)
- m_lastStartAngle -= 360 * OneDegree;
-
- // The start angle is only affected by the rotation animation for the "grow" phase.
- startAngle = m_lastStartAngle;
- QEasingCurve angleCurve(QEasingCurve::OutQuad);
- const qreal percentage = angleCurve.valueForProgress(spanPercentageComplete);
- endAngle = m_lastStartAngle + MinSweepSpan + percentage * (MaxSweepSpan - MinSweepSpan);
- m_lastEndAngle = endAngle;
- } else {
- // Both the start angle *and* the span are affected by the "shrink" phase.
- QEasingCurve angleCurve(QEasingCurve::InQuad);
- const qreal percentage = angleCurve.valueForProgress(spanPercentageComplete);
- startAngle = m_lastEndAngle - MaxSweepSpan + percentage * (MaxSweepSpan - MinSweepSpan);
- endAngle = m_lastEndAngle;
- m_lastStartAngle = startAngle;
- }
-
- const int halfPen = pen.width() / 2;
- const QRectF arcBounds = QRectF(halfPen, halfPen,
- m_devicePixelRatio * size - pen.width(),
- m_devicePixelRatio * size - pen.width());
- // The current angle of the rotation animation.
- const qreal rotation = OneDegree * percentageComplete * -TargetRotation;
- startAngle -= rotation;
- endAngle -= rotation;
- const int angleSpan = endAngle - startAngle;
- painter.drawArc(arcBounds, -startAngle, -angleSpan);
- painter.end();
-
- textureNode->setRect(QRectF(dx, dy, size, size));
- textureNode->setTexture(window()->createTextureFromImage(image));
-}
-
-void QQuickMaterialBusyIndicatorNode::sync(QQuickItem *item)
-{
- QQuickMaterialBusyIndicator *indicator = static_cast<QQuickMaterialBusyIndicator *>(item);
- m_color = indicator->color();
- m_width = indicator->width();
- m_height = indicator->height();
- m_devicePixelRatio = indicator->window()->effectiveDevicePixelRatio();
-}
-
-QQuickMaterialBusyIndicator::QQuickMaterialBusyIndicator(QQuickItem *parent) :
- QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-QColor QQuickMaterialBusyIndicator::color() const
-{
- return m_color;
-}
-
-void QQuickMaterialBusyIndicator::setColor(QColor color)
-{
- if (m_color == color)
- return;
-
- m_color = color;
- update();
-}
-
-bool QQuickMaterialBusyIndicator::isRunning() const
-{
- return isVisible();
-}
-
-void QQuickMaterialBusyIndicator::setRunning(bool running)
-{
- if (running)
- setVisible(true);
-}
-
-int QQuickMaterialBusyIndicator::elapsed() const
-{
- return m_elapsed;
-}
-
-void QQuickMaterialBusyIndicator::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
- switch (change) {
- case ItemOpacityHasChanged:
- if (qFuzzyIsNull(data.realValue))
- setVisible(false);
- break;
- case ItemVisibleHasChanged:
- update();
- break;
- default:
- break;
- }
-}
-
-QSGNode *QQuickMaterialBusyIndicator::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *)
-{
- QQuickMaterialBusyIndicatorNode *node = static_cast<QQuickMaterialBusyIndicatorNode *>(oldNode);
- if (isRunning() && width() > 0 && height() > 0) {
- if (!node) {
- node = new QQuickMaterialBusyIndicatorNode(this);
- node->start();
- }
- node->sync(this);
- } else {
- m_elapsed = node ? node->currentTime() : 0;
- delete node;
- node = nullptr;
- }
- return node;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialbusyindicator_p.h b/src/imports/controls/material/qquickmaterialbusyindicator_p.h
deleted file mode 100644
index d29427c1..00000000
--- a/src/imports/controls/material/qquickmaterialbusyindicator_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMATERIALBUSYINDICATOR_P_H
-#define QQUICKMATERIALBUSYINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/qquickitem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMaterialBusyIndicator : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
- Q_PROPERTY(bool running READ isRunning WRITE setRunning FINAL)
-
-public:
- explicit QQuickMaterialBusyIndicator(QQuickItem *parent = nullptr);
-
- QColor color() const;
- void setColor(QColor color);
-
- bool isRunning() const;
- void setRunning(bool running);
-
- int elapsed() const;
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
-
-private:
- int m_elapsed = 0;
- QColor m_color = Qt::black;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMaterialBusyIndicator)
-
-#endif // QQUICKMATERIALBUSYINDICATOR_P_H
diff --git a/src/imports/controls/material/qquickmaterialprogressbar.cpp b/src/imports/controls/material/qquickmaterialprogressbar.cpp
deleted file mode 100644
index 4635c57b..00000000
--- a/src/imports/controls/material/qquickmaterialprogressbar.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmaterialprogressbar_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtCore/qeasingcurve.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuick/qsgrectanglenode.h>
-#include <QtQuick/qsgimagenode.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const int PauseDuration = 520;
-static const int SlideDuration = 1240;
-static const int TotalDuration = SlideDuration + PauseDuration;
-
-class QQuickMaterialProgressBarNode : public QQuickAnimatedNode
-{
-public:
- QQuickMaterialProgressBarNode(QQuickMaterialProgressBar *item);
-
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- void moveNode(QSGTransformNode *node, const QRectF &geometry, qreal progress);
-
- bool m_indeterminate = false;
- QEasingCurve m_easing = QEasingCurve::OutCubic;
-};
-
-QQuickMaterialProgressBarNode::QQuickMaterialProgressBarNode(QQuickMaterialProgressBar *item)
- : QQuickAnimatedNode(item)
-{
- setLoopCount(Infinite);
- setDuration(TotalDuration);
-}
-
-void QQuickMaterialProgressBarNode::updateCurrentTime(int time)
-{
- QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(firstChild());
- Q_ASSERT(geometryNode->type() == QSGNode::GeometryNodeType);
- const QRectF geometry = geometryNode->rect();
-
- QSGTransformNode *firstNode = static_cast<QSGTransformNode *>(geometryNode->firstChild());
- if (firstNode) {
- Q_ASSERT(firstNode->type() == QSGNode::TransformNodeType);
-
- const qreal progress = qMin<qreal>(1.0, static_cast<qreal>(time) / SlideDuration);
- moveNode(static_cast<QSGTransformNode *>(firstNode), geometry, progress);
- }
-
- QSGTransformNode *secondNode = static_cast<QSGTransformNode *>(geometryNode->lastChild());
- if (secondNode) {
- Q_ASSERT(secondNode->type() == QSGNode::TransformNodeType);
-
- const qreal progress = qMax<qreal>(0.0, static_cast<qreal>(time - PauseDuration) / SlideDuration);
- moveNode(static_cast<QSGTransformNode *>(secondNode), geometry, progress);
- }
-}
-
-void QQuickMaterialProgressBarNode::sync(QQuickItem *item)
-{
- QQuickMaterialProgressBar *bar = static_cast<QQuickMaterialProgressBar *>(item);
- if (m_indeterminate != bar->isIndeterminate()) {
- m_indeterminate = bar->isIndeterminate();
- if (m_indeterminate)
- start();
- else
- stop();
- }
-
- QQuickItemPrivate *d = QQuickItemPrivate::get(item);
-
- QRectF bounds = item->boundingRect();
- bounds.setHeight(item->implicitHeight());
- bounds.moveTop((item->height() - bounds.height()) / 2.0);
-
- QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(firstChild());
- if (!geometryNode) {
- geometryNode = item->window()->createRectangleNode();
- geometryNode->setColor(Qt::transparent);
- appendChildNode(geometryNode);
- }
- geometryNode->setRect(bounds);
-
- const int count = m_indeterminate ? 2 : 1;
- const qreal w = m_indeterminate ? 0 : bar->progress() * item->width();
- const QRectF rect(0, bounds.y(), w, bounds.height());
-
- QSGNode *transformNode = geometryNode->firstChild();
- for (int i = 0; i < count; ++i) {
- if (!transformNode) {
- transformNode = new QSGTransformNode;
- geometryNode->appendChildNode(transformNode);
-
- QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setAntialiasing(true);
- transformNode->appendChildNode(rectNode);
- }
- Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType);
- static_cast<QSGTransformNode *>(transformNode)->setMatrix(QMatrix4x4());
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(transformNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- rectNode->setRect(rect);
- rectNode->setColor(bar->color());
- rectNode->update();
-
- transformNode = transformNode->nextSibling();
- }
-
- while (transformNode) {
- QSGNode *nextSibling = transformNode->nextSibling();
- delete transformNode;
- transformNode = nextSibling;
- }
-}
-
-void QQuickMaterialProgressBarNode::moveNode(QSGTransformNode *transformNode, const QRectF &geometry, qreal progress)
-{
- const qreal value = m_easing.valueForProgress(progress);
- const qreal x = value * geometry.width();
-
- QMatrix4x4 matrix;
- matrix.translate(x, 0);
- transformNode->setMatrix(matrix);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(transformNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- QRectF r = geometry;
- r.setWidth(value * (geometry.width() - x));
- rectNode->setRect(r);
- rectNode->update();
-}
-
-QQuickMaterialProgressBar::QQuickMaterialProgressBar(QQuickItem *parent)
- : QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-QColor QQuickMaterialProgressBar::color() const
-{
- return m_color;
-}
-
-void QQuickMaterialProgressBar::setColor(const QColor &color)
-{
- if (color == m_color)
- return;
-
- m_color = color;
- update();
-}
-
-qreal QQuickMaterialProgressBar::progress() const
-{
- return m_progress;
-}
-
-void QQuickMaterialProgressBar::setProgress(qreal progress)
-{
- if (progress == m_progress)
- return;
-
- m_progress = progress;
- update();
-}
-
-bool QQuickMaterialProgressBar::isIndeterminate() const
-{
- return m_indeterminate;
-}
-
-void QQuickMaterialProgressBar::setIndeterminate(bool indeterminate)
-{
- if (indeterminate == m_indeterminate)
- return;
-
- m_indeterminate = indeterminate;
- update();
-}
-
-void QQuickMaterialProgressBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
- if (change == ItemVisibleHasChanged)
- update();
-}
-
-QSGNode *QQuickMaterialProgressBar::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *)
-{
- QQuickMaterialProgressBarNode *node = static_cast<QQuickMaterialProgressBarNode *>(oldNode);
- if (isVisible() && width() > 0 && height() > 0) {
- if (!node)
- node = new QQuickMaterialProgressBarNode(this);
- node->sync(this);
- } else {
- delete node;
- node = nullptr;
- }
- return node;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialprogressbar_p.h b/src/imports/controls/material/qquickmaterialprogressbar_p.h
deleted file mode 100644
index 680f36a4..00000000
--- a/src/imports/controls/material/qquickmaterialprogressbar_p.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMATERIALPROGRESSBAR_P_H
-#define QQUICKMATERIALPROGRESSBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/qquickitem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMaterialProgressBar : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
- Q_PROPERTY(qreal progress READ progress WRITE setProgress FINAL)
- Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate FINAL)
-
-public:
- explicit QQuickMaterialProgressBar(QQuickItem *parent = nullptr);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- qreal progress() const;
- void setProgress(qreal progress);
-
- bool isIndeterminate() const;
- void setIndeterminate(bool indeterminate);
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
-
-private:
- QColor m_color = Qt::black;
- qreal m_progress = 0.0;
- bool m_indeterminate = false;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMaterialProgressBar)
-
-#endif // QQUICKMATERIALPROGRESSBAR_P_H
diff --git a/src/imports/controls/material/qquickmaterialripple.cpp b/src/imports/controls/material/qquickmaterialripple.cpp
deleted file mode 100644
index e6287ff9..00000000
--- a/src/imports/controls/material/qquickmaterialripple.cpp
+++ /dev/null
@@ -1,442 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmaterialripple_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace {
- enum WavePhase { WaveEnter, WaveExit };
-}
-
-static const int RIPPLE_ENTER_DELAY = 80;
-static const int OPACITY_ENTER_DURATION_FAST = 120;
-static const int WAVE_OPACITY_DECAY_DURATION = 333;
-static const qreal WAVE_TOUCH_DOWN_ACCELERATION = 1024.0;
-
-class QQuickMaterialRippleWaveNode : public QQuickAnimatedNode
-{
-public:
- QQuickMaterialRippleWaveNode(QQuickMaterialRipple *ripple);
-
- void exit();
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- qreal m_from = 0;
- qreal m_to = 0;
- qreal m_value = 0;
- WavePhase m_phase = WaveEnter;
- QPointF m_anchor;
- QRectF m_bounds;
-};
-
-QQuickMaterialRippleWaveNode::QQuickMaterialRippleWaveNode(QQuickMaterialRipple *ripple)
- : QQuickAnimatedNode(ripple)
-{
- start(qRound(1000.0 * qSqrt(ripple->diameter() / 2.0 / WAVE_TOUCH_DOWN_ACCELERATION)));
-
- QSGOpacityNode *opacityNode = new QSGOpacityNode;
- appendChildNode(opacityNode);
-
- QQuickItemPrivate *d = QQuickItemPrivate::get(ripple);
- QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setAntialiasing(true);
- opacityNode->appendChildNode(rectNode);
-}
-
-void QQuickMaterialRippleWaveNode::exit()
-{
- m_phase = WaveExit;
- m_from = m_value;
- setDuration(WAVE_OPACITY_DECAY_DURATION);
- restart();
- connect(this, &QQuickAnimatedNode::stopped, this, &QObject::deleteLater);
-}
-
-void QQuickMaterialRippleWaveNode::updateCurrentTime(int time)
-{
- qreal p = 1.0;
- if (duration() > 0)
- p = time / static_cast<qreal>(duration());
-
- m_value = m_from + (m_to - m_from) * p;
- p = m_value / m_to;
-
- const qreal dx = (1.0 - p) * (m_anchor.x() - m_bounds.width() / 2);
- const qreal dy = (1.0 - p) * (m_anchor.y() - m_bounds.height() / 2);
-
- QMatrix4x4 m;
- m.translate(qRound((m_bounds.width() - m_value) / 2 + dx),
- qRound((m_bounds.height() - m_value) / 2 + dy));
- setMatrix(m);
-
- QSGOpacityNode *opacityNode = static_cast<QSGOpacityNode *>(firstChild());
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
- qreal opacity = 1.0;
- if (m_phase == WaveExit)
- opacity -= static_cast<qreal>(time) / WAVE_OPACITY_DECAY_DURATION;
- opacityNode->setOpacity(opacity);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
- rectNode->setRect(QRectF(0, 0, m_value, m_value));
- rectNode->setRadius(m_value / 2);
- rectNode->update();
-}
-
-void QQuickMaterialRippleWaveNode::sync(QQuickItem *item)
-{
- QQuickMaterialRipple *ripple = static_cast<QQuickMaterialRipple *>(item);
- m_to = ripple->diameter();
- m_anchor = ripple->anchorPoint();
- m_bounds = ripple->boundingRect();
-
- QSGOpacityNode *opacityNode = static_cast<QSGOpacityNode *>(firstChild());
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
- rectNode->setColor(ripple->color());
-}
-
-class QQuickMaterialRippleBackgroundNode : public QQuickAnimatedNode
-{
- Q_OBJECT
-
-public:
- QQuickMaterialRippleBackgroundNode(QQuickMaterialRipple *ripple);
-
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- bool m_active = false;
-};
-
-QQuickMaterialRippleBackgroundNode::QQuickMaterialRippleBackgroundNode(QQuickMaterialRipple *ripple)
- : QQuickAnimatedNode(ripple)
-{
- setDuration(OPACITY_ENTER_DURATION_FAST);
-
- QSGOpacityNode *opacityNode = new QSGOpacityNode;
- opacityNode->setOpacity(0.0);
- appendChildNode(opacityNode);
-
- QQuickItemPrivate *d = QQuickItemPrivate::get(ripple);
- QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setAntialiasing(true);
- opacityNode->appendChildNode(rectNode);
-}
-
-void QQuickMaterialRippleBackgroundNode::updateCurrentTime(int time)
-{
- qreal opacity = time / static_cast<qreal>(duration());
- if (!m_active)
- opacity = 1.0 - opacity;
-
- QSGOpacityNode *opacityNode = static_cast<QSGOpacityNode *>(firstChild());
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
- opacityNode->setOpacity(opacity);
-}
-
-void QQuickMaterialRippleBackgroundNode::sync(QQuickItem *item)
-{
- QQuickMaterialRipple *ripple = static_cast<QQuickMaterialRipple *>(item);
- if (m_active != ripple->isActive()) {
- m_active = ripple->isActive();
- setDuration(m_active ? OPACITY_ENTER_DURATION_FAST : WAVE_OPACITY_DECAY_DURATION);
- restart();
- }
-
- QSGOpacityNode *opacityNode = static_cast<QSGOpacityNode *>(firstChild());
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- const qreal w = ripple->width();
- const qreal h = ripple->height();
- const qreal sz = qSqrt(w * w + h * h);
-
- QMatrix4x4 matrix;
- if (qFuzzyIsNull(ripple->clipRadius())) {
- matrix.translate(qRound((w - sz) / 2), qRound((h - sz) / 2));
- rectNode->setRect(QRectF(0, 0, sz, sz));
- rectNode->setRadius(sz / 2);
- } else {
- rectNode->setRect(QRectF(0, 0, w, h));
- rectNode->setRadius(ripple->clipRadius());
- }
-
- setMatrix(matrix);
- rectNode->setColor(ripple->color());
- rectNode->update();
-}
-
-QQuickMaterialRipple::QQuickMaterialRipple(QQuickItem *parent)
- : QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-bool QQuickMaterialRipple::isActive() const
-{
- return m_active;
-}
-
-void QQuickMaterialRipple::setActive(bool active)
-{
- if (active == m_active)
- return;
-
- m_active = active;
- update();
-}
-
-QColor QQuickMaterialRipple::color() const
-{
- return m_color;
-}
-
-void QQuickMaterialRipple::setColor(const QColor &color)
-{
- if (m_color == color)
- return;
-
- m_color = color;
- update();
-}
-
-qreal QQuickMaterialRipple::clipRadius() const
-{
- return m_clipRadius;
-}
-
-void QQuickMaterialRipple::setClipRadius(qreal radius)
-{
- if (qFuzzyCompare(m_clipRadius, radius))
- return;
-
- m_clipRadius = radius;
- setClip(!qFuzzyIsNull(radius));
- update();
-}
-
-bool QQuickMaterialRipple::isPressed() const
-{
- return m_pressed;
-}
-
-void QQuickMaterialRipple::setPressed(bool pressed)
-{
- if (pressed == m_pressed)
- return;
-
- m_pressed = pressed;
-
- if (!isEnabled()) {
- exitWave();
- return;
- }
-
- if (pressed) {
- if (m_trigger == Press)
- prepareWave();
- else
- exitWave();
- } else {
- if (m_trigger == Release)
- enterWave();
- else
- exitWave();
- }
-}
-
-QQuickMaterialRipple::Trigger QQuickMaterialRipple::trigger() const
-{
- return m_trigger;
-}
-
-void QQuickMaterialRipple::setTrigger(Trigger trigger)
-{
- m_trigger = trigger;
-}
-
-QPointF QQuickMaterialRipple::anchorPoint() const
-{
- const QRectF bounds = boundingRect();
- const QPointF center = bounds.center();
- if (!m_anchor)
- return center;
-
- QPointF anchorPoint = bounds.center();
- if (QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(m_anchor))
- anchorPoint = QQuickAbstractButtonPrivate::get(button)->pressPoint;
- anchorPoint = mapFromItem(m_anchor, anchorPoint);
-
- // calculate whether the anchor point is within the ripple circle bounds,
- // that is, whether waves should start expanding from the anchor point
- const qreal r = qSqrt(bounds.width() * bounds.width() + bounds.height() * bounds.height()) / 2;
- if (QLineF(center, anchorPoint).length() < r)
- return anchorPoint;
-
- // if the anchor point is outside the ripple circle bounds, start expanding
- // from the intersection point of the ripple circle and a line from its center
- // to the the anchor point
- const qreal p = qAtan2(anchorPoint.y() - center.y(), anchorPoint.x() - center.x());
- return QPointF(center.x() + r * qCos(p), center.y() + r * qSin(p));
-}
-
-QQuickItem *QQuickMaterialRipple::anchor() const
-{
- return m_anchor;
-}
-
-void QQuickMaterialRipple::setAnchor(QQuickItem *item)
-{
- m_anchor = item;
-}
-
-qreal QQuickMaterialRipple::diameter() const
-{
- const qreal w = width();
- const qreal h = height();
- return qSqrt(w * w + h * h);
-}
-
-void QQuickMaterialRipple::itemChange(ItemChange change, const ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
-}
-
-QSGNode *QQuickMaterialRipple::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *)
-{
- QQuickItemPrivate *d = QQuickItemPrivate::get(this);
- QQuickDefaultClipNode *clipNode = d->clipNode();
- if (clipNode) {
- // TODO: QTBUG-51894
- // clipNode->setRadius(m_clipRadius);
- clipNode->setRect(boundingRect());
- clipNode->update();
- }
-
- QSGNode *container = oldNode;
- if (!container)
- container = new QSGNode;
-
- QQuickMaterialRippleBackgroundNode *backgroundNode = static_cast<QQuickMaterialRippleBackgroundNode *>(container->firstChild());
- if (!backgroundNode) {
- backgroundNode = new QQuickMaterialRippleBackgroundNode(this);
- backgroundNode->setObjectName(objectName());
- container->appendChildNode(backgroundNode);
- }
- backgroundNode->sync(this);
-
- // enter new waves
- int i = m_waves;
- QQuickMaterialRippleWaveNode *enterNode = static_cast<QQuickMaterialRippleWaveNode *>(backgroundNode->nextSibling());
- while (i-- > 0) {
- if (!enterNode) {
- enterNode = new QQuickMaterialRippleWaveNode(this);
- container->appendChildNode(enterNode);
- }
- enterNode->sync(this);
- enterNode = static_cast<QQuickMaterialRippleWaveNode *>(enterNode->nextSibling());
- }
-
- // exit old waves
- int j = container->childCount() - 1 - m_waves;
- while (j-- > 0) {
- QQuickMaterialRippleWaveNode *exitNode = static_cast<QQuickMaterialRippleWaveNode *>(backgroundNode->nextSibling());
- if (exitNode) {
- exitNode->exit();
- exitNode->sync(this);
- }
- }
-
- return container;
-}
-
-void QQuickMaterialRipple::timerEvent(QTimerEvent *event)
-{
- QQuickItem::timerEvent(event);
-
- if (event->timerId() == m_enterDelay)
- enterWave();
-}
-
-void QQuickMaterialRipple::prepareWave()
-{
- if (m_enterDelay <= 0)
- m_enterDelay = startTimer(RIPPLE_ENTER_DELAY);
-}
-
-void QQuickMaterialRipple::enterWave()
-{
- if (m_enterDelay > 0) {
- killTimer(m_enterDelay);
- m_enterDelay = 0;
- }
-
- ++m_waves;
- update();
-}
-
-void QQuickMaterialRipple::exitWave()
-{
- if (m_enterDelay > 0) {
- killTimer(m_enterDelay);
- m_enterDelay = 0;
- }
-
- if (m_waves > 0) {
- --m_waves;
- update();
- }
-}
-
-QT_END_NAMESPACE
-
-#include "qquickmaterialripple.moc"
diff --git a/src/imports/controls/material/qquickmaterialripple_p.h b/src/imports/controls/material/qquickmaterialripple_p.h
deleted file mode 100644
index 8a80113b..00000000
--- a/src/imports/controls/material/qquickmaterialripple_p.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMATERIALRIPPLE_P_H
-#define QQUICKMATERIALRIPPLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickitem.h>
-#include <QtGui/qcolor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMaterialRipple : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
- Q_PROPERTY(qreal clipRadius READ clipRadius WRITE setClipRadius FINAL)
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed FINAL)
- Q_PROPERTY(bool active READ isActive WRITE setActive FINAL)
- Q_PROPERTY(QQuickItem *anchor READ anchor WRITE setAnchor FINAL)
- Q_PROPERTY(Trigger trigger READ trigger WRITE setTrigger FINAL)
-
-public:
- QQuickMaterialRipple(QQuickItem *parent = nullptr);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- qreal clipRadius() const;
- void setClipRadius(qreal radius);
-
- bool isActive() const;
- void setActive(bool active);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- enum Trigger { Press, Release };
- Q_ENUM (Trigger)
-
- Trigger trigger() const;
- void setTrigger(Trigger trigger);
-
- QPointF anchorPoint() const;
-
- QQuickItem *anchor() const;
- void setAnchor(QQuickItem *anchor);
-
- qreal diameter() const;
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
- void timerEvent(QTimerEvent *event) override;
-
- void prepareWave();
- void enterWave();
- void exitWave();
-
-private:
- bool m_active = false;
- bool m_pressed = false;
- int m_waves = 0;
- int m_enterDelay = 0;
- Trigger m_trigger = Press;
- qreal m_clipRadius = 0.0;
- QColor m_color;
- QQuickItem *m_anchor = nullptr;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMaterialRipple)
-
-#endif // QQUICKMATERIALRIPPLE_P_H
diff --git a/src/imports/controls/material/qquickmaterialstyle.cpp b/src/imports/controls/material/qquickmaterialstyle.cpp
deleted file mode 100644
index 77a65927..00000000
--- a/src/imports/controls/material/qquickmaterialstyle.cpp
+++ /dev/null
@@ -1,1334 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmaterialstyle_p.h"
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qsettings.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuickControls2/private/qquickstyle_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const QRgb colors[][14] = {
- // Red
- {
- 0xFFFFEBEE, // Shade50
- 0xFFFFCDD2, // Shade100
- 0xFFEF9A9A, // Shade200
- 0xFFE57373, // Shade300
- 0xFFEF5350, // Shade400
- 0xFFF44336, // Shade500
- 0xFFE53935, // Shade600
- 0xFFD32F2F, // Shade700
- 0xFFC62828, // Shade800
- 0xFFB71C1C, // Shade900
- 0xFFFF8A80, // ShadeA100
- 0xFFFF5252, // ShadeA200
- 0xFFFF1744, // ShadeA400
- 0xFFD50000 // ShadeA700
- },
- // Pink
- {
- 0xFFFCE4EC, // Shade50
- 0xFFF8BBD0, // Shade100
- 0xFFF48FB1, // Shade200
- 0xFFF06292, // Shade300
- 0xFFEC407A, // Shade400
- 0xFFE91E63, // Shade500
- 0xFFD81B60, // Shade600
- 0xFFC2185B, // Shade700
- 0xFFAD1457, // Shade800
- 0xFF880E4F, // Shade900
- 0xFFFF80AB, // ShadeA100
- 0xFFFF4081, // ShadeA200
- 0xFFF50057, // ShadeA400
- 0xFFC51162 // ShadeA700
- },
- // Purple
- {
- 0xFFF3E5F5, // Shade50
- 0xFFE1BEE7, // Shade100
- 0xFFCE93D8, // Shade200
- 0xFFBA68C8, // Shade300
- 0xFFAB47BC, // Shade400
- 0xFF9C27B0, // Shade500
- 0xFF8E24AA, // Shade600
- 0xFF7B1FA2, // Shade700
- 0xFF6A1B9A, // Shade800
- 0xFF4A148C, // Shade900
- 0xFFEA80FC, // ShadeA100
- 0xFFE040FB, // ShadeA200
- 0xFFD500F9, // ShadeA400
- 0xFFAA00FF // ShadeA700
- },
- // DeepPurple
- {
- 0xFFEDE7F6, // Shade50
- 0xFFD1C4E9, // Shade100
- 0xFFB39DDB, // Shade200
- 0xFF9575CD, // Shade300
- 0xFF7E57C2, // Shade400
- 0xFF673AB7, // Shade500
- 0xFF5E35B1, // Shade600
- 0xFF512DA8, // Shade700
- 0xFF4527A0, // Shade800
- 0xFF311B92, // Shade900
- 0xFFB388FF, // ShadeA100
- 0xFF7C4DFF, // ShadeA200
- 0xFF651FFF, // ShadeA400
- 0xFF6200EA // ShadeA700
- },
- // Indigo
- {
- 0xFFE8EAF6, // Shade50
- 0xFFC5CAE9, // Shade100
- 0xFF9FA8DA, // Shade200
- 0xFF7986CB, // Shade300
- 0xFF5C6BC0, // Shade400
- 0xFF3F51B5, // Shade500
- 0xFF3949AB, // Shade600
- 0xFF303F9F, // Shade700
- 0xFF283593, // Shade800
- 0xFF1A237E, // Shade900
- 0xFF8C9EFF, // ShadeA100
- 0xFF536DFE, // ShadeA200
- 0xFF3D5AFE, // ShadeA400
- 0xFF304FFE // ShadeA700
- },
- // Blue
- {
- 0xFFE3F2FD, // Shade50
- 0xFFBBDEFB, // Shade100
- 0xFF90CAF9, // Shade200
- 0xFF64B5F6, // Shade300
- 0xFF42A5F5, // Shade400
- 0xFF2196F3, // Shade500
- 0xFF1E88E5, // Shade600
- 0xFF1976D2, // Shade700
- 0xFF1565C0, // Shade800
- 0xFF0D47A1, // Shade900
- 0xFF82B1FF, // ShadeA100
- 0xFF448AFF, // ShadeA200
- 0xFF2979FF, // ShadeA400
- 0xFF2962FF // ShadeA700
- },
- // LightBlue
- {
- 0xFFE1F5FE, // Shade50
- 0xFFB3E5FC, // Shade100
- 0xFF81D4FA, // Shade200
- 0xFF4FC3F7, // Shade300
- 0xFF29B6F6, // Shade400
- 0xFF03A9F4, // Shade500
- 0xFF039BE5, // Shade600
- 0xFF0288D1, // Shade700
- 0xFF0277BD, // Shade800
- 0xFF01579B, // Shade900
- 0xFF80D8FF, // ShadeA100
- 0xFF40C4FF, // ShadeA200
- 0xFF00B0FF, // ShadeA400
- 0xFF0091EA // ShadeA700
- },
- // Cyan
- {
- 0xFFE0F7FA, // Shade50
- 0xFFB2EBF2, // Shade100
- 0xFF80DEEA, // Shade200
- 0xFF4DD0E1, // Shade300
- 0xFF26C6DA, // Shade400
- 0xFF00BCD4, // Shade500
- 0xFF00ACC1, // Shade600
- 0xFF0097A7, // Shade700
- 0xFF00838F, // Shade800
- 0xFF006064, // Shade900
- 0xFF84FFFF, // ShadeA100
- 0xFF18FFFF, // ShadeA200
- 0xFF00E5FF, // ShadeA400
- 0xFF00B8D4 // ShadeA700
- },
- // Teal
- {
- 0xFFE0F2F1, // Shade50
- 0xFFB2DFDB, // Shade100
- 0xFF80CBC4, // Shade200
- 0xFF4DB6AC, // Shade300
- 0xFF26A69A, // Shade400
- 0xFF009688, // Shade500
- 0xFF00897B, // Shade600
- 0xFF00796B, // Shade700
- 0xFF00695C, // Shade800
- 0xFF004D40, // Shade900
- 0xFFA7FFEB, // ShadeA100
- 0xFF64FFDA, // ShadeA200
- 0xFF1DE9B6, // ShadeA400
- 0xFF00BFA5 // ShadeA700
- },
- // Green
- {
- 0xFFE8F5E9, // Shade50
- 0xFFC8E6C9, // Shade100
- 0xFFA5D6A7, // Shade200
- 0xFF81C784, // Shade300
- 0xFF66BB6A, // Shade400
- 0xFF4CAF50, // Shade500
- 0xFF43A047, // Shade600
- 0xFF388E3C, // Shade700
- 0xFF2E7D32, // Shade800
- 0xFF1B5E20, // Shade900
- 0xFFB9F6CA, // ShadeA100
- 0xFF69F0AE, // ShadeA200
- 0xFF00E676, // ShadeA400
- 0xFF00C853 // ShadeA700
- },
- // LightGreen
- {
- 0xFFF1F8E9, // Shade50
- 0xFFDCEDC8, // Shade100
- 0xFFC5E1A5, // Shade200
- 0xFFAED581, // Shade300
- 0xFF9CCC65, // Shade400
- 0xFF8BC34A, // Shade500
- 0xFF7CB342, // Shade600
- 0xFF689F38, // Shade700
- 0xFF558B2F, // Shade800
- 0xFF33691E, // Shade900
- 0xFFCCFF90, // ShadeA100
- 0xFFB2FF59, // ShadeA200
- 0xFF76FF03, // ShadeA400
- 0xFF64DD17 // ShadeA700
- },
- // Lime
- {
- 0xFFF9FBE7, // Shade50
- 0xFFF0F4C3, // Shade100
- 0xFFE6EE9C, // Shade200
- 0xFFDCE775, // Shade300
- 0xFFD4E157, // Shade400
- 0xFFCDDC39, // Shade500
- 0xFFC0CA33, // Shade600
- 0xFFAFB42B, // Shade700
- 0xFF9E9D24, // Shade800
- 0xFF827717, // Shade900
- 0xFFF4FF81, // ShadeA100
- 0xFFEEFF41, // ShadeA200
- 0xFFC6FF00, // ShadeA400
- 0xFFAEEA00 // ShadeA700
- },
- // Yellow
- {
- 0xFFFFFDE7, // Shade50
- 0xFFFFF9C4, // Shade100
- 0xFFFFF59D, // Shade200
- 0xFFFFF176, // Shade300
- 0xFFFFEE58, // Shade400
- 0xFFFFEB3B, // Shade500
- 0xFFFDD835, // Shade600
- 0xFFFBC02D, // Shade700
- 0xFFF9A825, // Shade800
- 0xFFF57F17, // Shade900
- 0xFFFFFF8D, // ShadeA100
- 0xFFFFFF00, // ShadeA200
- 0xFFFFEA00, // ShadeA400
- 0xFFFFD600 // ShadeA700
- },
- // Amber
- {
- 0xFFFFF8E1, // Shade50
- 0xFFFFECB3, // Shade100
- 0xFFFFE082, // Shade200
- 0xFFFFD54F, // Shade300
- 0xFFFFCA28, // Shade400
- 0xFFFFC107, // Shade500
- 0xFFFFB300, // Shade600
- 0xFFFFA000, // Shade700
- 0xFFFF8F00, // Shade800
- 0xFFFF6F00, // Shade900
- 0xFFFFE57F, // ShadeA100
- 0xFFFFD740, // ShadeA200
- 0xFFFFC400, // ShadeA400
- 0xFFFFAB00 // ShadeA700
- },
- // Orange
- {
- 0xFFFFF3E0, // Shade50
- 0xFFFFE0B2, // Shade100
- 0xFFFFCC80, // Shade200
- 0xFFFFB74D, // Shade300
- 0xFFFFA726, // Shade400
- 0xFFFF9800, // Shade500
- 0xFFFB8C00, // Shade600
- 0xFFF57C00, // Shade700
- 0xFFEF6C00, // Shade800
- 0xFFE65100, // Shade900
- 0xFFFFD180, // ShadeA100
- 0xFFFFAB40, // ShadeA200
- 0xFFFF9100, // ShadeA400
- 0xFFFF6D00 // ShadeA700
- },
- // DeepOrange
- {
- 0xFFFBE9E7, // Shade50
- 0xFFFFCCBC, // Shade100
- 0xFFFFAB91, // Shade200
- 0xFFFF8A65, // Shade300
- 0xFFFF7043, // Shade400
- 0xFFFF5722, // Shade500
- 0xFFF4511E, // Shade600
- 0xFFE64A19, // Shade700
- 0xFFD84315, // Shade800
- 0xFFBF360C, // Shade900
- 0xFFFF9E80, // ShadeA100
- 0xFFFF6E40, // ShadeA200
- 0xFFFF3D00, // ShadeA400
- 0xFFDD2C00 // ShadeA700
- },
- // Brown
- {
- 0xFFEFEBE9, // Shade50
- 0xFFD7CCC8, // Shade100
- 0xFFBCAAA4, // Shade200
- 0xFFA1887F, // Shade300
- 0xFF8D6E63, // Shade400
- 0xFF795548, // Shade500
- 0xFF6D4C41, // Shade600
- 0xFF5D4037, // Shade700
- 0xFF4E342E, // Shade800
- 0xFF3E2723, // Shade900
- 0xFF000000, // ShadeA100
- 0xFF000000, // ShadeA200
- 0xFF000000, // ShadeA400
- 0xFF000000 // ShadeA700
- },
- // Grey
- {
- 0xFFFAFAFA, // Shade50
- 0xFFF5F5F5, // Shade100
- 0xFFEEEEEE, // Shade200
- 0xFFE0E0E0, // Shade300
- 0xFFBDBDBD, // Shade400
- 0xFF9E9E9E, // Shade500
- 0xFF757575, // Shade600
- 0xFF616161, // Shade700
- 0xFF424242, // Shade800
- 0xFF212121, // Shade900
- 0xFF000000, // ShadeA100
- 0xFF000000, // ShadeA200
- 0xFF000000, // ShadeA400
- 0xFF000000 // ShadeA700
- },
- // BlueGrey
- {
- 0xFFECEFF1, // Shade50
- 0xFFCFD8DC, // Shade100
- 0xFFB0BEC5, // Shade200
- 0xFF90A4AE, // Shade300
- 0xFF78909C, // Shade400
- 0xFF607D8B, // Shade500
- 0xFF546E7A, // Shade600
- 0xFF455A64, // Shade700
- 0xFF37474F, // Shade800
- 0xFF263238, // Shade900
- 0xFF000000, // ShadeA100
- 0xFF000000, // ShadeA200
- 0xFF000000, // ShadeA400
- 0xFF000000 // ShadeA700
- }
-};
-
-// If no value was inherited from a parent or explicitly set, the "global" values are used.
-// The initial, default values of the globals are hard-coded here, but the environment
-// variables and .conf file override them if specified.
-static QQuickMaterialStyle::Theme globalTheme = QQuickMaterialStyle::Light;
-static uint globalPrimary = QQuickMaterialStyle::Indigo;
-static uint globalAccent = QQuickMaterialStyle::Pink;
-static uint globalForeground = 0xDD000000; // primaryTextColorLight
-static uint globalBackground = 0xFFFAFAFA; // backgroundColorLight
-// These represent whether a global foreground/background was set.
-// Each style's m_hasForeground/m_hasBackground are initialized to these values.
-static bool hasGlobalForeground = false;
-static bool hasGlobalBackground = false;
-// These represent whether or not the global color value was specified as one of the
-// values that QColor accepts, as opposed to one of the pre-defined colors like Red.
-static bool globalPrimaryCustom = false;
-static bool globalAccentCustom = false;
-static bool globalForegroundCustom = true;
-static bool globalBackgroundCustom = true;
-// This is global because:
-// 1) The theme needs access to it to determine font sizes.
-// 2) There can only be one variant used for the whole application.
-static QQuickMaterialStyle::Variant globalVariant = QQuickMaterialStyle::Normal;
-
-static const QRgb backgroundColorLight = 0xFFFAFAFA;
-static const QRgb backgroundColorDark = 0xFF303030;
-static const QRgb dialogColorLight = 0xFFFFFFFF;
-static const QRgb dialogColorDark = 0xFF424242;
-static const QRgb primaryTextColorLight = 0xDD000000;
-static const QRgb primaryTextColorDark = 0xFFFFFFFF;
-static const QRgb secondaryTextColorLight = 0x89000000;
-static const QRgb secondaryTextColorDark = 0xB2FFFFFF;
-static const QRgb hintTextColorLight = 0x60000000;
-static const QRgb hintTextColorDark = 0x4CFFFFFF;
-static const QRgb dividerColorLight = 0x1E000000;
-static const QRgb dividerColorDark = 0x1EFFFFFF;
-static const QRgb iconColorLight = 0x89000000;
-static const QRgb iconColorDark = 0xFFFFFFFF;
-static const QRgb iconDisabledColorLight = 0x42000000;
-static const QRgb iconDisabledColorDark = 0x4CFFFFFF;
-static const QRgb raisedButtonColorLight = 0xFFD6D7D7;
-static const QRgb raisedButtonColorDark = 0x3FCCCCCC;
-static const QRgb raisedButtonDisabledColorLight = dividerColorLight;
-static const QRgb raisedButtonDisabledColorDark = dividerColorDark;
-static const QRgb frameColorLight = hintTextColorLight;
-static const QRgb frameColorDark = hintTextColorDark;
-static const QRgb switchUncheckedTrackColorLight = 0x42000000;
-static const QRgb switchUncheckedTrackColorDark = 0x4CFFFFFF;
-static const QRgb switchDisabledTrackColorLight = 0x1E000000;
-static const QRgb switchDisabledTrackColorDark = 0x19FFFFFF;
-static const QRgb rippleColorLight = 0x10000000;
-static const QRgb rippleColorDark = 0x20FFFFFF;
-static const QRgb spinBoxDisabledIconColorLight = 0xFFCCCCCC;
-static const QRgb spinBoxDisabledIconColorDark = 0xFF666666;
-
-static QQuickMaterialStyle::Theme effectiveTheme(QQuickMaterialStyle::Theme theme)
-{
- if (theme == QQuickMaterialStyle::System)
- theme = QQuickStylePrivate::isDarkSystemTheme() ? QQuickMaterialStyle::Dark : QQuickMaterialStyle::Light;
- return theme;
-}
-
-QQuickMaterialStyle::QQuickMaterialStyle(QObject *parent) : QQuickAttachedObject(parent),
- m_customPrimary(globalPrimaryCustom),
- m_customAccent(globalAccentCustom),
- m_customForeground(globalForegroundCustom),
- m_customBackground(globalBackgroundCustom),
- m_hasForeground(hasGlobalForeground),
- m_hasBackground(hasGlobalBackground),
- m_theme(globalTheme),
- m_primary(globalPrimary),
- m_accent(globalAccent),
- m_foreground(globalForeground),
- m_background(globalBackground)
-{
- QQuickAttachedObject::init();
-}
-
-QQuickMaterialStyle *QQuickMaterialStyle::qmlAttachedProperties(QObject *object)
-{
- return new QQuickMaterialStyle(object);
-}
-
-QQuickMaterialStyle::Theme QQuickMaterialStyle::theme() const
-{
- return m_theme;
-}
-
-void QQuickMaterialStyle::setTheme(Theme theme)
-{
- if (theme == System)
- theme = QQuickStylePrivate::isDarkSystemTheme() ? Dark : Light;
-
- m_explicitTheme = true;
- if (m_theme == theme)
- return;
-
- m_theme = theme;
- propagateTheme();
- emit themeChanged();
- emit paletteChanged();
- if (!m_customAccent)
- emit accentChanged();
- if (!m_hasBackground)
- emit backgroundChanged();
- if (!m_hasForeground)
- emit foregroundChanged();
-}
-
-void QQuickMaterialStyle::inheritTheme(Theme theme)
-{
- if (m_explicitTheme || m_theme == theme)
- return;
-
- m_theme = theme;
- propagateTheme();
- emit themeChanged();
- emit paletteChanged();
- if (!m_customAccent)
- emit accentChanged();
- if (!m_hasBackground)
- emit backgroundChanged();
- if (!m_hasForeground)
- emit foregroundChanged();
-}
-
-void QQuickMaterialStyle::propagateTheme()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child);
- if (material)
- material->inheritTheme(m_theme);
- }
-}
-
-void QQuickMaterialStyle::resetTheme()
-{
- if (!m_explicitTheme)
- return;
-
- m_explicitTheme = false;
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(attachedParent());
- inheritTheme(material ? material->theme() : globalTheme);
-}
-
-QVariant QQuickMaterialStyle::primary() const
-{
- return primaryColor();
-}
-
-void QQuickMaterialStyle::setPrimary(const QVariant &var)
-{
- QRgb primary = 0;
- bool custom = false;
- if (!variantToRgba(var, "primary", &primary, &custom))
- return;
-
- m_explicitPrimary = true;
- if (m_primary == primary)
- return;
-
- m_customPrimary = custom;
- m_primary = primary;
- propagatePrimary();
- emit primaryChanged();
- emit paletteChanged();
-}
-
-void QQuickMaterialStyle::inheritPrimary(uint primary, bool custom)
-{
- if (m_explicitPrimary || m_primary == primary)
- return;
-
- m_customPrimary = custom;
- m_primary = primary;
- propagatePrimary();
- emit primaryChanged();
- emit paletteChanged();
-}
-
-void QQuickMaterialStyle::propagatePrimary()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child);
- if (material)
- material->inheritPrimary(m_primary, m_customPrimary);
- }
-}
-
-void QQuickMaterialStyle::resetPrimary()
-{
- if (!m_explicitPrimary)
- return;
-
- m_customPrimary = false;
- m_explicitPrimary = false;
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(attachedParent());
- if (material)
- inheritPrimary(material->m_primary, material->m_customPrimary);
- else
- inheritPrimary(globalPrimary, false);
-}
-
-QVariant QQuickMaterialStyle::accent() const
-{
- return accentColor();
-}
-
-void QQuickMaterialStyle::setAccent(const QVariant &var)
-{
- QRgb accent = 0;
- bool custom = false;
- if (!variantToRgba(var, "accent", &accent, &custom))
- return;
-
- m_explicitAccent = true;
- if (m_accent == accent)
- return;
-
- m_customAccent = custom;
- m_accent = accent;
- propagateAccent();
- emit accentChanged();
- emit paletteChanged();
-}
-
-void QQuickMaterialStyle::inheritAccent(uint accent, bool custom)
-{
- if (m_explicitAccent || m_accent == accent)
- return;
-
- m_customAccent = custom;
- m_accent = accent;
- propagateAccent();
- emit accentChanged();
- emit paletteChanged();
-}
-
-void QQuickMaterialStyle::propagateAccent()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child);
- if (material)
- material->inheritAccent(m_accent, m_customAccent);
- }
-}
-
-void QQuickMaterialStyle::resetAccent()
-{
- if (!m_explicitAccent)
- return;
-
- m_customAccent = false;
- m_explicitAccent = false;
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(attachedParent());
- if (material)
- inheritAccent(material->m_accent, material->m_customAccent);
- else
- inheritAccent(globalAccent, false);
-}
-
-QVariant QQuickMaterialStyle::foreground() const
-{
- if (!m_hasForeground)
- return QColor::fromRgba(m_theme == Light ? primaryTextColorLight : primaryTextColorDark);
- if (m_customForeground)
- return QColor::fromRgba(m_foreground);
- if (m_foreground > BlueGrey)
- return QColor();
- return QColor::fromRgba(colors[m_foreground][Shade500]);
-}
-
-void QQuickMaterialStyle::setForeground(const QVariant &var)
-{
- QRgb foreground = 0;
- bool custom = false;
- if (!variantToRgba(var, "foreground", &foreground, &custom))
- return;
-
- m_hasForeground = true;
- m_explicitForeground = true;
- if (m_foreground == foreground)
- return;
-
- m_customForeground = custom;
- m_foreground = foreground;
- propagateForeground();
- emit foregroundChanged();
-}
-
-void QQuickMaterialStyle::inheritForeground(uint foreground, bool custom, bool has)
-{
- if (m_explicitForeground || m_foreground == foreground)
- return;
-
- m_hasForeground = has;
- m_customForeground = custom;
- m_foreground = foreground;
- propagateForeground();
- emit foregroundChanged();
-}
-
-void QQuickMaterialStyle::propagateForeground()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child);
- if (material)
- material->inheritForeground(m_foreground, m_customForeground, m_hasForeground);
- }
-}
-
-void QQuickMaterialStyle::resetForeground()
-{
- if (!m_explicitForeground)
- return;
-
- m_hasForeground = false;
- m_customForeground = false;
- m_explicitForeground = false;
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(attachedParent());
- inheritForeground(material ? material->m_foreground : globalForeground, true, material ? material->m_hasForeground : false);
-}
-
-QVariant QQuickMaterialStyle::background() const
-{
- return backgroundColor();
-}
-
-void QQuickMaterialStyle::setBackground(const QVariant &var)
-{
- QRgb background = 0;
- bool custom = false;
- if (!variantToRgba(var, "background", &background, &custom))
- return;
-
- m_hasBackground = true;
- m_explicitBackground = true;
- if (m_background == background)
- return;
-
- m_customBackground = custom;
- m_background = background;
- propagateBackground();
- emit backgroundChanged();
- emit paletteChanged();
-}
-
-void QQuickMaterialStyle::inheritBackground(uint background, bool custom, bool has)
-{
- if (m_explicitBackground || m_background == background)
- return;
-
- m_hasBackground = has;
- m_customBackground = custom;
- m_background = background;
- propagateBackground();
- emit backgroundChanged();
- emit paletteChanged();
-}
-
-void QQuickMaterialStyle::propagateBackground()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child);
- if (material)
- material->inheritBackground(m_background, m_customBackground, m_hasBackground);
- }
-}
-
-void QQuickMaterialStyle::resetBackground()
-{
- if (!m_explicitBackground)
- return;
-
- m_hasBackground = false;
- m_customBackground = false;
- m_explicitBackground = false;
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(attachedParent());
- inheritBackground(material ? material->m_background : globalBackground, true, material ? material->m_hasBackground : false);
-}
-
-int QQuickMaterialStyle::elevation() const
-{
- return m_elevation;
-}
-
-void QQuickMaterialStyle::setElevation(int elevation)
-{
- if (m_elevation == elevation)
- return;
-
- m_elevation = elevation;
- emit elevationChanged();
-}
-
-void QQuickMaterialStyle::resetElevation()
-{
- setElevation(0);
-}
-
-QColor QQuickMaterialStyle::primaryColor() const
-{
- if (m_customPrimary)
- return QColor::fromRgba(m_primary);
- if (m_primary > BlueGrey)
- return QColor();
- return colors[m_primary][Shade500];
-}
-
-QColor QQuickMaterialStyle::accentColor(Shade shade) const
-{
- if (m_customAccent)
- return shade == themeShade() ? QColor::fromRgba(m_accent)
- : this->shade(QColor::fromRgba(m_accent), shade);
- if (m_accent > BlueGrey)
- return QColor();
- return colors[m_accent][shade];
-}
-
-QColor QQuickMaterialStyle::accentColor() const
-{
- return accentColor(themeShade());
-}
-
-QColor QQuickMaterialStyle::backgroundColor(Shade shade) const
-{
- if (!m_hasBackground)
- return QColor::fromRgba(m_theme == Light ? backgroundColorLight : backgroundColorDark);
- if (m_customBackground)
- return shade == themeShade() ? QColor::fromRgba(m_background)
- : this->shade(QColor::fromRgba(m_background), shade);
- if (m_background > BlueGrey)
- return QColor();
- return colors[m_background][shade];
-}
-
-QColor QQuickMaterialStyle::backgroundColor() const
-{
- return backgroundColor(themeShade());
-}
-
-QColor QQuickMaterialStyle::primaryTextColor() const
-{
- return QColor::fromRgba(m_theme == Light ? primaryTextColorLight : primaryTextColorDark);
-}
-
-QColor QQuickMaterialStyle::primaryHighlightedTextColor() const
-{
- if (m_explicitForeground)
- return primaryTextColor();
- return QColor::fromRgba(primaryTextColorDark);
-}
-
-QColor QQuickMaterialStyle::secondaryTextColor() const
-{
- return QColor::fromRgba(m_theme == Light ? secondaryTextColorLight : secondaryTextColorDark);
-}
-
-QColor QQuickMaterialStyle::hintTextColor() const
-{
- return QColor::fromRgba(m_theme == Light ? hintTextColorLight : hintTextColorDark);
-}
-
-QColor QQuickMaterialStyle::textSelectionColor() const
-{
- QColor color = accentColor();
- color.setAlphaF(0.4);
- return color;
-}
-
-QColor QQuickMaterialStyle::dropShadowColor() const
-{
- return QColor::fromRgba(0x40000000);
-}
-
-QColor QQuickMaterialStyle::dividerColor() const
-{
- return QColor::fromRgba(m_theme == Light ? dividerColorLight : dividerColorDark);
-}
-
-QColor QQuickMaterialStyle::iconColor() const
-{
- return QColor::fromRgba(m_theme == Light ? iconColorLight : iconColorDark);
-}
-
-QColor QQuickMaterialStyle::iconDisabledColor() const
-{
- return QColor::fromRgba(m_theme == Light ? iconDisabledColorLight : iconDisabledColorDark);
-}
-
-QColor QQuickMaterialStyle::buttonColor(bool highlighted) const
-{
- Shade shade = themeShade();
-
- QColor color = Qt::transparent;
-
- if (m_explicitBackground) {
- color = backgroundColor(shade);
- } else if (highlighted) {
- color = accentColor(shade);
- } else if (elevation() > 0) {
- color = QColor::fromRgba(m_theme == Light ? raisedButtonColorLight
- : raisedButtonColorDark);
- }
-
- return color;
-}
-
-QColor QQuickMaterialStyle::buttonColor() const
-{
- return buttonColor(false);
-}
-
-QColor QQuickMaterialStyle::buttonDisabledColor() const
-{
- if (elevation() > 0) {
- return QColor::fromRgba(m_theme == Light ? raisedButtonDisabledColorLight
- : raisedButtonDisabledColorDark);
- } else {
- return Qt::transparent;
- }
-}
-
-QColor QQuickMaterialStyle::highlightedButtonColor() const
-{
- return buttonColor(true);
-}
-
-QColor QQuickMaterialStyle::frameColor() const
-{
- return QColor::fromRgba(m_theme == Light ? frameColorLight : frameColorDark);
-}
-
-QColor QQuickMaterialStyle::rippleColor() const
-{
- return QColor::fromRgba(m_theme == Light ? rippleColorLight : rippleColorDark);
-}
-
-QColor QQuickMaterialStyle::highlightedRippleColor() const
-{
- QColor pressColor = accentColor();
- pressColor.setAlpha(m_theme == Light ? 30 : 50);
- return pressColor;
-}
-
-QColor QQuickMaterialStyle::switchUncheckedTrackColor() const
-{
- return QColor::fromRgba(m_theme == Light ? switchUncheckedTrackColorLight : switchUncheckedTrackColorDark);
-}
-
-QColor QQuickMaterialStyle::switchCheckedTrackColor() const
-{
- QColor trackColor(accentColor());
- trackColor.setAlphaF(0.5);
- return trackColor;
-}
-
-QColor QQuickMaterialStyle::switchUncheckedHandleColor() const
-{
- return m_theme == Light ? color(Grey, Shade50) : color(Grey, Shade400);
-}
-
-QColor QQuickMaterialStyle::switchCheckedHandleColor() const
-{
- return m_theme == Light ? accentColor() : shade(accentColor(), Shade200);
-}
-
-QColor QQuickMaterialStyle::switchDisabledTrackColor() const
-{
- return QColor::fromRgba(m_theme == Light ? switchDisabledTrackColorLight : switchDisabledTrackColorDark);
-}
-
-QColor QQuickMaterialStyle::switchDisabledHandleColor() const
-{
- return m_theme == Light ? color(Grey, Shade400) : color(Grey, Shade800);
-}
-
-QColor QQuickMaterialStyle::scrollBarColor() const
-{
- return QColor::fromRgba(m_theme == Light ? 0x40000000 : 0x40FFFFFF);
-}
-
-QColor QQuickMaterialStyle::scrollBarHoveredColor() const
-{
- return QColor::fromRgba(m_theme == Light ? 0x60000000 : 0x60FFFFFF);
-}
-
-QColor QQuickMaterialStyle::scrollBarPressedColor() const
-{
- return QColor::fromRgba(m_theme == Light ? 0x80000000 : 0x80FFFFFF);
-}
-
-QColor QQuickMaterialStyle::dialogColor() const
-{
- if (m_hasBackground)
- return backgroundColor();
- return QColor::fromRgba(m_theme == Light ? dialogColorLight : dialogColorDark);
-}
-
-QColor QQuickMaterialStyle::backgroundDimColor() const
-{
- return QColor::fromRgba(m_theme == Light ? 0x99303030 : 0x99fafafa);
-}
-
-QColor QQuickMaterialStyle::listHighlightColor() const
-{
- return QColor::fromRgba(m_theme == Light ? 0x1e000000 : 0x1effffff);
-}
-
-QColor QQuickMaterialStyle::tooltipColor() const
-{
- if (m_explicitBackground)
- return backgroundColor();
- return color(Grey, Shade700);
-}
-
-QColor QQuickMaterialStyle::toolBarColor() const
-{
- if (m_explicitBackground)
- return backgroundColor();
- return primaryColor();
-}
-
-QColor QQuickMaterialStyle::toolTextColor() const
-{
- if (m_hasForeground || m_customPrimary)
- return primaryTextColor();
-
- switch (m_primary) {
- case Red:
- case Pink:
- case Purple:
- case DeepPurple:
- case Indigo:
- case Blue:
- case Teal:
- case DeepOrange:
- case Brown:
- case BlueGrey:
- return QColor::fromRgba(primaryTextColorDark);
-
- case LightBlue:
- case Cyan:
- case Green:
- case LightGreen:
- case Lime:
- case Yellow:
- case Amber:
- case Orange:
- case Grey:
- return QColor::fromRgba(primaryTextColorLight);
-
- default:
- break;
- }
-
- return primaryTextColor();
-}
-
-QColor QQuickMaterialStyle::spinBoxDisabledIconColor() const
-{
- return QColor::fromRgba(m_theme == Light ? spinBoxDisabledIconColorLight : spinBoxDisabledIconColorDark);
-}
-
-QColor QQuickMaterialStyle::color(QQuickMaterialStyle::Color color, QQuickMaterialStyle::Shade shade) const
-{
- int count = sizeof(colors) / sizeof(colors[0]);
- if (color < 0 || color >= count)
- return QColor();
-
- count = sizeof(colors[0]) / sizeof(colors[0][0]);
- if (shade < 0 || shade >= count)
- return QColor();
-
- return colors[color][shade];
-}
-
-static QColor lighterShade(const QColor &color, qreal amount)
-{
- QColor hsl = color.toHsl();
- hsl.setHslF(hsl.hueF(), hsl.saturationF(), qBound<qreal>(0.0, hsl.lightnessF() + amount, 1.0), color.alphaF());
- return hsl.convertTo(color.spec());
-}
-
-static QColor darkerShade(const QColor &color, qreal amount)
-{
- QColor hsl = color.toHsl();
- hsl.setHslF(hsl.hueF(), hsl.saturationF(), qBound<qreal>(0.0, hsl.lightnessF() - amount, 1.0), color.alphaF());
- return hsl.convertTo(color.spec());
-}
-
-QQuickMaterialStyle::Shade QQuickMaterialStyle::themeShade() const
-{
- return m_theme == Light ? Shade500 : Shade200;
-}
-
-/*
- * The following lightness values originate from the Material Design Color Generator project.
- *
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 mbitson
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-// Returns the same color, if shade == themeShade()
-QColor QQuickMaterialStyle::shade(const QColor &color, Shade shade) const
-{
- switch (shade) {
- case Shade50:
- return lighterShade(color, m_theme == Light ? 0.52 : 0.26);
- case Shade100:
- return lighterShade(color, m_theme == Light ? 0.37 : 0.11);
- case Shade200:
- return m_theme == Light ? lighterShade(color, 0.26) : color;
- case Shade300:
- return m_theme == Light ? lighterShade(color, 0.12) : darkerShade(color, 0.14);
- case Shade400:
- return m_theme == Light ? lighterShade(color, 0.06) : darkerShade(color, 0.20);
- case Shade500:
- return m_theme == Light ? color : darkerShade(color, 0.26);
- case Shade600:
- return darkerShade(color, m_theme == Light ? 0.06 : 0.32);
- case Shade700:
- return darkerShade(color, m_theme == Light ? 0.12 : 0.38);
- case Shade800:
- return darkerShade(color, m_theme == Light ? 0.18 : 0.44);
- case Shade900:
- return darkerShade(color, m_theme == Light ? 0.24 : 0.50);
- case ShadeA100:
- return lighterShade(color, m_theme == Light ? 0.54 : 0.28);
- case ShadeA200:
- return lighterShade(color, m_theme == Light ? 0.37 : 0.11);
- case ShadeA400:
- return m_theme == Light ? lighterShade(color, 0.06) : darkerShade(color, 0.20);
- case ShadeA700:
- return darkerShade(color, m_theme == Light ? 0.12 : 0.38);
- default:
- Q_UNREACHABLE();
- return QColor();
- }
-}
-
-int QQuickMaterialStyle::touchTarget() const
-{
- // https://material.io/guidelines/components/buttons.html#buttons-style
- return globalVariant == Dense ? 44 : 48;
-}
-
-int QQuickMaterialStyle::buttonHeight() const
-{
- // https://material.io/guidelines/components/buttons.html#buttons-style
- return globalVariant == Dense ? 32 : 36;
-}
-
-int QQuickMaterialStyle::delegateHeight() const
-{
- // https://material.io/guidelines/components/lists.html#lists-specs
- return globalVariant == Dense ? 40 : 48;
-}
-
-int QQuickMaterialStyle::dialogButtonBoxHeight() const
-{
- return globalVariant == Dense ? 48 : 52;
-}
-
-int QQuickMaterialStyle::frameVerticalPadding() const
-{
- return globalVariant == Dense ? 8 : 12;
-}
-
-int QQuickMaterialStyle::menuItemHeight() const
-{
- // https://material.io/guidelines/components/menus.html#menus-simple-menus
- return globalVariant == Dense ? 32 : 48;
-}
-
-int QQuickMaterialStyle::menuItemVerticalPadding() const
-{
- return globalVariant == Dense ? 8 : 12;
-}
-
-int QQuickMaterialStyle::switchDelegateVerticalPadding() const
-{
- // SwitchDelegate's indicator is much larger than the others due to the shadow,
- // so we must reduce its padding to ensure its implicitHeight is 40 when dense.
- return globalVariant == Dense ? 4 : 8;
-}
-
-int QQuickMaterialStyle::tooltipHeight() const
-{
- // https://material.io/guidelines/components/tooltips.html
- return globalVariant == Dense ? 22 : 32;
-}
-
-QQuickMaterialStyle::Variant QQuickMaterialStyle::variant()
-{
- return globalVariant;
-}
-
-template <typename Enum>
-static Enum toEnumValue(const QByteArray &value, bool *ok)
-{
- QMetaEnum enumeration = QMetaEnum::fromType<Enum>();
- return static_cast<Enum>(enumeration.keyToValue(value, ok));
-}
-
-static QByteArray resolveSetting(const QByteArray &env, const QSharedPointer<QSettings> &settings, const QString &name)
-{
- QByteArray value = qgetenv(env);
-#if QT_CONFIG(settings)
- if (value.isNull() && !settings.isNull())
- value = settings->value(name).toByteArray();
-#endif
- return value;
-}
-
-void QQuickMaterialStyle::initGlobals()
-{
- QSharedPointer<QSettings> settings = QQuickStylePrivate::settings(QStringLiteral("Material"));
-
- bool ok = false;
- QByteArray themeValue = resolveSetting("QT_QUICK_CONTROLS_MATERIAL_THEME", settings, QStringLiteral("Theme"));
- Theme themeEnum = toEnumValue<Theme>(themeValue, &ok);
- if (ok)
- globalTheme = effectiveTheme(themeEnum);
- else if (!themeValue.isEmpty())
- qWarning().nospace().noquote() << "Material: unknown theme value: " << themeValue;
-
- QByteArray variantValue = resolveSetting("QT_QUICK_CONTROLS_MATERIAL_VARIANT", settings, QStringLiteral("Variant"));
- Variant variantEnum = toEnumValue<Variant>(variantValue, &ok);
- if (ok)
- globalVariant = variantEnum;
- else if (!variantValue.isEmpty())
- qWarning().nospace().noquote() << "Material: unknown variant value: " << variantValue;
-
- QByteArray primaryValue = resolveSetting("QT_QUICK_CONTROLS_MATERIAL_PRIMARY", settings, QStringLiteral("Primary"));
- Color primaryEnum = toEnumValue<Color>(primaryValue, &ok);
- if (ok) {
- globalPrimaryCustom = false;
- globalPrimary = primaryEnum;
- } else {
- QColor color(primaryValue.constData());
- if (color.isValid()) {
- globalPrimaryCustom = true;
- globalPrimary = color.rgba();
- } else if (!primaryValue.isEmpty()) {
- qWarning().nospace().noquote() << "Material: unknown primary value: " << primaryValue;
- }
- }
-
- QByteArray accentValue = resolveSetting("QT_QUICK_CONTROLS_MATERIAL_ACCENT", settings, QStringLiteral("Accent"));
- Color accentEnum = toEnumValue<Color>(accentValue, &ok);
- if (ok) {
- globalAccentCustom = false;
- globalAccent = accentEnum;
- } else if (!accentValue.isEmpty()) {
- QColor color(accentValue.constData());
- if (color.isValid()) {
- globalAccentCustom = true;
- globalAccent = color.rgba();
- } else {
- qWarning().nospace().noquote() << "Material: unknown accent value: " << accentValue;
- }
- }
-
- QByteArray foregroundValue = resolveSetting("QT_QUICK_CONTROLS_MATERIAL_FOREGROUND", settings, QStringLiteral("Foreground"));
- Color foregroundEnum = toEnumValue<Color>(foregroundValue, &ok);
- if (ok) {
- globalForegroundCustom = false;
- globalForeground = foregroundEnum;
- hasGlobalForeground = true;
- } else if (!foregroundValue.isEmpty()) {
- QColor color(foregroundValue.constData());
- if (color.isValid()) {
- globalForegroundCustom = true;
- globalForeground = color.rgba();
- hasGlobalForeground = true;
- } else {
- qWarning().nospace().noquote() << "Material: unknown foreground value: " << foregroundValue;
- }
- }
-
- QByteArray backgroundValue = resolveSetting("QT_QUICK_CONTROLS_MATERIAL_BACKGROUND", settings, QStringLiteral("Background"));
- Color backgroundEnum = toEnumValue<Color>(backgroundValue, &ok);
- if (ok) {
- globalBackgroundCustom = false;
- globalBackground = backgroundEnum;
- hasGlobalBackground = true;
- } else if (!backgroundValue.isEmpty()) {
- QColor color(backgroundValue.constData());
- if (color.isValid()) {
- globalBackgroundCustom = true;
- globalBackground = color.rgba();
- hasGlobalBackground = true;
- } else {
- qWarning().nospace().noquote() << "Material: unknown background value: " << backgroundValue;
- }
- }
-}
-
-void QQuickMaterialStyle::attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent)
-{
- Q_UNUSED(oldParent);
- QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(newParent);
- if (material) {
- inheritPrimary(material->m_primary, material->m_customPrimary);
- inheritAccent(material->m_accent, material->m_customAccent);
- inheritForeground(material->m_foreground, material->m_customForeground, material->m_hasForeground);
- inheritBackground(material->m_background, material->m_customBackground, material->m_hasBackground);
- inheritTheme(material->theme());
- }
-}
-
-bool QQuickMaterialStyle::variantToRgba(const QVariant &var, const char *name, QRgb *rgba, bool *custom) const
-{
- *custom = false;
- if (var.type() == QVariant::Int) {
- int val = var.toInt();
- if (val > BlueGrey) {
- qmlWarning(parent()) << "unknown Material." << name << " value: " << val;
- return false;
- }
- *rgba = val;
- } else {
- int val = QMetaEnum::fromType<Color>().keyToValue(var.toByteArray());
- if (val != -1) {
- *rgba = val;
- } else {
- QColor color(var.toString());
- if (!color.isValid()) {
- qmlWarning(parent()) << "unknown Material." << name << " value: " << var.toString();
- return false;
- }
- *custom = true;
- *rgba = color.rgba();
- }
- }
- return true;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialstyle_p.h b/src/imports/controls/material/qquickmaterialstyle_p.h
deleted file mode 100644
index 4b0f7b31..00000000
--- a/src/imports/controls/material/qquickmaterialstyle_p.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMATERIALSTYLE_P_H
-#define QQUICKMATERIALSTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuickControls2/private/qquickattachedobject_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMaterialStyle : public QQuickAttachedObject
-{
- Q_OBJECT
- Q_PROPERTY(Theme theme READ theme WRITE setTheme RESET resetTheme NOTIFY themeChanged FINAL)
- Q_PROPERTY(QVariant primary READ primary WRITE setPrimary RESET resetPrimary NOTIFY primaryChanged FINAL)
- Q_PROPERTY(QVariant accent READ accent WRITE setAccent RESET resetAccent NOTIFY accentChanged FINAL)
- Q_PROPERTY(QVariant foreground READ foreground WRITE setForeground RESET resetForeground NOTIFY foregroundChanged FINAL)
- Q_PROPERTY(QVariant background READ background WRITE setBackground RESET resetBackground NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(int elevation READ elevation WRITE setElevation RESET resetElevation NOTIFY elevationChanged FINAL)
-
- Q_PROPERTY(QColor primaryColor READ primaryColor NOTIFY primaryChanged FINAL) // TODO: remove?
- Q_PROPERTY(QColor accentColor READ accentColor NOTIFY accentChanged FINAL) // TODO: remove?
- Q_PROPERTY(QColor backgroundColor READ backgroundColor NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(QColor primaryTextColor READ primaryTextColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor primaryHighlightedTextColor READ primaryHighlightedTextColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor secondaryTextColor READ secondaryTextColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor hintTextColor READ hintTextColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor textSelectionColor READ textSelectionColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor dropShadowColor READ dropShadowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor dividerColor READ dividerColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor iconColor READ iconColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor iconDisabledColor READ iconDisabledColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor buttonColor READ buttonColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor buttonDisabledColor READ buttonDisabledColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor highlightedButtonColor READ highlightedButtonColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor frameColor READ frameColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor rippleColor READ rippleColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor highlightedRippleColor READ highlightedRippleColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor switchUncheckedTrackColor READ switchUncheckedTrackColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor switchCheckedTrackColor READ switchCheckedTrackColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor switchUncheckedHandleColor READ switchUncheckedHandleColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor switchCheckedHandleColor READ switchCheckedHandleColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor switchDisabledTrackColor READ switchDisabledTrackColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor switchDisabledHandleColor READ switchDisabledHandleColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor scrollBarColor READ scrollBarColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor scrollBarHoveredColor READ scrollBarHoveredColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor scrollBarPressedColor READ scrollBarPressedColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor dialogColor READ dialogColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor backgroundDimColor READ backgroundDimColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor listHighlightColor READ listHighlightColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor tooltipColor READ tooltipColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor toolBarColor READ toolBarColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor toolTextColor READ toolTextColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor spinBoxDisabledIconColor READ spinBoxDisabledIconColor NOTIFY paletteChanged FINAL)
-
- Q_PROPERTY(int touchTarget READ touchTarget CONSTANT FINAL)
- Q_PROPERTY(int buttonHeight READ buttonHeight CONSTANT FINAL)
- Q_PROPERTY(int delegateHeight READ delegateHeight CONSTANT FINAL)
- Q_PROPERTY(int dialogButtonBoxHeight READ dialogButtonBoxHeight CONSTANT FINAL)
- Q_PROPERTY(int frameVerticalPadding READ frameVerticalPadding CONSTANT FINAL)
- Q_PROPERTY(int menuItemHeight READ menuItemHeight CONSTANT FINAL)
- Q_PROPERTY(int menuItemVerticalPadding READ menuItemVerticalPadding CONSTANT FINAL)
- Q_PROPERTY(int switchDelegateVerticalPadding READ switchDelegateVerticalPadding CONSTANT FINAL)
- Q_PROPERTY(int tooltipHeight READ tooltipHeight CONSTANT FINAL)
-
-public:
- enum Theme {
- Light,
- Dark,
- System
- };
-
- enum Variant {
- Normal,
- Dense
- };
-
- enum Color {
- Red,
- Pink,
- Purple,
- DeepPurple,
- Indigo,
- Blue,
- LightBlue,
- Cyan,
- Teal,
- Green,
- LightGreen,
- Lime,
- Yellow,
- Amber,
- Orange,
- DeepOrange,
- Brown,
- Grey,
- BlueGrey
- };
-
- enum Shade {
- Shade50,
- Shade100,
- Shade200,
- Shade300,
- Shade400,
- Shade500,
- Shade600,
- Shade700,
- Shade800,
- Shade900,
- ShadeA100,
- ShadeA200,
- ShadeA400,
- ShadeA700,
- };
-
- Q_ENUM(Theme)
- Q_ENUM(Variant)
- Q_ENUM(Color)
- Q_ENUM(Shade)
-
- explicit QQuickMaterialStyle(QObject *parent = nullptr);
-
- static QQuickMaterialStyle *qmlAttachedProperties(QObject *object);
-
- Theme theme() const;
- void setTheme(Theme theme);
- void inheritTheme(Theme theme);
- void propagateTheme();
- void resetTheme();
-
- QVariant primary() const;
- void setPrimary(const QVariant &accent);
- void inheritPrimary(uint primary, bool custom);
- void propagatePrimary();
- void resetPrimary();
-
- QVariant accent() const;
- void setAccent(const QVariant &accent);
- void inheritAccent(uint accent, bool custom);
- void propagateAccent();
- void resetAccent();
-
- QVariant foreground() const;
- void setForeground(const QVariant &foreground);
- void inheritForeground(uint foreground, bool custom, bool has);
- void propagateForeground();
- void resetForeground();
-
- QVariant background() const;
- void setBackground(const QVariant &background);
- void inheritBackground(uint background, bool custom, bool has);
- void propagateBackground();
- void resetBackground();
-
- int elevation() const;
- void setElevation(int elevation);
- void resetElevation();
-
- QColor primaryColor() const;
- QColor accentColor() const;
- QColor backgroundColor() const;
- QColor primaryTextColor() const;
- QColor primaryHighlightedTextColor() const;
- QColor secondaryTextColor() const;
- QColor hintTextColor() const;
- QColor textSelectionColor() const;
- QColor dropShadowColor() const;
- QColor dividerColor() const;
- QColor iconColor() const;
- QColor iconDisabledColor() const;
- QColor buttonColor() const;
- QColor buttonDisabledColor() const;
- QColor highlightedButtonColor() const;
- QColor highlightedButtonDisabledColor() const;
- QColor frameColor() const;
- QColor rippleColor() const;
- QColor highlightedRippleColor() const;
- QColor switchUncheckedTrackColor() const;
- QColor switchCheckedTrackColor() const;
- QColor switchUncheckedHandleColor() const;
- QColor switchCheckedHandleColor() const;
- QColor switchDisabledTrackColor() const;
- QColor switchDisabledHandleColor() const;
- QColor scrollBarColor() const;
- QColor scrollBarHoveredColor() const;
- QColor scrollBarPressedColor() const;
- QColor dialogColor() const;
- QColor backgroundDimColor() const;
- QColor listHighlightColor() const;
- QColor tooltipColor() const;
- QColor toolBarColor() const;
- QColor toolTextColor() const;
- QColor spinBoxDisabledIconColor() const;
-
- Q_INVOKABLE QColor color(Color color, Shade shade = Shade500) const;
- Q_INVOKABLE QColor shade(const QColor &color, Shade shade) const;
-
- int touchTarget() const;
- int buttonHeight() const;
- int delegateHeight() const;
- int dialogButtonBoxHeight() const;
- int frameVerticalPadding() const;
- int menuItemHeight() const;
- int menuItemVerticalPadding() const;
- int switchDelegateVerticalPadding() const;
- int tooltipHeight() const;
-
- static void initGlobals();
-
- static Variant variant();
-
-Q_SIGNALS:
- void themeChanged();
- void primaryChanged();
- void accentChanged();
- void foregroundChanged();
- void backgroundChanged();
- void elevationChanged();
-
- void paletteChanged();
-
-protected:
- void attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent) override;
-
-private:
- void init();
- bool variantToRgba(const QVariant &var, const char *name, QRgb *rgba, bool *custom) const;
-
- QColor backgroundColor(Shade shade) const;
- QColor accentColor(Shade shade) const;
- QColor buttonColor(bool highlighted) const;
- Shade themeShade() const;
-
- // These reflect whether a color value was explicitly set on the specific
- // item that this attached style object represents.
- bool m_explicitTheme = false;
- bool m_explicitPrimary = false;
- bool m_explicitAccent = false;
- bool m_explicitForeground = false;
- bool m_explicitBackground = false;
- // These reflect whether the color value that was either inherited or
- // explicitly set is in the form that QColor expects, rather than one of
- // our pre-defined color enum values.
- bool m_customPrimary = false;
- bool m_customAccent = false;
- bool m_customForeground = false;
- bool m_customBackground = false;
- // These will be true when this item has an explicit or inherited foreground/background
- // color, or these colors were declared globally via settings (e.g. conf or env vars).
- // Some color properties of the style will return different values depending on whether
- // or not these are set.
- bool m_hasForeground = false;
- bool m_hasBackground = false;
- // The actual values for this item, whether explicit, inherited or globally set.
- Theme m_theme = Light;
- uint m_primary = 0;
- uint m_accent = 0;
- uint m_foreground = 0;
- uint m_background = 0;
- int m_elevation = 0;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPEINFO(QQuickMaterialStyle, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKMATERIALSTYLE_P_H
diff --git a/src/imports/controls/material/qquickmaterialtheme.cpp b/src/imports/controls/material/qquickmaterialtheme.cpp
deleted file mode 100644
index f42c0a03..00000000
--- a/src/imports/controls/material/qquickmaterialtheme.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmaterialtheme_p.h"
-#include "qquickmaterialstyle_p.h"
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qfontinfo.h>
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickMaterialTheme::initialize(QQuickTheme *theme)
-{
- QFont systemFont;
- QFont buttonFont;
- QFont toolTipFont;
- QFont itemViewFont;
- QFont listViewFont;
- QFont menuItemFont;
- QFont editorFont;
-
- QFont font;
- font.setFamily(QLatin1String("Roboto"));
- QString family = QFontInfo(font).family();
-
- if (family != QLatin1String("Roboto")) {
- font.setFamily(QLatin1String("Noto"));
- family = QFontInfo(font).family();
- }
-
- if (family == QLatin1String("Roboto") || family == QLatin1String("Noto")) {
- systemFont.setFamily(family);
- buttonFont.setFamily(family);
- toolTipFont.setFamily(family);
- itemViewFont.setFamily(family);
- listViewFont.setFamily(family);
- menuItemFont.setFamily(family);
- editorFont.setFamily(family);
- }
-
- const bool dense = QQuickMaterialStyle::variant() == QQuickMaterialStyle::Dense;
- systemFont.setPixelSize(dense ? 13 : 14);
- theme->setFont(QQuickTheme::System, systemFont);
-
- // https://material.io/guidelines/components/buttons.html#buttons-style
- buttonFont.setPixelSize(dense ? 13 : 14);
- buttonFont.setCapitalization(QFont::AllUppercase);
- buttonFont.setWeight(QFont::Medium);
- theme->setFont(QQuickTheme::Button, buttonFont);
- theme->setFont(QQuickTheme::TabBar, buttonFont);
- theme->setFont(QQuickTheme::ToolBar, buttonFont);
-
- // https://material.io/guidelines/components/tooltips.html
- toolTipFont.setPixelSize(dense ? 10 : 14);
- toolTipFont.setWeight(QFont::Medium);
- theme->setFont(QQuickTheme::ToolTip, toolTipFont);
-
- itemViewFont.setPixelSize(dense ? 13 : 14);
- itemViewFont.setWeight(QFont::Medium);
- theme->setFont(QQuickTheme::ItemView, itemViewFont);
-
- // https://material.io/guidelines/components/lists.html#lists-specs
- listViewFont.setPixelSize(dense ? 13 : 16);
- theme->setFont(QQuickTheme::ListView, listViewFont);
-
- menuItemFont.setPixelSize(dense ? 13 : 16);
- theme->setFont(QQuickTheme::Menu, menuItemFont);
- theme->setFont(QQuickTheme::MenuBar, menuItemFont);
- theme->setFont(QQuickTheme::ComboBox, menuItemFont);
-
- editorFont.setPixelSize(dense ? 13 : 16);
- theme->setFont(QQuickTheme::TextArea, editorFont);
- theme->setFont(QQuickTheme::TextField, editorFont);
- theme->setFont(QQuickTheme::SpinBox, editorFont);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialtheme_p.h b/src/imports/controls/material/qquickmaterialtheme_p.h
deleted file mode 100644
index 9a1362b8..00000000
--- a/src/imports/controls/material/qquickmaterialtheme_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMATERIALTHEME_P_H
-#define QQUICKMATERIALTHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTheme;
-
-class QQuickMaterialTheme
-{
-public:
- static void initialize(QQuickTheme *theme);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKMATERIALTHEME_P_H
diff --git a/src/imports/controls/material/qt_attribution.json b/src/imports/controls/material/qt_attribution.json
deleted file mode 100644
index 85fdadf9..00000000
--- a/src/imports/controls/material/qt_attribution.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Id": "shadow_angular_material",
- "Name": "Shadow values from Angular Material",
- "QDocModule": "qtquickcontrols",
- "QtUsage": "Used in the Material Style of Qt Quick Controls 2.",
- "Files": "ElevationEffect.qml",
- "Description": "Shadow values for the elevation effect.",
- "Homepage": "https://angularjs.org/",
- "License": "MIT License",
- "LicenseId": "MIT",
- "LicenseFile": "LICENSE_ANGULARJS.txt",
- "Copyright": "Copyright (c) 2014-2016 Google, Inc"
-}
diff --git a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp
deleted file mode 100644
index d8cc04dd..00000000
--- a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQuickControls2/private/qquickstyleplugin_p.h>
-
-#include "qquickmaterialstyle_p.h"
-#include "qquickmaterialtheme_p.h"
-#include "qquickmaterialbusyindicator_p.h"
-#include "qquickmaterialprogressbar_p.h"
-#include "qquickmaterialripple_p.h"
-
-#include <QtQuickControls2/private/qquickstyleselector_p.h>
-#include <QtQuickControls2/private/qquickpaddedrectangle_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QtQuickControls2MaterialStylePlugin : public QQuickStylePlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtQuickControls2MaterialStylePlugin(QObject *parent = nullptr);
-
- void registerTypes(const char *uri) override;
-
- QString name() const override;
- void initializeTheme(QQuickTheme *theme) override;
-};
-
-QtQuickControls2MaterialStylePlugin::QtQuickControls2MaterialStylePlugin(QObject *parent) : QQuickStylePlugin(parent)
-{
- QQuickMaterialStyle::initGlobals();
-}
-
-void QtQuickControls2MaterialStylePlugin::registerTypes(const char *uri)
-{
- qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
- qmlRegisterUncreatableType<QQuickMaterialStyle>(uri, 2, 0, "Material", tr("Material is an attached property"));
-
- QByteArray import = QByteArray(uri) + ".impl";
- qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
-
- qmlRegisterType<QQuickMaterialBusyIndicator>(import, 2, 0, "BusyIndicatorImpl");
- qmlRegisterType<QQuickMaterialProgressBar>(import, 2, 0, "ProgressBarImpl");
- qmlRegisterType<QQuickMaterialRipple>(import, 2, 0, "Ripple");
- qmlRegisterType(resolvedUrl(QStringLiteral("BoxShadow.qml")), import, 2, 0, "BoxShadow");
- qmlRegisterType(resolvedUrl(QStringLiteral("CheckIndicator.qml")), import, 2, 0, "CheckIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("CursorDelegate.qml")), import, 2, 0, "CursorDelegate");
- qmlRegisterType(resolvedUrl(QStringLiteral("ElevationEffect.qml")), import, 2, 0, "ElevationEffect");
- qmlRegisterType(resolvedUrl(QStringLiteral("RadioIndicator.qml")), import, 2, 0, "RadioIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("RectangularGlow.qml")), import, 2, 0, "RectangularGlow");
- qmlRegisterType(resolvedUrl(QStringLiteral("SliderHandle.qml")), import, 2, 0, "SliderHandle");
- qmlRegisterType(resolvedUrl(QStringLiteral("SwitchIndicator.qml")), import, 2, 0, "SwitchIndicator");
-}
-
-QString QtQuickControls2MaterialStylePlugin::name() const
-{
- return QStringLiteral("Material");
-}
-
-void QtQuickControls2MaterialStylePlugin::initializeTheme(QQuickTheme *theme)
-{
- QQuickMaterialTheme::initialize(theme);
-}
-
-QT_END_NAMESPACE
-
-#include "qtquickcontrols2materialstyleplugin.moc"
diff --git a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc
deleted file mode 100644
index 71f9563b..00000000
--- a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc
+++ /dev/null
@@ -1,20 +0,0 @@
-<RCC>
- <qresource prefix="/qt-project.org/imports/QtQuick/Controls.2/Material">
- <file>images/arrow-indicator.png</file>
- <file>images/arrow-indicator@2x.png</file>
- <file>images/arrow-indicator@3x.png</file>
- <file>images/arrow-indicator@4x.png</file>
- <file>images/check.png</file>
- <file>images/check@2x.png</file>
- <file>images/check@3x.png</file>
- <file>images/check@4x.png</file>
- <file>images/drop-indicator.png</file>
- <file>images/drop-indicator@2x.png</file>
- <file>images/drop-indicator@3x.png</file>
- <file>images/drop-indicator@4x.png</file>
- <file>shaders/RectangularGlow.frag</file>
- <file>shaders/+glslcore/RectangularGlow.frag</file>
- <file>shaders/+hlsl/RectangularGlow.frag</file>
- <file>shaders/+qsb/RectangularGlow.frag</file>
- </qresource>
-</RCC>
diff --git a/src/imports/controls/material/shaders/+glslcore/RectangularGlow.frag b/src/imports/controls/material/shaders/+glslcore/RectangularGlow.frag
deleted file mode 100644
index 432d86b5..00000000
--- a/src/imports/controls/material/shaders/+glslcore/RectangularGlow.frag
+++ /dev/null
@@ -1,25 +0,0 @@
-#version 150
-
-uniform float qt_Opacity;
-uniform float relativeSizeX;
-uniform float relativeSizeY;
-uniform float spread;
-uniform vec4 color;
-
-in vec2 qt_TexCoord0;
-out vec4 fragColor;
-
-float linearstep(float e0, float e1, float x)
-{
- return clamp((x - e0) / (e1 - e0), 0.0, 1.0);
-}
-
-void main()
-{
- float alpha =
- smoothstep(0.0, relativeSizeX, 0.5 - abs(0.5 - qt_TexCoord0.x)) *
- smoothstep(0.0, relativeSizeY, 0.5 - abs(0.5 - qt_TexCoord0.y));
-
- float spreadMultiplier = linearstep(spread, 1.0 - spread, alpha);
- fragColor = color * qt_Opacity * spreadMultiplier * spreadMultiplier;
-}
diff --git a/src/imports/controls/material/shaders/+hlsl/RectangularGlow.frag b/src/imports/controls/material/shaders/+hlsl/RectangularGlow.frag
deleted file mode 100644
index 69d9f852..00000000
--- a/src/imports/controls/material/shaders/+hlsl/RectangularGlow.frag
+++ /dev/null
@@ -1,21 +0,0 @@
-cbuffer ConstantBuffer : register(b0)
-{
- float4x4 qt_Matrix;
- float qt_Opacity;
- float relativeSizeX;
- float relativeSizeY;
- float spread;
- float4 color;
-}
-
-float linearstep(float e0, float e1, float x) { return clamp((x - e0) / (e1 - e0), 0.0, 1.0); }
-
-float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET
-{
- float alpha =
- smoothstep(0.0, relativeSizeX, 0.5 - abs(0.5 - coord.x)) *
- smoothstep(0.0, relativeSizeY, 0.5 - abs(0.5 - coord.y));
-
- float spreadMultiplier = linearstep(spread, 1.0 - spread, alpha);
- return color * qt_Opacity * spreadMultiplier * spreadMultiplier;
-}
diff --git a/src/imports/controls/material/shaders/+qsb/RectangularGlow.frag b/src/imports/controls/material/shaders/+qsb/RectangularGlow.frag
deleted file mode 100644
index a805b134..00000000
--- a/src/imports/controls/material/shaders/+qsb/RectangularGlow.frag
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/material/shaders/RectangularGlow.frag b/src/imports/controls/material/shaders/RectangularGlow.frag
deleted file mode 100644
index 40bab580..00000000
--- a/src/imports/controls/material/shaders/RectangularGlow.frag
+++ /dev/null
@@ -1,19 +0,0 @@
-uniform highp float qt_Opacity;
-uniform mediump float relativeSizeX;
-uniform mediump float relativeSizeY;
-uniform mediump float spread;
-uniform lowp vec4 color;
-varying highp vec2 qt_TexCoord0;
-
-highp float linearstep(highp float e0, highp float e1, highp float x) {
- return clamp((x - e0) / (e1 - e0), 0.0, 1.0);
-}
-
-void main() {
- lowp float alpha =
- smoothstep(0.0, relativeSizeX, 0.5 - abs(0.5 - qt_TexCoord0.x)) *
- smoothstep(0.0, relativeSizeY, 0.5 - abs(0.5 - qt_TexCoord0.y));
-
- highp float spreadMultiplier = linearstep(spread, 1.0 - spread, alpha);
- gl_FragColor = color * qt_Opacity * spreadMultiplier * spreadMultiplier;
-}
diff --git a/src/imports/controls/material/shaders/RectangularGlow_rhi.frag b/src/imports/controls/material/shaders/RectangularGlow_rhi.frag
deleted file mode 100644
index 3e7d2dfe..00000000
--- a/src/imports/controls/material/shaders/RectangularGlow_rhi.frag
+++ /dev/null
@@ -1,28 +0,0 @@
-#version 440
-
-layout(location = 0) in vec2 qt_TexCoord0;
-layout(location = 0) out vec4 fragColor;
-
-layout(std140, binding = 0) uniform buf {
- mat4 qt_Matrix;
- float qt_Opacity;
- float relativeSizeX;
- float relativeSizeY;
- float spread;
- vec4 color;
-} ubuf;
-
-float linearstep(float e0, float e1, float x)
-{
- return clamp((x - e0) / (e1 - e0), 0.0, 1.0);
-}
-
-void main()
-{
- float alpha =
- smoothstep(0.0, ubuf.relativeSizeX, 0.5 - abs(0.5 - qt_TexCoord0.x)) *
- smoothstep(0.0, ubuf.relativeSizeY, 0.5 - abs(0.5 - qt_TexCoord0.y));
-
- float spreadMultiplier = linearstep(ubuf.spread, 1.0 - ubuf.spread, alpha);
- fragColor = ubuf.color * ubuf.qt_Opacity * spreadMultiplier * spreadMultiplier;
-}
diff --git a/src/imports/controls/plugins.qmltypes b/src/imports/controls/plugins.qmltypes
deleted file mode 100644
index 9b4610f0..00000000
--- a/src/imports/controls/plugins.qmltypes
+++ /dev/null
@@ -1,660 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Controls 2.13'
-
-Module {
- dependencies: [
- "QtQuick 2.11",
- "QtQuick.Templates 2.5",
- "QtQuick.Window 2.2"
- ]
- Component {
- name: "QQuickCheckLabel"
- defaultProperty: "data"
- prototype: "QQuickText"
- exports: ["QtQuick.Controls.impl/CheckLabel 2.3"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickClippedText"
- defaultProperty: "data"
- prototype: "QQuickText"
- exports: ["QtQuick.Controls.impl/ClippedText 2.2"]
- exportMetaObjectRevisions: [0]
- Property { name: "clipX"; type: "double" }
- Property { name: "clipY"; type: "double" }
- Property { name: "clipWidth"; type: "double" }
- Property { name: "clipHeight"; type: "double" }
- }
- Component {
- name: "QQuickColor"
- prototype: "QObject"
- exports: ["QtQuick.Controls.impl/Color 2.3"]
- isCreatable: false
- isSingleton: true
- exportMetaObjectRevisions: [0]
- Method {
- name: "transparent"
- type: "QColor"
- Parameter { name: "color"; type: "QColor" }
- Parameter { name: "opacity"; type: "double" }
- }
- Method {
- name: "blend"
- type: "QColor"
- Parameter { name: "a"; type: "QColor" }
- Parameter { name: "b"; type: "QColor" }
- Parameter { name: "factor"; type: "double" }
- }
- }
- Component {
- name: "QQuickColorImage"
- defaultProperty: "data"
- prototype: "QQuickImage"
- exports: ["QtQuick.Controls.impl/ColorImage 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "color"; type: "QColor" }
- Property { name: "defaultColor"; type: "QColor" }
- }
- Component {
- name: "QQuickDefaultBusyIndicator"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.impl/BusyIndicatorImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "pen"; type: "QColor" }
- Property { name: "fill"; type: "QColor" }
- Property { name: "running"; type: "bool" }
- }
- Component {
- name: "QQuickDefaultDial"
- defaultProperty: "data"
- prototype: "QQuickPaintedItem"
- exports: ["QtQuick.Controls.impl/DialImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "progress"; type: "double" }
- Property { name: "color"; type: "QColor" }
- }
- Component {
- name: "QQuickDefaultProgressBar"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.impl/ProgressBarImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "indeterminate"; type: "bool" }
- Property { name: "progress"; type: "double" }
- Property { name: "color"; type: "QColor" }
- }
- Component {
- name: "QQuickDefaultStyle"
- prototype: "QObject"
- exports: ["QtQuick.Controls.impl/Default 2.1"]
- isCreatable: false
- isSingleton: true
- exportMetaObjectRevisions: [0]
- Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
- Property { name: "overlayModalColor"; type: "QColor"; isReadonly: true }
- Property { name: "overlayDimColor"; type: "QColor"; isReadonly: true }
- Property { name: "textColor"; type: "QColor"; isReadonly: true }
- Property { name: "textDarkColor"; type: "QColor"; isReadonly: true }
- Property { name: "textLightColor"; type: "QColor"; isReadonly: true }
- Property { name: "textLinkColor"; type: "QColor"; isReadonly: true }
- Property { name: "textSelectionColor"; type: "QColor"; isReadonly: true }
- Property { name: "textDisabledColor"; type: "QColor"; isReadonly: true }
- Property { name: "textDisabledLightColor"; type: "QColor"; isReadonly: true }
- Property { name: "textPlaceholderColor"; type: "QColor"; isReadonly: true }
- Property { name: "focusColor"; type: "QColor"; isReadonly: true }
- Property { name: "focusLightColor"; type: "QColor"; isReadonly: true }
- Property { name: "focusPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonCheckedColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonCheckedPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "buttonCheckedFocusColor"; type: "QColor"; isReadonly: true }
- Property { name: "toolButtonColor"; type: "QColor"; isReadonly: true }
- Property { name: "tabButtonColor"; type: "QColor"; isReadonly: true }
- Property { name: "tabButtonPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "tabButtonCheckedPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "delegateColor"; type: "QColor"; isReadonly: true }
- Property { name: "delegatePressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "delegateFocusColor"; type: "QColor"; isReadonly: true }
- Property { name: "indicatorPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "indicatorDisabledColor"; type: "QColor"; isReadonly: true }
- Property { name: "indicatorFrameColor"; type: "QColor"; isReadonly: true }
- Property { name: "indicatorFramePressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "indicatorFrameDisabledColor"; type: "QColor"; isReadonly: true }
- Property { name: "frameDarkColor"; type: "QColor"; isReadonly: true }
- Property { name: "frameLightColor"; type: "QColor"; isReadonly: true }
- Property { name: "scrollBarColor"; type: "QColor"; isReadonly: true }
- Property { name: "scrollBarPressedColor"; type: "QColor"; isReadonly: true }
- Property { name: "progressBarColor"; type: "QColor"; isReadonly: true }
- Property { name: "pageIndicatorColor"; type: "QColor"; isReadonly: true }
- Property { name: "separatorColor"; type: "QColor"; isReadonly: true }
- Property { name: "disabledDarkColor"; type: "QColor"; isReadonly: true }
- Property { name: "disabledLightColor"; type: "QColor"; isReadonly: true }
- }
- Component {
- name: "QQuickIconImage"
- defaultProperty: "data"
- prototype: "QQuickImage"
- exports: ["QtQuick.Controls.impl/IconImage 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "name"; type: "string" }
- Property { name: "color"; type: "QColor" }
- }
- Component {
- name: "QQuickIconLabel"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.impl/IconLabel 2.3"]
- exportMetaObjectRevisions: [0]
- Enum {
- name: "Display"
- values: {
- "IconOnly": 0,
- "TextOnly": 1,
- "TextBesideIcon": 2,
- "TextUnderIcon": 3
- }
- }
- Property { name: "icon"; type: "QQuickIcon" }
- Property { name: "text"; type: "string" }
- Property { name: "font"; type: "QFont" }
- Property { name: "color"; type: "QColor" }
- Property { name: "display"; type: "Display" }
- Property { name: "spacing"; type: "double" }
- Property { name: "mirrored"; type: "bool" }
- Property { name: "alignment"; type: "Qt::Alignment" }
- Property { name: "topPadding"; type: "double" }
- Property { name: "leftPadding"; type: "double" }
- Property { name: "rightPadding"; type: "double" }
- Property { name: "bottomPadding"; type: "double" }
- }
- Component {
- name: "QQuickItemGroup"
- defaultProperty: "data"
- prototype: "QQuickImplicitSizeItem"
- exports: ["QtQuick.Controls.impl/ItemGroup 2.2"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickMnemonicLabel"
- defaultProperty: "data"
- prototype: "QQuickText"
- exports: ["QtQuick.Controls.impl/MnemonicLabel 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "text"; type: "string" }
- Property { name: "mnemonicVisible"; type: "bool" }
- }
- Component {
- name: "QQuickPaddedRectangle"
- defaultProperty: "data"
- prototype: "QQuickRectangle"
- exports: ["QtQuick.Controls.impl/PaddedRectangle 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "padding"; type: "double" }
- Property { name: "topPadding"; type: "double" }
- Property { name: "leftPadding"; type: "double" }
- Property { name: "rightPadding"; type: "double" }
- Property { name: "bottomPadding"; type: "double" }
- }
- Component {
- name: "QQuickPlaceholderText"
- defaultProperty: "data"
- prototype: "QQuickText"
- exports: ["QtQuick.Controls.impl/PlaceholderText 2.2"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickTumblerView"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.impl/TumblerView 2.1"]
- exportMetaObjectRevisions: [0]
- Property { name: "model"; type: "QVariant" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- Property { name: "path"; type: "QQuickPath"; isPointer: true }
- }
- Component {
- prototype: "QQuickAbstractButton"
- name: "QtQuick.Controls/AbstractButton 2.0"
- exports: ["QtQuick.Controls/AbstractButton 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickAction"
- name: "QtQuick.Controls/Action 2.3"
- exports: ["QtQuick.Controls/Action 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- }
- Component {
- prototype: "QQuickActionGroup"
- name: "QtQuick.Controls/ActionGroup 2.3"
- exports: ["QtQuick.Controls/ActionGroup 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "actions"
- }
- Component {
- prototype: "QQuickApplicationWindow"
- name: "QtQuick.Controls/ApplicationWindow 2.0"
- exports: ["QtQuick.Controls/ApplicationWindow 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickBusyIndicator"
- name: "QtQuick.Controls/BusyIndicator 2.0"
- exports: ["QtQuick.Controls/BusyIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickButton"
- name: "QtQuick.Controls/Button 2.0"
- exports: ["QtQuick.Controls/Button 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickButtonGroup"
- name: "QtQuick.Controls/ButtonGroup 2.0"
- exports: ["QtQuick.Controls/ButtonGroup 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- }
- Component {
- prototype: "QQuickCheckBox"
- name: "QtQuick.Controls/CheckBox 2.0"
- exports: ["QtQuick.Controls/CheckBox 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickCheckDelegate"
- name: "QtQuick.Controls/CheckDelegate 2.0"
- exports: ["QtQuick.Controls/CheckDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickComboBox"
- name: "QtQuick.Controls/ComboBox 2.0"
- exports: ["QtQuick.Controls/ComboBox 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickContainer"
- name: "QtQuick.Controls/Container 2.0"
- exports: ["QtQuick.Controls/Container 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickControl"
- name: "QtQuick.Controls/Control 2.0"
- exports: ["QtQuick.Controls/Control 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickDelayButton"
- name: "QtQuick.Controls/DelayButton 2.2"
- exports: ["QtQuick.Controls/DelayButton 2.2"]
- exportMetaObjectRevisions: [2]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickDial"
- name: "QtQuick.Controls/Dial 2.0"
- exports: ["QtQuick.Controls/Dial 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickDialog"
- name: "QtQuick.Controls/Dialog 2.1"
- exports: ["QtQuick.Controls/Dialog 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickDialogButtonBox"
- name: "QtQuick.Controls/DialogButtonBox 2.1"
- exports: ["QtQuick.Controls/DialogButtonBox 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickDrawer"
- name: "QtQuick.Controls/Drawer 2.0"
- exports: ["QtQuick.Controls/Drawer 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickFrame"
- name: "QtQuick.Controls/Frame 2.0"
- exports: ["QtQuick.Controls/Frame 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickGroupBox"
- name: "QtQuick.Controls/GroupBox 2.0"
- exports: ["QtQuick.Controls/GroupBox 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickItemDelegate"
- name: "QtQuick.Controls/ItemDelegate 2.0"
- exports: ["QtQuick.Controls/ItemDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickLabel"
- name: "QtQuick.Controls/Label 2.0"
- exports: ["QtQuick.Controls/Label 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickMenu"
- name: "QtQuick.Controls/Menu 2.0"
- exports: ["QtQuick.Controls/Menu 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickMenuBar"
- name: "QtQuick.Controls/MenuBar 2.3"
- exports: ["QtQuick.Controls/MenuBar 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickMenuBarItem"
- name: "QtQuick.Controls/MenuBarItem 2.3"
- exports: ["QtQuick.Controls/MenuBarItem 2.3"]
- exportMetaObjectRevisions: [3]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickMenuItem"
- name: "QtQuick.Controls/MenuItem 2.0"
- exports: ["QtQuick.Controls/MenuItem 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickMenuSeparator"
- name: "QtQuick.Controls/MenuSeparator 2.1"
- exports: ["QtQuick.Controls/MenuSeparator 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickPage"
- name: "QtQuick.Controls/Page 2.0"
- exports: ["QtQuick.Controls/Page 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickPageIndicator"
- name: "QtQuick.Controls/PageIndicator 2.0"
- exports: ["QtQuick.Controls/PageIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickPane"
- name: "QtQuick.Controls/Pane 2.0"
- exports: ["QtQuick.Controls/Pane 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickPopup"
- name: "QtQuick.Controls/Popup 2.0"
- exports: ["QtQuick.Controls/Popup 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickProgressBar"
- name: "QtQuick.Controls/ProgressBar 2.0"
- exports: ["QtQuick.Controls/ProgressBar 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickRadioButton"
- name: "QtQuick.Controls/RadioButton 2.0"
- exports: ["QtQuick.Controls/RadioButton 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickRadioDelegate"
- name: "QtQuick.Controls/RadioDelegate 2.0"
- exports: ["QtQuick.Controls/RadioDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickRangeSlider"
- name: "QtQuick.Controls/RangeSlider 2.0"
- exports: ["QtQuick.Controls/RangeSlider 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickRoundButton"
- name: "QtQuick.Controls/RoundButton 2.1"
- exports: ["QtQuick.Controls/RoundButton 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickScrollBar"
- name: "QtQuick.Controls/ScrollBar 2.0"
- exports: ["QtQuick.Controls/ScrollBar 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickScrollIndicator"
- name: "QtQuick.Controls/ScrollIndicator 2.0"
- exports: ["QtQuick.Controls/ScrollIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickScrollView"
- name: "QtQuick.Controls/ScrollView 2.2"
- exports: ["QtQuick.Controls/ScrollView 2.2"]
- exportMetaObjectRevisions: [2]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickSlider"
- name: "QtQuick.Controls/Slider 2.0"
- exports: ["QtQuick.Controls/Slider 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickSpinBox"
- name: "QtQuick.Controls/SpinBox 2.0"
- exports: ["QtQuick.Controls/SpinBox 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickSplitView"
- name: "QtQuick.Controls/SplitView 2.13"
- exports: ["QtQuick.Controls/SplitView 2.13"]
- exportMetaObjectRevisions: [13]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickStackView"
- name: "QtQuick.Controls/StackView 2.0"
- exports: ["QtQuick.Controls/StackView 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickSwipeDelegate"
- name: "QtQuick.Controls/SwipeDelegate 2.0"
- exports: ["QtQuick.Controls/SwipeDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickSwipeView"
- name: "QtQuick.Controls/SwipeView 2.0"
- exports: ["QtQuick.Controls/SwipeView 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickSwitch"
- name: "QtQuick.Controls/Switch 2.0"
- exports: ["QtQuick.Controls/Switch 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickSwitchDelegate"
- name: "QtQuick.Controls/SwitchDelegate 2.0"
- exports: ["QtQuick.Controls/SwitchDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickTabBar"
- name: "QtQuick.Controls/TabBar 2.0"
- exports: ["QtQuick.Controls/TabBar 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickTabButton"
- name: "QtQuick.Controls/TabButton 2.0"
- exports: ["QtQuick.Controls/TabButton 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickTextArea"
- name: "QtQuick.Controls/TextArea 2.0"
- exports: ["QtQuick.Controls/TextArea 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickTextField"
- name: "QtQuick.Controls/TextField 2.0"
- exports: ["QtQuick.Controls/TextField 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickToolBar"
- name: "QtQuick.Controls/ToolBar 2.0"
- exports: ["QtQuick.Controls/ToolBar 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickToolButton"
- name: "QtQuick.Controls/ToolButton 2.0"
- exports: ["QtQuick.Controls/ToolButton 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickToolSeparator"
- name: "QtQuick.Controls/ToolSeparator 2.1"
- exports: ["QtQuick.Controls/ToolSeparator 2.1"]
- exportMetaObjectRevisions: [1]
- isComposite: true
- defaultProperty: "data"
- }
- Component {
- prototype: "QQuickToolTip"
- name: "QtQuick.Controls/ToolTip 2.0"
- exports: ["QtQuick.Controls/ToolTip 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "contentData"
- }
- Component {
- prototype: "QQuickTumbler"
- name: "QtQuick.Controls/Tumbler 2.0"
- exports: ["QtQuick.Controls/Tumbler 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- }
-}
diff --git a/src/imports/controls/qmldir b/src/imports/controls/qmldir
deleted file mode 100644
index c9ccb8f9..00000000
--- a/src/imports/controls/qmldir
+++ /dev/null
@@ -1,5 +0,0 @@
-module QtQuick.Controls
-plugin qtquickcontrols2plugin
-classname QtQuickControls2Plugin
-depends QtQuick.Templates 2.5
-designersupported
diff --git a/src/imports/controls/qquickdefaultbusyindicator.cpp b/src/imports/controls/qquickdefaultbusyindicator.cpp
deleted file mode 100644
index 98a3cae3..00000000
--- a/src/imports/controls/qquickdefaultbusyindicator.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdefaultbusyindicator_p.h"
-
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const int CircleCount = 10;
-static const int TotalDuration = 100 * CircleCount * 2;
-static const QRgb TransparentColor = 0x00000000;
-
-static QPointF moveCircle(const QPointF &pos, qreal rotation, qreal distance)
-{
- return pos - QTransform().rotate(rotation).map(QPointF(0, distance));
-}
-
-class QQuickDefaultBusyIndicatorNode : public QQuickAnimatedNode
-{
-public:
- QQuickDefaultBusyIndicatorNode(QQuickDefaultBusyIndicator *item);
-
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- QColor m_pen;
- QColor m_fill;
-};
-
-QQuickDefaultBusyIndicatorNode::QQuickDefaultBusyIndicatorNode(QQuickDefaultBusyIndicator *item)
- : QQuickAnimatedNode(item)
-{
- setLoopCount(Infinite);
- setDuration(TotalDuration);
- setCurrentTime(item->elapsed());
-
- for (int i = 0; i < CircleCount; ++i) {
- QSGTransformNode *transformNode = new QSGTransformNode;
- appendChildNode(transformNode);
-
- QQuickItemPrivate *d = QQuickItemPrivate::get(item);
- QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setAntialiasing(true);
- transformNode->appendChildNode(rectNode);
- }
-}
-
-void QQuickDefaultBusyIndicatorNode::updateCurrentTime(int time)
-{
- const qreal percentageComplete = time / qreal(TotalDuration);
- const qreal firstPhaseProgress = percentageComplete <= 0.5 ? percentageComplete * 2 : 0;
- const qreal secondPhaseProgress = percentageComplete > 0.5 ? (percentageComplete - 0.5) * 2 : 0;
-
- QSGTransformNode *transformNode = static_cast<QSGTransformNode*>(firstChild());
- Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType);
- for (int i = 0; i < CircleCount; ++i) {
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode*>(transformNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- const bool fill = (firstPhaseProgress > qreal(i) / CircleCount) || (secondPhaseProgress > 0 && secondPhaseProgress < qreal(i) / CircleCount);
- rectNode->setColor(fill ? m_fill : QColor::fromRgba(TransparentColor));
- rectNode->setPenColor(m_pen);
- rectNode->setPenWidth(1);
- rectNode->update();
-
- transformNode = static_cast<QSGTransformNode*>(transformNode->nextSibling());
- }
-}
-
-void QQuickDefaultBusyIndicatorNode::sync(QQuickItem *item)
-{
- const qreal w = item->width();
- const qreal h = item->height();
- const qreal sz = qMin(w, h);
- const qreal dx = (w - sz) / 2;
- const qreal dy = (h - sz) / 2;
- const int circleRadius = sz / 12;
-
- m_pen = static_cast<QQuickDefaultBusyIndicator *>(item)->pen();
- m_fill = static_cast<QQuickDefaultBusyIndicator *>(item)->fill();
-
- QSGTransformNode *transformNode = static_cast<QSGTransformNode *>(firstChild());
- for (int i = 0; i < CircleCount; ++i) {
- Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(transformNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- QPointF pos = QPointF(sz / 2 - circleRadius, sz / 2 - circleRadius);
- pos = moveCircle(pos, 360 / CircleCount * i, sz / 2 - circleRadius);
-
- QMatrix4x4 m;
- m.translate(dx + pos.x(), dy + pos.y());
- transformNode->setMatrix(m);
-
- rectNode->setRect(QRectF(QPointF(), QSizeF(circleRadius * 2, circleRadius * 2)));
- rectNode->setRadius(circleRadius);
-
- transformNode = static_cast<QSGTransformNode *>(transformNode->nextSibling());
- }
-}
-
-QQuickDefaultBusyIndicator::QQuickDefaultBusyIndicator(QQuickItem *parent) :
- QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-QColor QQuickDefaultBusyIndicator::pen() const
-{
- return m_pen;
-}
-
-void QQuickDefaultBusyIndicator::setPen(const QColor &pen)
-{
- if (pen == m_pen)
- return;
-
- m_pen = pen;
- update();
-}
-
-QColor QQuickDefaultBusyIndicator::fill() const
-{
- return m_fill;
-}
-
-void QQuickDefaultBusyIndicator::setFill(const QColor &fill)
-{
- if (fill == m_fill)
- return;
-
- m_fill = fill;
- update();
-}
-
-bool QQuickDefaultBusyIndicator::isRunning() const
-{
- return isVisible();
-}
-
-void QQuickDefaultBusyIndicator::setRunning(bool running)
-{
- if (running)
- setVisible(true);
-}
-
-int QQuickDefaultBusyIndicator::elapsed() const
-{
- return m_elapsed;
-}
-
-void QQuickDefaultBusyIndicator::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
- switch (change) {
- case ItemOpacityHasChanged:
- if (qFuzzyIsNull(data.realValue))
- setVisible(false);
- break;
- case ItemVisibleHasChanged:
- update();
- break;
- default:
- break;
- }
-}
-
-QSGNode *QQuickDefaultBusyIndicator::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *)
-{
- QQuickDefaultBusyIndicatorNode *node = static_cast<QQuickDefaultBusyIndicatorNode *>(oldNode);
- if (isRunning() && width() > 0 && height() > 0) {
- if (!node) {
- node = new QQuickDefaultBusyIndicatorNode(this);
- node->start();
- }
- node->sync(this);
- } else {
- m_elapsed = node ? node->currentTime() : 0;
- delete node;
- node = nullptr;
- }
- return node;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquickdefaultbusyindicator_p.h b/src/imports/controls/qquickdefaultbusyindicator_p.h
deleted file mode 100644
index eedaf09a..00000000
--- a/src/imports/controls/qquickdefaultbusyindicator_p.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFAULTBUSYINDICATOR_P_H
-#define QQUICKDEFAULTBUSYINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickitem.h>
-#include <QtGui/qcolor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDefaultBusyIndicator : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor pen READ pen WRITE setPen FINAL)
- Q_PROPERTY(QColor fill READ fill WRITE setFill FINAL)
- Q_PROPERTY(bool running READ isRunning WRITE setRunning)
-
-public:
- explicit QQuickDefaultBusyIndicator(QQuickItem *parent = nullptr);
-
- QColor pen() const;
- void setPen(const QColor &pen);
-
- QColor fill() const;
- void setFill(const QColor &fill);
-
- bool isRunning() const;
- void setRunning(bool running);
-
- int elapsed() const;
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
-
-private:
- int m_elapsed = 0;
- QColor m_pen;
- QColor m_fill;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDefaultBusyIndicator)
-
-#endif // QQUICKDEFAULTBUSYINDICATOR_P_H
diff --git a/src/imports/controls/qquickdefaultdial.cpp b/src/imports/controls/qquickdefaultdial.cpp
deleted file mode 100644
index 1653def7..00000000
--- a/src/imports/controls/qquickdefaultdial.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdefaultdial_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtGui/qpainter.h>
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickDefaultDial::QQuickDefaultDial(QQuickItem *parent) :
- QQuickPaintedItem(parent)
-{
-}
-
-qreal QQuickDefaultDial::progress() const
-{
- return m_progress;
-}
-
-void QQuickDefaultDial::setProgress(qreal progress)
-{
- if (progress == m_progress)
- return;
-
- m_progress = progress;
- update();
-}
-
-QColor QQuickDefaultDial::color() const
-{
- return m_color;
-}
-
-void QQuickDefaultDial::setColor(const QColor &color)
-{
- if (color == m_color)
- return;
-
- m_color = color;
- update();
-}
-
-void QQuickDefaultDial::paint(QPainter *painter)
-{
- if (width() <= 0 || height() <= 0)
- return;
-
- QPen pen(m_color);
- pen.setWidth(8);
- pen.setCapStyle(Qt::FlatCap);
- painter->setPen(pen);
-
- const QRectF bounds = boundingRect();
- const qreal smallest = qMin(bounds.width(), bounds.height());
- QRectF rect = QRectF(pen.widthF() / 2.0 + 1, pen.widthF() / 2.0 + 1, smallest - pen.widthF() - 2, smallest - pen.widthF() - 2);
- rect.moveCenter(bounds.center());
-
- // Make sure the arc is aligned to whole pixels.
- if (rect.x() - int(rect.x()) > 0)
- rect.setX(qCeil(rect.x()));
- if (rect.y() - int(rect.y()) > 0)
- rect.setY(qCeil(rect.y()));
- if (rect.width() - int(rect.width()) > 0)
- rect.setWidth(qFloor(rect.width()));
- if (rect.height() - int(rect.height()) > 0)
- rect.setHeight(qFloor(rect.height()));
-
- painter->setRenderHint(QPainter::Antialiasing);
-
- const qreal startAngle = (140 + 90);
- const qreal spanAngle = (m_progress * 280) * -1;
- QPainterPath path;
- path.arcMoveTo(rect, startAngle);
- path.arcTo(rect, startAngle, spanAngle);
- painter->drawPath(path);
-
- rect.adjust(-pen.widthF() / 2.0, -pen.widthF() / 2.0, pen.widthF() / 2.0, pen.widthF() / 2.0);
- pen.setWidth(1);
- painter->setPen(pen);
-
- path = QPainterPath();
- path.arcMoveTo(rect, 0);
- path.arcTo(rect, 0, 360);
- painter->drawPath(path);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquickdefaultdial_p.h b/src/imports/controls/qquickdefaultdial_p.h
deleted file mode 100644
index 73e14321..00000000
--- a/src/imports/controls/qquickdefaultdial_p.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFAULTDIAL_P_H
-#define QQUICKDEFAULTDIAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/qquickpainteditem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDefaultDial : public QQuickPaintedItem
-{
- Q_OBJECT
- Q_PROPERTY(qreal progress READ progress WRITE setProgress FINAL)
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
-
-public:
- explicit QQuickDefaultDial(QQuickItem *parent = nullptr);
-
- qreal progress() const;
- void setProgress(qreal progress);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- void paint(QPainter *painter) override;
-
-private:
- qreal m_progress = 0;
- QColor m_color = Qt::black;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDEFAULTDIAL_P_H
diff --git a/src/imports/controls/qquickdefaultprogressbar.cpp b/src/imports/controls/qquickdefaultprogressbar.cpp
deleted file mode 100644
index e8657255..00000000
--- a/src/imports/controls/qquickdefaultprogressbar.cpp
+++ /dev/null
@@ -1,280 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdefaultprogressbar_p.h"
-
-#include <QtCore/qeasingcurve.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const int Blocks = 4;
-static const int BlockWidth = 16;
-static const int BlockRestingSpacing = 4;
-static const int BlockMovingSpacing = 48;
-static const int BlockSpan = Blocks * (BlockWidth + BlockRestingSpacing) - BlockRestingSpacing;
-static const int TotalDuration = 4000;
-static const int SecondPhaseStart = TotalDuration * 0.4;
-static const int ThirdPhaseStart = TotalDuration * 0.6;
-
-static inline qreal blockStartX(int blockIndex)
-{
- return ((blockIndex + 1) * -BlockWidth) - (blockIndex * BlockMovingSpacing);
-}
-
-static inline qreal blockRestX(int blockIndex, qreal availableWidth)
-{
- const qreal spanRightEdgePos = availableWidth / 2 + BlockSpan / 2;
- return spanRightEdgePos - (blockIndex + 1) * BlockWidth - (blockIndex * BlockRestingSpacing);
-}
-
-static inline qreal blockEndX(int blockIndex, qreal availableWidth)
-{
- return availableWidth - blockStartX(Blocks - 1 - blockIndex) - BlockWidth;
-}
-
-class QQuickDefaultProgressBarNode : public QQuickAnimatedNode
-{
-public:
- QQuickDefaultProgressBarNode(QQuickDefaultProgressBar *item);
-
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- bool m_indeterminate = false;
- qreal m_pixelsPerSecond = 0;
-};
-
-QQuickDefaultProgressBarNode::QQuickDefaultProgressBarNode(QQuickDefaultProgressBar *item)
- : QQuickAnimatedNode(item),
- m_pixelsPerSecond(item->width())
-{
- setLoopCount(Infinite);
- setDuration(TotalDuration);
-}
-
-void QQuickDefaultProgressBarNode::updateCurrentTime(int time)
-{
- QSGTransformNode *transformNode = static_cast<QSGTransformNode*>(firstChild());
- for (int i = 0; i < Blocks; ++i) {
- Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType);
-
- QMatrix4x4 m;
- const qreal restX = blockRestX(i, m_pixelsPerSecond);
- const qreal timeInSeconds = time / 1000.0;
-
- if (time < SecondPhaseStart) {
- // Move into the resting position for the first phase.
- QEasingCurve easingCurve(QEasingCurve::InQuad);
- const qreal easedCompletion = easingCurve.valueForProgress(time / qreal(SecondPhaseStart));
- const qreal distance = m_pixelsPerSecond * (easedCompletion * (SecondPhaseStart / 1000.0));
- const qreal position = blockStartX(i) + distance;
- const qreal destination = restX;
- m.translate(qMin(position, destination), 0);
- } else if (time < ThirdPhaseStart) {
- // Stay in the same position for the second phase.
- m.translate(restX, 0);
- } else {
- // Move out of view for the third phase.
- const int thirdPhaseSubKickoff = (BlockMovingSpacing / m_pixelsPerSecond) * 1000;
- const int subphase = (time - ThirdPhaseStart) / thirdPhaseSubKickoff;
- // If we're not at this subphase yet, don't try to animate movement,
- // because it will be incorrect.
- if (subphase < i)
- return;
-
- const qreal timeSinceSecondPhase = timeInSeconds - (ThirdPhaseStart / 1000.0);
- // We only want to start keeping track of time once our subphase has started,
- // otherwise we move too much because we account for time that has already elapsed.
- // For example, if we were 60 milliseconds into the third subphase:
- //
- // 0 ..... 1 ..... 2 ...
- // 100 100 60
- //
- // i == 0, timeSinceOurKickoff == 260
- // i == 1, timeSinceOurKickoff == 160
- // i == 2, timeSinceOurKickoff == 60
- const qreal timeSinceOurKickoff = timeSinceSecondPhase - (thirdPhaseSubKickoff / 1000.0 * i);
- const qreal position = restX + (m_pixelsPerSecond * (timeSinceOurKickoff));
- const qreal destination = blockEndX(i, m_pixelsPerSecond);
- m.translate(qMin(position, destination), 0);
- }
-
- transformNode->setMatrix(m);
-
- transformNode = static_cast<QSGTransformNode*>(transformNode->nextSibling());
- }
-}
-
-void QQuickDefaultProgressBarNode::sync(QQuickItem *item)
-{
- QQuickDefaultProgressBar *bar = static_cast<QQuickDefaultProgressBar *>(item);
- if (m_indeterminate != bar->isIndeterminate()) {
- m_indeterminate = bar->isIndeterminate();
- if (m_indeterminate)
- start();
- else
- stop();
- }
- m_pixelsPerSecond = item->width();
-
- QQuickItemPrivate *d = QQuickItemPrivate::get(item);
-
- QMatrix4x4 m;
- m.translate(0, (item->height() - item->implicitHeight()) / 2);
- setMatrix(m);
-
- if (m_indeterminate) {
- if (childCount() != Blocks) {
- // This was previously a regular progress bar; remove the old nodes.
- removeAllChildNodes();
- }
-
- QSGTransformNode *transformNode = static_cast<QSGTransformNode*>(firstChild());
- for (int i = 0; i < Blocks; ++i) {
- if (!transformNode) {
- transformNode = new QSGTransformNode;
- appendChildNode(transformNode);
- }
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode*>(transformNode->firstChild());
- if (!rectNode) {
- rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setColor(bar->color());
- transformNode->appendChildNode(rectNode);
- }
-
- QMatrix4x4 m;
- m.translate(blockStartX(i), 0);
- transformNode->setMatrix(m);
-
- rectNode->setRect(QRectF(QPointF(0, 0), QSizeF(BlockWidth, item->implicitHeight())));
- rectNode->update();
-
- transformNode = static_cast<QSGTransformNode *>(transformNode->nextSibling());
- }
- } else {
- if (childCount() > 1) {
- // This was previously an indeterminate progress bar; remove the old nodes.
- removeAllChildNodes();
- }
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(firstChild());
- if (!rectNode) {
- rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setColor(bar->color());
- appendChildNode(rectNode);
- }
-
- rectNode->setRect(QRectF(QPointF(0, 0), QSizeF(bar->progress() * item->width(), item->implicitHeight())));
- rectNode->update();
- }
-}
-
-QQuickDefaultProgressBar::QQuickDefaultProgressBar(QQuickItem *parent) :
- QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-qreal QQuickDefaultProgressBar::progress() const
-{
- return m_progress;
-}
-
-void QQuickDefaultProgressBar::setProgress(qreal progress)
-{
- if (progress == m_progress)
- return;
-
- m_progress = progress;
- update();
-}
-
-bool QQuickDefaultProgressBar::isIndeterminate() const
-{
- return m_indeterminate;
-}
-
-void QQuickDefaultProgressBar::setIndeterminate(bool indeterminate)
-{
- if (indeterminate == m_indeterminate)
- return;
-
- m_indeterminate = indeterminate;
- setClip(m_indeterminate);
- update();
-}
-
-QColor QQuickDefaultProgressBar::color() const
-{
- return m_color;
-}
-
-void QQuickDefaultProgressBar::setColor(const QColor &color)
-{
- if (color == m_color)
- return;
-
- m_color = color;
- update();
-}
-
-void QQuickDefaultProgressBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
- if (change == ItemVisibleHasChanged)
- update();
-}
-
-QSGNode *QQuickDefaultProgressBar::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *)
-{
- QQuickDefaultProgressBarNode *node = static_cast<QQuickDefaultProgressBarNode *>(oldNode);
- if (isVisible() && width() > 0 && height() > 0) {
- if (!node)
- node = new QQuickDefaultProgressBarNode(this);
- node->sync(this);
- } else {
- delete node;
- node = nullptr;
- }
- return node;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquickdefaultprogressbar_p.h b/src/imports/controls/qquickdefaultprogressbar_p.h
deleted file mode 100644
index 241d0b3b..00000000
--- a/src/imports/controls/qquickdefaultprogressbar_p.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFAULTPROGRESSBAR_P_H
-#define QQUICKDEFAULTPROGRESSBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickitem.h>
-#include <QtGui/qcolor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDefaultProgressBar : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate FINAL)
- Q_PROPERTY(qreal progress READ progress WRITE setProgress FINAL)
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
-
-public:
- explicit QQuickDefaultProgressBar(QQuickItem *parent = nullptr);
-
- bool isIndeterminate() const;
- void setIndeterminate(bool indeterminate);
-
- qreal progress() const;
- void setProgress(qreal progress);
-
- QColor color() const;
- void setColor(const QColor &color);
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
-
-private:
- qreal m_progress = 0;
- bool m_indeterminate = false;
- QColor m_color;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDefaultProgressBar)
-
-#endif // QQUICKDEFAULTPROGRESSBAR_P_H
diff --git a/src/imports/controls/qquickdefaultstyle.cpp b/src/imports/controls/qquickdefaultstyle.cpp
deleted file mode 100644
index 15c59798..00000000
--- a/src/imports/controls/qquickdefaultstyle.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdefaultstyle_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QQuickDefaultStyle::QQuickDefaultStyle(QObject *parent) :
- QObject(parent)
-{
-}
-
-QColor QQuickDefaultStyle::backgroundColor() const
-{
- return QColor::fromRgba(0xFFFFFFFF);
-}
-
-QColor QQuickDefaultStyle::overlayModalColor() const
-{
- return QColor::fromRgba(0x7F28282A);
-}
-
-QColor QQuickDefaultStyle::overlayDimColor() const
-{
- return QColor::fromRgba(0x1F28282A);
-}
-
-QColor QQuickDefaultStyle::textColor() const
-{
- return QColor::fromRgba(0xFF353637);
-}
-
-QColor QQuickDefaultStyle::textDarkColor() const
-{
- return QColor::fromRgba(0xFF26282A);
-}
-
-QColor QQuickDefaultStyle::textLightColor() const
-{
- return QColor::fromRgba(0xFFFFFFFF);
-}
-
-QColor QQuickDefaultStyle::textLinkColor() const
-{
- return QColor::fromRgba(0xFF45A7D7);
-}
-
-QColor QQuickDefaultStyle::textSelectionColor() const
-{
- return QColor::fromRgba(0xFFFDDD5C);
-}
-
-QColor QQuickDefaultStyle::textDisabledColor() const
-{
- return QColor::fromRgba(0xFFBDBEBF);
-}
-
-QColor QQuickDefaultStyle::textDisabledLightColor() const
-{
- return QColor::fromRgba(0xFFC2C2C2);
-}
-
-QColor QQuickDefaultStyle::textPlaceholderColor() const
-{
- return QColor::fromRgba(0xFF777777);
-}
-
-QColor QQuickDefaultStyle::focusColor() const
-{
- return QColor::fromRgba(0xFF0066FF);
-}
-
-QColor QQuickDefaultStyle::focusLightColor() const
-{
- return QColor::fromRgba(0xFFF0F6FF);
-}
-
-QColor QQuickDefaultStyle::focusPressedColor() const
-{
- return QColor::fromRgba(0xFFCCE0FF);
-}
-
-QColor QQuickDefaultStyle::buttonColor() const
-{
- return QColor::fromRgba(0xFFE0E0E0);
-}
-
-QColor QQuickDefaultStyle::buttonPressedColor() const
-{
- return QColor::fromRgba(0xFFD0D0D0);
-}
-
-QColor QQuickDefaultStyle::buttonCheckedColor() const
-{
- return QColor::fromRgba(0xFF353637);
-}
-
-QColor QQuickDefaultStyle::buttonCheckedPressedColor() const
-{
- return QColor::fromRgba(0xFF585A5C);
-}
-
-QColor QQuickDefaultStyle::buttonCheckedFocusColor() const
-{
- return QColor::fromRgba(0xFF599BFF);
-}
-
-QColor QQuickDefaultStyle::toolButtonColor() const
-{
- return QColor::fromRgba(0x33333333);
-}
-
-QColor QQuickDefaultStyle::tabButtonColor() const
-{
- return QColor::fromRgba(0xFF353637);
-}
-
-QColor QQuickDefaultStyle::tabButtonPressedColor() const
-{
- return QColor::fromRgba(0xFF585A5C);
-}
-
-QColor QQuickDefaultStyle::tabButtonCheckedPressedColor() const
-{
- return QColor::fromRgba(0xFFE4E4E4);
-}
-
-QColor QQuickDefaultStyle::delegateColor() const
-{
- return QColor::fromRgba(0xFFEEEEEE);
-}
-
-QColor QQuickDefaultStyle::delegatePressedColor() const
-{
- return QColor::fromRgba(0xFFBDBEBF);
-}
-
-QColor QQuickDefaultStyle::delegateFocusColor() const
-{
- return QColor::fromRgba(0xFFE5EFFF);
-}
-
-QColor QQuickDefaultStyle::indicatorPressedColor() const
-{
- return QColor::fromRgba(0xFFF6F6F6);
-}
-
-QColor QQuickDefaultStyle::indicatorDisabledColor() const
-{
- return QColor::fromRgba(0xFFFDFDFD);
-}
-
-QColor QQuickDefaultStyle::indicatorFrameColor() const
-{
- return QColor::fromRgba(0xFF909090);
-}
-
-QColor QQuickDefaultStyle::indicatorFramePressedColor() const
-{
- return QColor::fromRgba(0xFF808080);
-}
-
-QColor QQuickDefaultStyle::indicatorFrameDisabledColor() const
-{
- return QColor::fromRgba(0xFFD6D6D6);
-}
-
-QColor QQuickDefaultStyle::frameDarkColor() const
-{
- return QColor::fromRgba(0xFF353637);
-}
-
-QColor QQuickDefaultStyle::frameLightColor() const
-{
- return QColor::fromRgba(0xFFBDBEBF);
-}
-
-QColor QQuickDefaultStyle::scrollBarColor() const
-{
- return QColor::fromRgba(0xFFBDBEBF);
-}
-
-QColor QQuickDefaultStyle::scrollBarPressedColor() const
-{
- return QColor::fromRgba(0xFF28282A);
-}
-
-QColor QQuickDefaultStyle::progressBarColor() const
-{
- return QColor::fromRgba(0xFFE4E4E4);
-}
-
-QColor QQuickDefaultStyle::pageIndicatorColor() const
-{
- return QColor::fromRgba(0xFF28282A);
-}
-
-QColor QQuickDefaultStyle::separatorColor() const
-{
- return QColor::fromRgba(0xFFCCCCCC);
-}
-
-QColor QQuickDefaultStyle::disabledDarkColor() const
-{
- return QColor::fromRgba(0xFF353637);
-}
-
-QColor QQuickDefaultStyle::disabledLightColor() const
-{
- return QColor::fromRgba(0xFFBDBEBF);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquickdefaultstyle_p.h b/src/imports/controls/qquickdefaultstyle_p.h
deleted file mode 100644
index fcd489a0..00000000
--- a/src/imports/controls/qquickdefaultstyle_p.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFAULTSTYLE_P_H
-#define QQUICKDEFAULTSTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtGui/qcolor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDefaultStyle : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QColor backgroundColor READ backgroundColor CONSTANT FINAL)
- Q_PROPERTY(QColor overlayModalColor READ overlayModalColor CONSTANT FINAL)
- Q_PROPERTY(QColor overlayDimColor READ overlayDimColor CONSTANT FINAL)
- Q_PROPERTY(QColor textColor READ textColor CONSTANT FINAL)
- Q_PROPERTY(QColor textDarkColor READ textDarkColor CONSTANT FINAL)
- Q_PROPERTY(QColor textLightColor READ textLightColor CONSTANT FINAL)
- Q_PROPERTY(QColor textLinkColor READ textLinkColor CONSTANT FINAL)
- Q_PROPERTY(QColor textSelectionColor READ textSelectionColor CONSTANT FINAL)
- Q_PROPERTY(QColor textDisabledColor READ textDisabledColor CONSTANT FINAL)
- Q_PROPERTY(QColor textDisabledLightColor READ textDisabledLightColor CONSTANT FINAL)
- Q_PROPERTY(QColor textPlaceholderColor READ textPlaceholderColor CONSTANT FINAL)
- Q_PROPERTY(QColor focusColor READ focusColor CONSTANT FINAL)
- Q_PROPERTY(QColor focusLightColor READ focusLightColor CONSTANT FINAL)
- Q_PROPERTY(QColor focusPressedColor READ focusPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor buttonColor READ buttonColor CONSTANT FINAL)
- Q_PROPERTY(QColor buttonPressedColor READ buttonPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor buttonCheckedColor READ buttonCheckedColor CONSTANT FINAL)
- Q_PROPERTY(QColor buttonCheckedPressedColor READ buttonCheckedPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor buttonCheckedFocusColor READ buttonCheckedFocusColor CONSTANT FINAL)
- Q_PROPERTY(QColor toolButtonColor READ toolButtonColor CONSTANT FINAL)
- Q_PROPERTY(QColor tabButtonColor READ tabButtonColor CONSTANT FINAL)
- Q_PROPERTY(QColor tabButtonPressedColor READ tabButtonPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor tabButtonCheckedPressedColor READ tabButtonCheckedPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor delegateColor READ delegateColor CONSTANT FINAL)
- Q_PROPERTY(QColor delegatePressedColor READ delegatePressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor delegateFocusColor READ delegateFocusColor CONSTANT FINAL)
- Q_PROPERTY(QColor indicatorPressedColor READ indicatorPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor indicatorDisabledColor READ indicatorDisabledColor CONSTANT FINAL)
- Q_PROPERTY(QColor indicatorFrameColor READ indicatorFrameColor CONSTANT FINAL)
- Q_PROPERTY(QColor indicatorFramePressedColor READ indicatorFramePressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor indicatorFrameDisabledColor READ indicatorFrameDisabledColor CONSTANT FINAL)
- Q_PROPERTY(QColor frameDarkColor READ frameDarkColor CONSTANT FINAL)
- Q_PROPERTY(QColor frameLightColor READ frameLightColor CONSTANT FINAL)
- Q_PROPERTY(QColor scrollBarColor READ scrollBarColor CONSTANT FINAL)
- Q_PROPERTY(QColor scrollBarPressedColor READ scrollBarPressedColor CONSTANT FINAL)
- Q_PROPERTY(QColor progressBarColor READ progressBarColor CONSTANT FINAL)
- Q_PROPERTY(QColor pageIndicatorColor READ pageIndicatorColor CONSTANT FINAL)
- Q_PROPERTY(QColor separatorColor READ separatorColor CONSTANT FINAL)
- Q_PROPERTY(QColor disabledDarkColor READ disabledDarkColor CONSTANT FINAL)
- Q_PROPERTY(QColor disabledLightColor READ disabledLightColor CONSTANT FINAL)
-
-public:
- explicit QQuickDefaultStyle(QObject *parent = nullptr);
-
- QColor backgroundColor() const;
- QColor overlayModalColor() const;
- QColor overlayDimColor() const;
- QColor textColor() const;
- QColor textDarkColor() const;
- QColor textLightColor() const;
- QColor textLinkColor() const;
- QColor textSelectionColor() const;
- QColor textDisabledColor() const;
- QColor textDisabledLightColor() const;
- QColor textPlaceholderColor() const;
- QColor focusColor() const;
- QColor focusLightColor() const;
- QColor focusPressedColor() const;
- QColor buttonColor() const;
- QColor buttonPressedColor() const;
- QColor buttonCheckedColor() const;
- QColor buttonCheckedPressedColor() const;
- QColor buttonCheckedFocusColor() const;
- QColor toolButtonColor() const;
- QColor tabButtonColor() const;
- QColor tabButtonPressedColor() const;
- QColor tabButtonCheckedPressedColor() const;
- QColor delegateColor() const;
- QColor delegatePressedColor() const;
- QColor delegateFocusColor() const;
- QColor indicatorPressedColor() const;
- QColor indicatorDisabledColor() const;
- QColor indicatorFrameColor() const;
- QColor indicatorFramePressedColor() const;
- QColor indicatorFrameDisabledColor() const;
- QColor frameDarkColor() const;
- QColor frameLightColor() const;
- QColor scrollBarColor() const;
- QColor scrollBarPressedColor() const;
- QColor progressBarColor() const;
- QColor pageIndicatorColor() const;
- QColor separatorColor() const;
- QColor disabledDarkColor() const;
- QColor disabledLightColor() const;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDEFAULTSTYLE_P_H
diff --git a/src/imports/controls/qquickdefaulttheme.cpp b/src/imports/controls/qquickdefaulttheme.cpp
deleted file mode 100644
index 26fb2a2f..00000000
--- a/src/imports/controls/qquickdefaulttheme.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdefaulttheme_p.h"
-
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickDefaultTheme::initialize(QQuickTheme *theme)
-{
- QPalette systemPalette;
-
- systemPalette.setColor(QPalette::Base, QColor::fromRgba(0xFFFFFFFF));
- systemPalette.setColor(QPalette::Disabled, QPalette::Base, QColor::fromRgba(0xFFD6D6D6));
-
- systemPalette.setColor(QPalette::Button, QColor::fromRgba(0xFFE0E0E0));
-
- systemPalette.setColor(QPalette::ButtonText, QColor::fromRgba(0xFF26282A));
- systemPalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor::fromRgba(0x4D26282A));
-
- systemPalette.setColor(QPalette::BrightText, QColor::fromRgba(0xFFFFFFFF));
- systemPalette.setColor(QPalette::Disabled, QPalette::BrightText, QColor::fromRgba(0x4DFFFFFF));
-
- systemPalette.setColor(QPalette::Dark, QColor::fromRgba(0xFF353637));
-
- systemPalette.setColor(QPalette::Highlight, QColor::fromRgba(0xFF0066FF));
- systemPalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor::fromRgba(0xFFF0F6FF));
-
- systemPalette.setColor(QPalette::HighlightedText, QColor::fromRgba(0xFF090909));
-
- systemPalette.setColor(QPalette::Light, QColor::fromRgba(0xFFF6F6F6));
-
- systemPalette.setColor(QPalette::Link, QColor::fromRgba(0xFF45A7D7));
-
- systemPalette.setColor(QPalette::Mid, QColor::fromRgba(0xFFBDBDBD));
-
- systemPalette.setColor(QPalette::Midlight, QColor::fromRgba(0xFFE4E4E4));
-
- systemPalette.setColor(QPalette::Text, QColor::fromRgba(0xFF353637));
- systemPalette.setColor(QPalette::Disabled, QPalette::Text, QColor::fromRgba(0x7F353637));
-
- systemPalette.setColor(QPalette::Shadow, QColor::fromRgba(0xFF28282A));
-
- systemPalette.setColor(QPalette::ToolTipBase, QColor::fromRgba(0xFFFFFFFF));
- systemPalette.setColor(QPalette::ToolTipText, QColor::fromRgba(0xFF000000));
-
- systemPalette.setColor(QPalette::Window, QColor::fromRgba(0xFFFFFFFF));
-
- systemPalette.setColor(QPalette::WindowText, QColor::fromRgba(0xFF26282A));
- systemPalette.setColor(QPalette::Disabled, QPalette::WindowText, QColor::fromRgba(0xFFBDBEBF));
-
- theme->setPalette(QQuickTheme::System, systemPalette);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquickdefaulttheme_p.h b/src/imports/controls/qquickdefaulttheme_p.h
deleted file mode 100644
index 3a7311c7..00000000
--- a/src/imports/controls/qquickdefaulttheme_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFAULTTHEME_P_H
-#define QQUICKDEFAULTTHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTheme;
-
-class QQuickDefaultTheme
-{
-public:
- static void initialize(QQuickTheme *theme);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDEFAULTTHEME_P_H
diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp
deleted file mode 100644
index 5d59d8ca..00000000
--- a/src/imports/controls/qtquickcontrols2plugin.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qdir.h>
-#include <QtCore/qfile.h>
-#include <QtCore/qfileinfo.h>
-#include <QtCore/qpluginloader.h>
-#include <QtCore/private/qfileselector_p.h>
-#include <QtQml/qqmlfile.h>
-#include <QtQml/private/qqmldirparser_p.h>
-#include <QtQuickControls2/qquickstyle.h>
-#include <QtQuickControls2/private/qquickchecklabel_p.h>
-#include <QtQuickControls2/private/qquickcolor_p.h>
-#include <QtQuickControls2/private/qquickcolorimage_p.h>
-#include <QtQuickControls2/private/qquickiconimage_p.h>
-#include <QtQuickControls2/private/qquickmnemoniclabel_p.h>
-#include <QtQuickControls2/private/qquickpaddedrectangle_p.h>
-#include <QtQuickControls2/private/qquickplaceholdertext_p.h>
-#include <QtQuickControls2/private/qquickiconlabel_p.h>
-#include <QtQuickControls2/private/qquickstyle_p.h>
-#include <QtQuickControls2/private/qquickstyleplugin_p.h>
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
-#include <QtQuickControls2/private/qquicktumblerview_p.h>
-#endif
-#include <QtQuickTemplates2/private/qquickoverlay_p.h>
-#include <QtQuickTemplates2/private/qquicksplitview_p.h>
-#include <QtQuickControls2/private/qquickclippedtext_p.h>
-#include <QtQuickControls2/private/qquickitemgroup_p.h>
-#include <QtQuickTemplates2/private/qquicktheme_p_p.h>
-
-#include "qquickdefaultbusyindicator_p.h"
-#include "qquickdefaultdial_p.h"
-#include "qquickdefaultprogressbar_p.h"
-#include "qquickdefaultstyle_p.h"
-#include "qquickdefaulttheme_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QtQuickControls2Plugin: public QQuickStylePlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtQuickControls2Plugin(QObject *parent = nullptr);
- ~QtQuickControls2Plugin();
-
- void registerTypes(const char *uri) override;
-
- QString name() const override;
- void initializeTheme(QQuickTheme *theme) override;
-
-private:
- QList<QQuickStylePlugin *> loadStylePlugins();
- QQuickTheme *createTheme(const QString &name);
-};
-
-QtQuickControls2Plugin::QtQuickControls2Plugin(QObject *parent) : QQuickStylePlugin(parent)
-{
-}
-
-QtQuickControls2Plugin::~QtQuickControls2Plugin()
-{
- QQuickStylePrivate::reset();
-}
-
-static bool isDefaultStyle(const QString &style)
-{
- return style.isEmpty() || style.compare(QStringLiteral("Default"), Qt::CaseInsensitive) == 0;
-}
-
-void QtQuickControls2Plugin::registerTypes(const char *uri)
-{
- QQuickStylePrivate::init(baseUrl());
-
- const QString style = QQuickStyle::name();
- if (!style.isEmpty())
- QFileSelectorPrivate::addStatics(QStringList() << style.toLower());
-
- QQuickTheme *theme = createTheme(style.isEmpty() ? name() : style);
- if (isDefaultStyle(style))
- initializeTheme(theme);
-
- // load the style's plugins to get access to its resources and initialize the theme
- QList<QQuickStylePlugin *> stylePlugins = loadStylePlugins();
- for (QQuickStylePlugin *stylePlugin : stylePlugins)
- stylePlugin->initializeTheme(theme);
- qDeleteAll(stylePlugins);
-
- // The minor version used to be the current Qt 5 minor. For compatibility it is the last
- // Qt 5 release.
- qmlRegisterModule(uri, 2, 15);
-
- // QtQuick.Controls 2.0 (originally introduced in Qt 5.7)
- qmlRegisterType(resolvedUrl(QStringLiteral("AbstractButton.qml")), uri, 2, 0, "AbstractButton");
- qmlRegisterType(resolvedUrl(QStringLiteral("ApplicationWindow.qml")), uri, 2, 0, "ApplicationWindow");
- qmlRegisterType(resolvedUrl(QStringLiteral("BusyIndicator.qml")), uri, 2, 0, "BusyIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("Button.qml")), uri, 2, 0, "Button");
- qmlRegisterType(resolvedUrl(QStringLiteral("ButtonGroup.qml")), uri, 2, 0, "ButtonGroup");
- qmlRegisterType(resolvedUrl(QStringLiteral("CheckBox.qml")), uri, 2, 0, "CheckBox");
- qmlRegisterType(resolvedUrl(QStringLiteral("CheckDelegate.qml")), uri, 2, 0, "CheckDelegate");
- qmlRegisterType(resolvedUrl(QStringLiteral("ComboBox.qml")), uri, 2, 0, "ComboBox");
- qmlRegisterType(resolvedUrl(QStringLiteral("Container.qml")), uri, 2, 0, "Container");
- qmlRegisterType(resolvedUrl(QStringLiteral("Control.qml")), uri, 2, 0, "Control");
- qmlRegisterType(resolvedUrl(QStringLiteral("Dial.qml")), uri, 2, 0, "Dial");
- qmlRegisterType(resolvedUrl(QStringLiteral("Drawer.qml")), uri, 2, 0, "Drawer");
- qmlRegisterType(resolvedUrl(QStringLiteral("Frame.qml")), uri, 2, 0, "Frame");
- qmlRegisterType(resolvedUrl(QStringLiteral("GroupBox.qml")), uri, 2, 0, "GroupBox");
- qmlRegisterType(resolvedUrl(QStringLiteral("ItemDelegate.qml")), uri, 2, 0, "ItemDelegate");
- qmlRegisterType(resolvedUrl(QStringLiteral("Label.qml")), uri, 2, 0, "Label");
- qmlRegisterType(resolvedUrl(QStringLiteral("Menu.qml")), uri, 2, 0, "Menu");
- qmlRegisterType(resolvedUrl(QStringLiteral("MenuItem.qml")), uri, 2, 0, "MenuItem");
- qmlRegisterType(resolvedUrl(QStringLiteral("Page.qml")), uri, 2, 0, "Page");
- qmlRegisterType(resolvedUrl(QStringLiteral("PageIndicator.qml")), uri, 2, 0, "PageIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("Pane.qml")), uri, 2, 0, "Pane");
- qmlRegisterType(resolvedUrl(QStringLiteral("Popup.qml")), uri, 2, 0, "Popup");
- qmlRegisterType(resolvedUrl(QStringLiteral("ProgressBar.qml")), uri, 2, 0, "ProgressBar");
- qmlRegisterType(resolvedUrl(QStringLiteral("RadioButton.qml")), uri, 2, 0, "RadioButton");
- qmlRegisterType(resolvedUrl(QStringLiteral("RadioDelegate.qml")), uri, 2, 0, "RadioDelegate");
- qmlRegisterType(resolvedUrl(QStringLiteral("RangeSlider.qml")), uri, 2, 0, "RangeSlider");
- qmlRegisterType(resolvedUrl(QStringLiteral("ScrollBar.qml")), uri, 2, 0, "ScrollBar");
- qmlRegisterType(resolvedUrl(QStringLiteral("ScrollIndicator.qml")), uri, 2, 0, "ScrollIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("Slider.qml")), uri, 2, 0, "Slider");
- qmlRegisterType(resolvedUrl(QStringLiteral("SpinBox.qml")), uri, 2, 0, "SpinBox");
- qmlRegisterType(resolvedUrl(QStringLiteral("StackView.qml")), uri, 2, 0, "StackView");
- qmlRegisterType(resolvedUrl(QStringLiteral("SwipeDelegate.qml")), uri, 2, 0, "SwipeDelegate");
- qmlRegisterType(resolvedUrl(QStringLiteral("SwipeView.qml")), uri, 2, 0, "SwipeView");
- qmlRegisterType(resolvedUrl(QStringLiteral("Switch.qml")), uri, 2, 0, "Switch");
- qmlRegisterType(resolvedUrl(QStringLiteral("SwitchDelegate.qml")), uri, 2, 0, "SwitchDelegate");
- qmlRegisterType(resolvedUrl(QStringLiteral("TabBar.qml")), uri, 2, 0, "TabBar");
- qmlRegisterType(resolvedUrl(QStringLiteral("TabButton.qml")), uri, 2, 0, "TabButton");
- qmlRegisterType(resolvedUrl(QStringLiteral("TextArea.qml")), uri, 2, 0, "TextArea");
- qmlRegisterType(resolvedUrl(QStringLiteral("TextField.qml")), uri, 2, 0, "TextField");
- qmlRegisterType(resolvedUrl(QStringLiteral("ToolBar.qml")), uri, 2, 0, "ToolBar");
- qmlRegisterType(resolvedUrl(QStringLiteral("ToolButton.qml")), uri, 2, 0, "ToolButton");
- qmlRegisterType(resolvedUrl(QStringLiteral("ToolTip.qml")), uri, 2, 0, "ToolTip");
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
- qmlRegisterType(resolvedUrl(QStringLiteral("Tumbler.qml")), uri, 2, 0, "Tumbler");
-#endif
-
- // QtQuick.Controls 2.1 (new types in Qt 5.8)
- qmlRegisterType(resolvedUrl(QStringLiteral("Dialog.qml")), uri, 2, 1, "Dialog");
- qmlRegisterType(resolvedUrl(QStringLiteral("DialogButtonBox.qml")), uri, 2, 1, "DialogButtonBox");
- qmlRegisterType(resolvedUrl(QStringLiteral("MenuSeparator.qml")), uri, 2, 1, "MenuSeparator");
- qmlRegisterType(resolvedUrl(QStringLiteral("RoundButton.qml")), uri, 2, 1, "RoundButton");
- qmlRegisterType(resolvedUrl(QStringLiteral("ToolSeparator.qml")), uri, 2, 1, "ToolSeparator");
-
- // QtQuick.Controls 2.2 (new types in Qt 5.9)
- qmlRegisterType(resolvedUrl(QStringLiteral("DelayButton.qml")), uri, 2, 2, "DelayButton");
- qmlRegisterType(resolvedUrl(QStringLiteral("ScrollView.qml")), uri, 2, 2, "ScrollView");
-
- // QtQuick.Controls 2.3 (new types in Qt 5.10)
- qmlRegisterType(resolvedUrl(QStringLiteral("Action.qml")), uri, 2, 3, "Action");
- qmlRegisterType(resolvedUrl(QStringLiteral("ActionGroup.qml")), uri, 2, 3, "ActionGroup");
- qmlRegisterType(resolvedUrl(QStringLiteral("MenuBar.qml")), uri, 2, 3, "MenuBar");
- qmlRegisterType(resolvedUrl(QStringLiteral("MenuBarItem.qml")), uri, 2, 3, "MenuBarItem");
- qmlRegisterUncreatableType<QQuickOverlay>(uri, 2, 3, "Overlay", QStringLiteral("Overlay is only available as an attached property."));
-
- // QtQuick.Controls 2.13 (new types in Qt 5.13)
- qmlRegisterType(resolvedUrl(QStringLiteral("SplitView.qml")), uri, 2, 13, "SplitView");
- qmlRegisterUncreatableType<QQuickSplitHandleAttached>(uri, 2, 13, "SplitHandle",
- QStringLiteral("SplitHandle is only available as an attached property."));
-
- // The minor version used to be the current Qt 5 minor. For compatibility it is the last
- // Qt 5 release.
- const QByteArray import = QByteArray(uri) + ".impl";
- qmlRegisterModule(import, 2, 15);
-
- // QtQuick.Controls.impl 2.0 (Qt 5.7)
- qmlRegisterType<QQuickDefaultBusyIndicator>(import, 2, 0, "BusyIndicatorImpl");
- qmlRegisterType<QQuickDefaultDial>(import, 2, 0, "DialImpl");
- qmlRegisterType<QQuickPaddedRectangle>(import, 2, 0, "PaddedRectangle");
- qmlRegisterType<QQuickDefaultProgressBar>(import, 2, 0, "ProgressBarImpl");
-
- // QtQuick.Controls.impl 2.1 (Qt 5.8)
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
- qmlRegisterType<QQuickTumblerView>(import, 2, 1, "TumblerView");
-#endif
- qmlRegisterSingletonType<QQuickDefaultStyle>(import, 2, 1, "Default", [](QQmlEngine *engine, QJSEngine *scriptEngine) -> QObject* {
- Q_UNUSED(engine);
- Q_UNUSED(scriptEngine);
- return new QQuickDefaultStyle;
- });
-
- // QtQuick.Controls.impl 2.2 (Qt 5.9)
- qmlRegisterType<QQuickClippedText>(import, 2, 2, "ClippedText");
- qmlRegisterType<QQuickItemGroup>(import, 2, 2, "ItemGroup");
- qmlRegisterType<QQuickPlaceholderText>(import, 2, 2, "PlaceholderText");
-
- // QtQuick.Controls.impl 2.3 (Qt 5.10)
- qmlRegisterType<QQuickColorImage>(import, 2, 3, "ColorImage");
- qmlRegisterType<QQuickIconImage>(import, 2, 3, "IconImage");
- qmlRegisterSingletonType<QQuickColor>(import, 2, 3, "Color", [](QQmlEngine *engine, QJSEngine *scriptEngine) -> QObject* {
- Q_UNUSED(engine);
- Q_UNUSED(scriptEngine);
- return new QQuickColor;
- });
- qmlRegisterType<QQuickIconLabel>(import, 2, 3, "IconLabel");
- qmlRegisterType<QQuickCheckLabel>(import, 2, 3, "CheckLabel");
- qmlRegisterType<QQuickMnemonicLabel>(import, 2, 3, "MnemonicLabel");
- qmlRegisterRevision<QQuickText, 6>(import, 2, 3);
-}
-
-QString QtQuickControls2Plugin::name() const
-{
- return QStringLiteral("Default");
-}
-
-void QtQuickControls2Plugin::initializeTheme(QQuickTheme *theme)
-{
- QQuickDefaultTheme::initialize(theme);
-}
-
-QList<QQuickStylePlugin *> QtQuickControls2Plugin::loadStylePlugins()
-{
- QList<QQuickStylePlugin *> stylePlugins;
-
- QFileInfo fileInfo = QQmlFile::urlToLocalFileOrQrc(resolvedUrl(QStringLiteral("qmldir")));
- if (fileInfo.exists() && fileInfo.path() != QQmlFile::urlToLocalFileOrQrc(baseUrl())) {
- QFile file(fileInfo.filePath());
- if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
- QQmlDirParser parser;
- parser.parse(QString::fromUtf8(file.readAll()));
- if (!parser.hasError()) {
-#ifdef QT_STATIC
- const auto plugins = QPluginLoader::staticInstances();
- for (QObject *instance : plugins) {
- QQuickStylePlugin *stylePlugin = qobject_cast<QQuickStylePlugin *>(instance);
- if (!stylePlugin || parser.className() != QLatin1String(instance->metaObject()->className()))
- continue;
- stylePlugins += stylePlugin;
- }
-#elif QT_CONFIG(library)
- QPluginLoader loader;
- const auto plugins = parser.plugins();
- for (const QQmlDirParser::Plugin &plugin : plugins) {
- QDir dir = fileInfo.dir();
- if (!plugin.path.isEmpty() && !dir.cd(plugin.path))
- continue;
- QString filePath = dir.filePath(plugin.name);
-#if defined(Q_OS_MACOS) && defined(QT_DEBUG)
- // Avoid mismatching plugins on macOS so that we don't end up loading both debug and
- // release versions of the same Qt libraries (due to the plugin's dependencies).
- filePath += QStringLiteral("_debug");
-#endif // Q_OS_MACOS && QT_DEBUG
-#if defined(Q_OS_WIN) && defined(QT_DEBUG)
- // Debug versions of plugins have a "d" prefix on Windows.
- filePath += QLatin1Char('d');
-#endif // Q_OS_WIN && QT_DEBUG
- loader.setFileName(filePath);
- QQuickStylePlugin *stylePlugin = qobject_cast<QQuickStylePlugin *>(loader.instance());
- if (stylePlugin)
- stylePlugins += stylePlugin;
- }
-#endif
- }
- }
- }
- return stylePlugins;
-}
-
-QQuickTheme *QtQuickControls2Plugin::createTheme(const QString &name)
-{
- QQuickTheme *theme = new QQuickTheme;
-#if QT_CONFIG(settings)
- QQuickThemePrivate *p = QQuickThemePrivate::get(theme);
- QSharedPointer<QSettings> settings = QQuickStylePrivate::settings(name);
- if (settings) {
- p->defaultFont.reset(QQuickStylePrivate::readFont(settings));
- // Set the default font as the System scope, because that's what
- // QQuickControlPrivate::parentFont() uses as its fallback if no
- // parent item has a font explicitly set. QQuickControlPrivate::parentFont()
- // is used as the starting point for font inheritance/resolution.
- // The same goes for palettes below.
- theme->setFont(QQuickTheme::System, *p->defaultFont);
-
- p->defaultPalette.reset(QQuickStylePrivate::readPalette(settings));
- theme->setPalette(QQuickTheme::System, *p->defaultPalette);
- }
-#endif
- QQuickThemePrivate::instance.reset(theme);
- return theme;
-}
-
-QT_END_NAMESPACE
-
-#include "qtquickcontrols2plugin.moc"
diff --git a/src/imports/controls/qtquickcontrols2plugin.qrc b/src/imports/controls/qtquickcontrols2plugin.qrc
deleted file mode 100644
index c2dd9d39..00000000
--- a/src/imports/controls/qtquickcontrols2plugin.qrc
+++ /dev/null
@@ -1,24 +0,0 @@
-<RCC>
- <qresource prefix="/qt-project.org/imports/QtQuick/Controls.2">
- <file>images/arrow-indicator.png</file>
- <file>images/arrow-indicator@2x.png</file>
- <file>images/arrow-indicator@3x.png</file>
- <file>images/arrow-indicator@4x.png</file>
- <file>images/check.png</file>
- <file>images/check@2x.png</file>
- <file>images/check@3x.png</file>
- <file>images/check@4x.png</file>
- <file>images/dial-indicator.png</file>
- <file>images/dial-indicator@2x.png</file>
- <file>images/dial-indicator@3x.png</file>
- <file>images/dial-indicator@4x.png</file>
- <file>images/drop-indicator.png</file>
- <file>images/drop-indicator@2x.png</file>
- <file>images/drop-indicator@3x.png</file>
- <file>images/drop-indicator@4x.png</file>
- <file>images/double-arrow.png</file>
- <file>images/double-arrow@2x.png</file>
- <file>images/double-arrow@3x.png</file>
- <file>images/double-arrow@4x.png</file>
- </qresource>
-</RCC>
diff --git a/src/imports/controls/universal/ApplicationWindow.qml b/src/imports/controls/universal/ApplicationWindow.qml
deleted file mode 100644
index 153b9e8e..00000000
--- a/src/imports/controls/universal/ApplicationWindow.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.ApplicationWindow {
- id: window
-
- color: Universal.background
-
- overlay.modal: Rectangle {
- color: window.Universal.baseLowColor
- }
-
- overlay.modeless: Rectangle {
- color: window.Universal.baseLowColor
- }
-
- FocusRectangle {
- parent: window.activeFocusControl
- width: parent ? parent.width : 0
- height: parent ? parent.height : 0
- visible: parent && !!parent.useSystemFocusVisuals && !!parent.visualFocus
- }
-}
diff --git a/src/imports/controls/universal/BusyIndicator.qml b/src/imports/controls/universal/BusyIndicator.qml
deleted file mode 100644
index 2ad21b46..00000000
--- a/src/imports/controls/universal/BusyIndicator.qml
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.BusyIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- contentItem: BusyIndicatorImpl {
- implicitWidth: 20
- implicitHeight: 20
-
- readonly property real size: Math.min(control.availableWidth, control.availableHeight)
-
- count: size < 60 ? 5 : 6 // "Small" vs. "Large"
- color: control.Universal.accent
- visible: control.running
- }
-}
diff --git a/src/imports/controls/universal/Button.qml b/src/imports/controls/universal/Button.qml
deleted file mode 100644
index 657b2835..00000000
--- a/src/imports/controls/universal/Button.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.Button {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 8
- verticalPadding: padding - 4
- spacing: 8
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- property bool useSystemFocusVisuals: true
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- implicitWidth: 32
- implicitHeight: 32
-
- visible: !control.flat || control.down || control.checked || control.highlighted
- color: control.down ? control.Universal.baseMediumLowColor :
- control.enabled && (control.highlighted || control.checked) ? control.Universal.accent :
- control.Universal.baseLowColor
-
- Rectangle {
- width: parent.width
- height: parent.height
- color: "transparent"
- visible: control.hovered
- border.width: 2 // ButtonBorderThemeThickness
- border.color: control.Universal.baseMediumLowColor
- }
- }
-}
diff --git a/src/imports/controls/universal/CheckBox.qml b/src/imports/controls/universal/CheckBox.qml
deleted file mode 100644
index 9494f4d2..00000000
--- a/src/imports/controls/universal/CheckBox.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.CheckBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 8
-
- property bool useSystemFocusVisuals: true
-
- indicator: CheckIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
-
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
-}
diff --git a/src/imports/controls/universal/CheckDelegate.qml b/src/imports/controls/universal/CheckDelegate.qml
deleted file mode 100644
index b544c42e..00000000
--- a/src/imports/controls/universal/CheckDelegate.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.CheckDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- indicator: CheckIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: !control.mirrored ? 0 : control.indicator.width + control.spacing
- rightPadding: control.mirrored ? 0 : control.indicator.width + control.spacing
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- visible: control.down || control.highlighted || control.visualFocus || control.hovered
- color: control.down ? control.Universal.listMediumColor :
- control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.visualFocus || control.highlighted
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
-
- }
-}
diff --git a/src/imports/controls/universal/CheckIndicator.qml b/src/imports/controls/universal/CheckIndicator.qml
deleted file mode 100644
index 8f41617a..00000000
--- a/src/imports/controls/universal/CheckIndicator.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-Rectangle {
- id: indicator
- implicitWidth: 20
- implicitHeight: 20
-
- color: !control.enabled ? "transparent" :
- control.down && !partiallyChecked ? control.Universal.baseMediumColor :
- control.checkState === Qt.Checked ? control.Universal.accent : "transparent"
- border.color: !control.enabled ? control.Universal.baseLowColor :
- control.down ? control.Universal.baseMediumColor :
- control.checked ? control.Universal.accent : control.Universal.baseMediumHighColor
- border.width: 2 // CheckBoxBorderThemeThickness
-
- property Item control
- readonly property bool partiallyChecked: control.checkState === Qt.PartiallyChecked
-
- ColorImage {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
-
- visible: indicator.control.checkState === Qt.Checked
- color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor : indicator.control.Universal.chromeWhiteColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/checkmark.png"
- }
-
- Rectangle {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: indicator.partiallyChecked ? parent.width / 2 : parent.width
- height: indicator.partiallyChecked ? parent.height / 2 : parent.height
-
- visible: !indicator.control.pressed && indicator.control.hovered || indicator.partiallyChecked
- color: !indicator.partiallyChecked ? "transparent" :
- !indicator.control.enabled ? indicator.control.Universal.baseLowColor :
- indicator.control.down ? indicator.control.Universal.baseMediumColor :
- indicator.control.hovered ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumHighColor
- border.width: indicator.partiallyChecked ? 0 : 2 // CheckBoxBorderThemeThickness
- border.color: indicator.control.Universal.baseMediumLowColor
- }
-}
diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml
deleted file mode 100644
index 9a4e119b..00000000
--- a/src/imports/controls/universal/ComboBox.qml
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.14
-import QtQuick.Window 2.14
-import QtQuick.Controls 2.14
-import QtQuick.Controls.impl 2.14
-import QtQuick.Templates 2.14 as T
-import QtQuick.Controls.Universal 2.14
-
-T.ComboBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
- rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
-
- Universal.theme: editable && activeFocus ? Universal.Light : undefined
-
- delegate: ItemDelegate {
- width: parent.width
- text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
- font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
- highlighted: control.highlightedIndex === index
- hoverEnabled: control.hoverEnabled
- }
-
- indicator: ColorImage {
- x: control.mirrored ? control.padding : control.width - width - control.padding
- y: control.topPadding + (control.availableHeight - height) / 2
- color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseMediumHighColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/downarrow.png"
-
- Rectangle {
- z: -1
- width: parent.width
- height: parent.height
- color: control.activeFocus ? control.Universal.accent :
- control.pressed ? control.Universal.baseMediumLowColor :
- control.hovered ? control.Universal.baseLowColor : "transparent"
- visible: control.editable && !contentItem.hovered && (control.pressed || control.hovered)
- opacity: control.activeFocus && !control.pressed ? 0.4 : 1.0
- }
- }
-
- contentItem: T.TextField {
- leftPadding: control.mirrored ? 1 : 12
- rightPadding: control.mirrored ? 10 : 1
- topPadding: 5 - control.topPadding
- bottomPadding: 7 - control.bottomPadding
-
- text: control.editable ? control.editText : control.displayText
-
- enabled: control.editable
- autoScroll: control.editable
- readOnly: control.down
- inputMethodHints: control.inputMethodHints
- validator: control.validator
-
- font: control.font
- color: !control.enabled ? control.Universal.chromeDisabledLowColor :
- control.editable && control.activeFocus ? control.Universal.chromeBlackHighColor : control.Universal.foreground
- selectionColor: control.Universal.accent
- selectedTextColor: control.Universal.chromeWhiteColor
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- implicitWidth: 120
- implicitHeight: 32
-
- border.width: control.flat ? 0 : 2 // ComboBoxBorderThemeThickness
- border.color: !control.enabled ? control.Universal.baseLowColor :
- control.editable && control.activeFocus ? control.Universal.accent :
- control.down ? control.Universal.baseMediumLowColor :
- control.hovered ? control.Universal.baseMediumColor : control.Universal.baseMediumLowColor
- color: !control.enabled ? control.Universal.baseLowColor :
- control.down ? control.Universal.listMediumColor :
- control.flat && control.hovered ? control.Universal.listLowColor :
- control.editable && control.activeFocus ? control.Universal.background : control.Universal.altMediumLowColor
- visible: !control.flat || control.pressed || control.hovered || control.visualFocus
-
- Rectangle {
- x: 2
- y: 2
- width: parent.width - 4
- height: parent.height - 4
-
- visible: control.visualFocus && !control.editable
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
- }
-
- popup: T.Popup {
- width: control.width
- height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin)
- topMargin: 8
- bottomMargin: 8
-
- Universal.theme: control.Universal.theme
- Universal.accent: control.Universal.accent
-
- contentItem: ListView {
- clip: true
- implicitHeight: contentHeight
- model: control.delegateModel
- currentIndex: control.highlightedIndex
- highlightMoveDuration: 0
-
- T.ScrollIndicator.vertical: ScrollIndicator { }
- }
-
- background: Rectangle {
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // FlyoutBorderThemeThickness
- }
- }
-}
diff --git a/src/imports/controls/universal/DelayButton.qml b/src/imports/controls/universal/DelayButton.qml
deleted file mode 100644
index 2a3a3b3a..00000000
--- a/src/imports/controls/universal/DelayButton.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.DelayButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 8
- verticalPadding: padding - 4
-
- property bool useSystemFocusVisuals: true
-
- transition: Transition {
- NumberAnimation {
- duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress)
- }
- }
-
- contentItem: Text {
- text: control.text
- font: control.font
- elide: Text.ElideRight
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
-
- background: Rectangle {
- implicitWidth: 32
- implicitHeight: 32
-
- color: control.down ? control.Universal.baseMediumLowColor :
- control.enabled && control.checked ? control.Universal.accent : control.Universal.baseLowColor
-
- Rectangle {
- visible: !control.checked
- width: parent.width * control.progress
- height: parent.height
- color: control.Universal.accent
- }
-
- Rectangle {
- width: parent.width
- height: parent.height
- color: "transparent"
- visible: control.hovered
- border.width: 2 // ButtonBorderThemeThickness
- border.color: control.Universal.baseMediumLowColor
- }
- }
-}
diff --git a/src/imports/controls/universal/Dial.qml b/src/imports/controls/universal/Dial.qml
deleted file mode 100644
index f45d912e..00000000
--- a/src/imports/controls/universal/Dial.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Dial {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 100 // ### remove 100 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 100 // ### remove 100 in Qt 6
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 100
-
- x: control.width / 2 - width / 2
- y: control.height / 2 - height / 2
- width: Math.max(64, Math.min(control.width, control.height))
- height: width
- radius: width / 2
- color: "transparent"
- border.color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseMediumColor
- border.width: 2
- }
-
- handle: Rectangle {
- implicitWidth: 14
- implicitHeight: 14
-
- x: control.background.x + control.background.width / 2 - control.handle.width / 2
- y: control.background.y + control.background.height / 2 - control.handle.height / 2
-
- radius: width / 2
- color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor :
- control.hovered ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor
-
- transform: [
- Translate {
- y: -control.background.height * 0.4 + control.handle.height / 2
- },
- Rotation {
- angle: control.angle
- origin.x: control.handle.width / 2
- origin.y: control.handle.height / 2
- }
- ]
- }
-}
diff --git a/src/imports/controls/universal/Dialog.qml b/src/imports/controls/universal/Dialog.qml
deleted file mode 100644
index 6151d090..00000000
--- a/src/imports/controls/universal/Dialog.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.Dialog {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 24
- verticalPadding: 18
-
- background: Rectangle {
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // FlyoutBorderThemeThickness
- }
-
- header: Label {
- text: control.title
- visible: control.title
- elide: Label.ElideRight
- topPadding: 18
- leftPadding: 24
- rightPadding: 24
- // TODO: QPlatformTheme::TitleBarFont
- font.pixelSize: 20
- background: Rectangle {
- x: 1; y: 1 // // FlyoutBorderThemeThickness
- color: control.Universal.chromeMediumLowColor
- width: parent.width - 2
- height: parent.height - 1
- }
- }
-
- footer: DialogButtonBox {
- visible: count > 0
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/DialogButtonBox.qml b/src/imports/controls/universal/DialogButtonBox.qml
deleted file mode 100644
index 0458c39d..00000000
--- a/src/imports/controls/universal/DialogButtonBox.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.DialogButtonBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- (control.count === 1 ? implicitContentWidth * 2 : implicitContentWidth) + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- contentWidth: contentItem.contentWidth
-
- spacing: 4
- padding: 24
- topPadding: position === T.DialogButtonBox.Footer ? 6 : 24
- bottomPadding: position === T.DialogButtonBox.Header ? 6 : 24
- alignment: count === 1 ? Qt.AlignRight : undefined
-
- delegate: Button {
- width: control.count === 1 ? control.availableWidth / 2 : undefined
- }
-
- contentItem: ListView {
- model: control.contentModel
- spacing: control.spacing
- orientation: ListView.Horizontal
- boundsBehavior: Flickable.StopAtBounds
- snapMode: ListView.SnapToItem
- }
-
- background: Rectangle {
- implicitHeight: 32
- color: control.Universal.chromeMediumLowColor
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
- }
-}
diff --git a/src/imports/controls/universal/Drawer.qml b/src/imports/controls/universal/Drawer.qml
deleted file mode 100644
index 7ec1d7f8..00000000
--- a/src/imports/controls/universal/Drawer.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Drawer {
- id: control
-
- parent: T.Overlay.overlay
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- topPadding: control.edge === Qt.BottomEdge
- leftPadding: control.edge === Qt.RightEdge
- rightPadding: control.edge === Qt.LeftEdge
- bottomPadding: control.edge === Qt.TopEdge
-
- enter: Transition { SmoothedAnimation { velocity: 5 } }
- exit: Transition { SmoothedAnimation { velocity: 5 } }
-
- background: Rectangle {
- color: control.Universal.chromeMediumLowColor
- Rectangle {
- readonly property bool horizontal: control.edge === Qt.LeftEdge || control.edge === Qt.RightEdge
- width: horizontal ? 1 : parent.width
- height: horizontal ? parent.height : 1
- color: control.Universal.chromeHighColor
- x: control.edge === Qt.LeftEdge ? parent.width - 1 : 0
- y: control.edge === Qt.TopEdge ? parent.height - 1 : 0
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/Frame.qml b/src/imports/controls/universal/Frame.qml
deleted file mode 100644
index 8bb44849..00000000
--- a/src/imports/controls/universal/Frame.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Frame {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: "transparent"
- border.color: control.Universal.chromeDisabledLowColor
- }
-}
diff --git a/src/imports/controls/universal/GroupBox.qml b/src/imports/controls/universal/GroupBox.qml
deleted file mode 100644
index dc156dd7..00000000
--- a/src/imports/controls/universal/GroupBox.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.GroupBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitLabelWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- spacing: 12
- padding: 12
- topPadding: padding + (implicitLabelWidth > 0 ? implicitLabelHeight + spacing : 0)
-
- label: Text {
- x: control.leftPadding
- width: control.availableWidth
-
- text: control.title
- font: control.font
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
-
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
-
- background: Rectangle {
- y: control.topPadding - control.bottomPadding
- width: parent.width
- height: parent.height - control.topPadding + control.bottomPadding
-
- color: "transparent"
- border.color: control.Universal.chromeDisabledLowColor
- }
-}
diff --git a/src/imports/controls/universal/ItemDelegate.qml b/src/imports/controls/universal/ItemDelegate.qml
deleted file mode 100644
index ed985405..00000000
--- a/src/imports/controls/universal/ItemDelegate.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.ItemDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- visible: control.down || control.highlighted || control.visualFocus || control.hovered
- color: control.down ? control.Universal.listMediumColor :
- control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.visualFocus || control.highlighted
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
-
- }
-}
diff --git a/src/imports/controls/universal/Label.qml b/src/imports/controls/universal/Label.qml
deleted file mode 100644
index c66435c3..00000000
--- a/src/imports/controls/universal/Label.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Label {
- id: control
-
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- linkColor: Universal.accent
-}
diff --git a/src/imports/controls/universal/Menu.qml b/src/imports/controls/universal/Menu.qml
deleted file mode 100644
index 619cfa40..00000000
--- a/src/imports/controls/universal/Menu.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Window 2.12
-
-T.Menu {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 0
- overlap: 1
-
- delegate: MenuItem { }
-
- contentItem: ListView {
- implicitHeight: contentHeight
- model: control.contentModel
- interactive: Window.window ? contentHeight > Window.window.height : false
- clip: true
- currentIndex: control.currentIndex
-
- ScrollIndicator.vertical: ScrollIndicator {}
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // FlyoutBorderThemeThickness
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/MenuBar.qml b/src/imports/controls/universal/MenuBar.qml
deleted file mode 100644
index 2317f505..00000000
--- a/src/imports/controls/universal/MenuBar.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.MenuBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- delegate: MenuBarItem { }
-
- contentItem: Row {
- spacing: control.spacing
- Repeater {
- model: control.contentModel
- }
- }
-
- background: Rectangle {
- implicitHeight: 40
- color: control.Universal.chromeMediumColor
- }
-}
diff --git a/src/imports/controls/universal/MenuBarItem.qml b/src/imports/controls/universal/MenuBarItem.qml
deleted file mode 100644
index 30f1fc57..00000000
--- a/src/imports/controls/universal/MenuBarItem.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.MenuBarItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
- spacing: 12
-
- icon.width: 20
- icon.height: 20
- icon.color: !enabled ? Universal.baseLowColor : Universal.baseHighColor
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseHighColor
- }
-
- background: Rectangle {
- implicitWidth: 40
- implicitHeight: 40
-
- color: !control.enabled ? control.Universal.baseLowColor :
- control.down ? control.Universal.listMediumColor :
- control.highlighted ? control.Universal.listLowColor : "transparent"
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
-
- visible: control.visualFocus
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
- }
-}
diff --git a/src/imports/controls/universal/MenuItem.qml b/src/imports/controls/universal/MenuItem.qml
deleted file mode 100644
index 23d0ee3c..00000000
--- a/src/imports/controls/universal/MenuItem.qml
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.MenuItem {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
- spacing: 12
-
- icon.width: 20
- icon.height: 20
- icon.color: !enabled ? Universal.baseLowColor : Universal.baseHighColor
-
- contentItem: IconLabel {
- readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
- readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
- leftPadding: !control.mirrored ? indicatorPadding : arrowPadding
- rightPadding: control.mirrored ? indicatorPadding : arrowPadding
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseHighColor
- }
-
- arrow: ColorImage {
- x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.subMenu
- mirror: control.mirrored
- color: !enabled ? control.Universal.baseLowColor : control.Universal.baseHighColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/rightarrow.png"
- }
-
- indicator: ColorImage {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
-
- visible: control.checked
- color: !control.enabled ? control.Universal.baseLowColor : control.down ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor
- source: !control.checkable ? "" : "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/checkmark.png"
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 40
-
- color: !control.enabled ? control.Universal.baseLowColor :
- control.down ? control.Universal.listMediumColor :
- control.highlighted ? control.Universal.listLowColor : control.Universal.altMediumLowColor
-
- Rectangle {
- x: 1; y: 1
- width: parent.width - 2
- height: parent.height - 2
-
- visible: control.visualFocus
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
- }
-}
diff --git a/src/imports/controls/universal/MenuSeparator.qml b/src/imports/controls/universal/MenuSeparator.qml
deleted file mode 100644
index 72f9f6f7..00000000
--- a/src/imports/controls/universal/MenuSeparator.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.MenuSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 12
- topPadding: 9
- bottomPadding: 10
-
- contentItem: Rectangle {
- implicitWidth: 188
- implicitHeight: 1
- color: control.Universal.baseMediumLowColor
- }
-
- background: Rectangle {
- color: control.Universal.altMediumLowColor
- }
-}
diff --git a/src/imports/controls/universal/Page.qml b/src/imports/controls/universal/Page.qml
deleted file mode 100644
index 347d6d9a..00000000
--- a/src/imports/controls/universal/Page.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Page {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- background: Rectangle {
- color: control.Universal.background
- }
-}
diff --git a/src/imports/controls/universal/PageIndicator.qml b/src/imports/controls/universal/PageIndicator.qml
deleted file mode 100644
index 3dcc84ab..00000000
--- a/src/imports/controls/universal/PageIndicator.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.PageIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 7
-
- delegate: Rectangle {
- implicitWidth: 5
- implicitHeight: 5
-
- radius: width / 2
- color: index === control.currentIndex ? control.Universal.baseMediumHighColor :
- pressed ? control.Universal.baseMediumLowColor : control.Universal.baseLowColor
- }
-
- contentItem: Row {
- spacing: control.spacing
-
- Repeater {
- model: control.count
- delegate: control.delegate
- }
- }
-}
diff --git a/src/imports/controls/universal/Pane.qml b/src/imports/controls/universal/Pane.qml
deleted file mode 100644
index 63a5ecec..00000000
--- a/src/imports/controls/universal/Pane.qml
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Pane {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: control.Universal.background
- }
-}
diff --git a/src/imports/controls/universal/Popup.qml b/src/imports/controls/universal/Popup.qml
deleted file mode 100644
index e39134e1..00000000
--- a/src/imports/controls/universal/Popup.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Popup {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- padding: 12
-
- background: Rectangle {
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // FlyoutBorderThemeThickness
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/ProgressBar.qml b/src/imports/controls/universal/ProgressBar.qml
deleted file mode 100644
index ce79bd54..00000000
--- a/src/imports/controls/universal/ProgressBar.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.ProgressBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- contentItem: ProgressBarImpl {
- implicitHeight: 10
-
- scale: control.mirrored ? -1 : 1
- color: control.Universal.accent
- progress: control.position
- indeterminate: control.visible && control.indeterminate
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 10
- y: (control.height - height) / 2
- height: 10
-
- visible: !control.indeterminate
- color: control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/README.md b/src/imports/controls/universal/README.md
deleted file mode 100644
index 8d02d18b..00000000
--- a/src/imports/controls/universal/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Universal Style
-
-This style is based on the [Microsoft Universal Design Guidelines](https://dev.windows.com/design).
-
-The colors and metrics used all around the QML and C++ files originate from the Windows 10 SDK. The files are called **generic.xaml** and **themeresources.xml**, and they are located in the following folder:
-
- \(Program Files)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\<SDK version>\Generic
-
-See also [XAML theme resources](https://msdn.microsoft.com/en-us/library/windows/apps/mt187274.aspx).
diff --git a/src/imports/controls/universal/RadioButton.qml b/src/imports/controls/universal/RadioButton.qml
deleted file mode 100644
index a50cdf9b..00000000
--- a/src/imports/controls/universal/RadioButton.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.RadioButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 8
-
- property bool useSystemFocusVisuals: true
-
- indicator: RadioIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
-
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
-}
diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml
deleted file mode 100644
index 9fc910f3..00000000
--- a/src/imports/controls/universal/RadioDelegate.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.RadioDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- indicator: RadioIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: !control.mirrored ? 0 : control.indicator.width + control.spacing
- rightPadding: control.mirrored ? 0 : control.indicator.width + control.spacing
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- visible: control.down || control.highlighted || control.visualFocus || control.hovered
- color: control.down ? control.Universal.listMediumColor :
- control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.visualFocus || control.highlighted
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
-
- }
-}
diff --git a/src/imports/controls/universal/RadioIndicator.qml b/src/imports/controls/universal/RadioIndicator.qml
deleted file mode 100644
index 1a32decb..00000000
--- a/src/imports/controls/universal/RadioIndicator.qml
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Controls.Universal 2.12
-
-Rectangle {
- id: indicator
- implicitWidth: 20
- implicitHeight: 20
- radius: width / 2
- color: "transparent"
- border.width: 2 // RadioButtonBorderThemeThickness
- border.color: control.checked ? "transparent" :
- !control.enabled ? control.Universal.baseLowColor :
- control.down ? control.Universal.baseMediumColor :
- control.hovered ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor
-
- property var control
-
- Rectangle {
- id: checkOuterEllipse
- width: parent.width
- height: parent.height
-
- radius: width / 2
- opacity: indicator.control.checked ? 1 : 0
- color: "transparent"
- border.width: 2 // RadioButtonBorderThemeThickness
- border.color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor :
- indicator.control.down ? indicator.control.Universal.baseMediumColor : indicator.control.Universal.accent
- }
-
- Rectangle {
- id: checkGlyph
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- width: parent.width / 2
- height: parent.height / 2
-
- radius: width / 2
- opacity: indicator.control.checked ? 1 : 0
- color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor :
- indicator.control.down ? indicator.control.Universal.baseMediumColor :
- indicator.control.hovered ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumHighColor
- }
-}
diff --git a/src/imports/controls/universal/RangeSlider.qml b/src/imports/controls/universal/RangeSlider.qml
deleted file mode 100644
index f2e4d71e..00000000
--- a/src/imports/controls/universal/RangeSlider.qml
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.RangeSlider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- first.implicitHandleWidth + leftPadding + rightPadding,
- second.implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- first.implicitHandleHeight + topPadding + bottomPadding,
- second.implicitHandleHeight + topPadding + bottomPadding)
-
- padding: 6
-
- first.handle: Rectangle {
- implicitWidth: control.horizontal ? 8 : 24
- implicitHeight: control.horizontal ? 24 : 8
-
- x: control.leftPadding + (control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height))
-
- radius: 4
- color: control.first.pressed ? control.Universal.chromeHighColor :
- control.first.hovered ? control.Universal.chromeAltLowColor :
- control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor
- }
-
- second.handle: Rectangle {
- implicitWidth: control.horizontal ? 8 : 24
- implicitHeight: control.horizontal ? 24 : 8
-
- x: control.leftPadding + (control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height))
-
- radius: 4
- color: control.second.pressed ? control.Universal.chromeHighColor :
- control.second.hovered ? control.Universal.chromeAltLowColor :
- control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor
- }
-
- background: Item {
- implicitWidth: control.horizontal ? 200 : 18
- implicitHeight: control.horizontal ? 18 : 200
-
- x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
- width: control.horizontal ? control.availableWidth : implicitWidth
- height: control.horizontal ? implicitHeight : control.availableHeight
-
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- Rectangle {
- x: control.horizontal ? 0 : (parent.width - width) / 2
- y: control.horizontal ? (parent.height - height) / 2 : 0
- width: control.horizontal ? parent.width : 2 // SliderBackgroundThemeHeight
- height: control.vertical ? parent.height : 2 // SliderBackgroundThemeHeight
-
- color: control.hovered && !control.pressed ? control.Universal.baseMediumColor :
- control.enabled ? control.Universal.baseMediumLowColor : control.Universal.chromeDisabledHighColor
- }
-
- Rectangle {
- x: control.horizontal ? control.first.position * parent.width : (parent.width - width) / 2
- y: control.horizontal ? (parent.height - height) / 2 : control.second.visualPosition * parent.height
- width: control.horizontal ? control.second.position * parent.width - control.first.position * parent.width : 2 // SliderBackgroundThemeHeight
- height: control.vertical ? control.second.position * parent.height - control.first.position * parent.height : 2 // SliderBackgroundThemeHeight
-
- color: control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor
- }
- }
-}
diff --git a/src/imports/controls/universal/RoundButton.qml b/src/imports/controls/universal/RoundButton.qml
deleted file mode 100644
index 2eedf96e..00000000
--- a/src/imports/controls/universal/RoundButton.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.RoundButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 8
- spacing: 8
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- property bool useSystemFocusVisuals: true
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- implicitWidth: 32
- implicitHeight: 32
-
- radius: control.radius
- visible: !control.flat || control.down || control.checked || control.highlighted
- color: control.down ? control.Universal.baseMediumLowColor :
- control.enabled && (control.highlighted || control.checked) ? control.Universal.accent :
- control.Universal.baseLowColor
-
- Rectangle {
- width: parent.width
- height: parent.height
- radius: control.radius
- color: "transparent"
- visible: control.hovered
- border.width: 2 // ButtonBorderThemeThickness
- border.color: control.Universal.baseMediumLowColor
- }
- }
-}
diff --git a/src/imports/controls/universal/ScrollBar.qml b/src/imports/controls/universal/ScrollBar.qml
deleted file mode 100644
index 8b8e325d..00000000
--- a/src/imports/controls/universal/ScrollBar.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.ScrollBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- visible: control.policy !== T.ScrollBar.AlwaysOff
- minimumSize: orientation == Qt.Horizontal ? height / width : width / height
-
- // TODO: arrows
-
- contentItem: Rectangle {
- implicitWidth: control.interactive ? 12 : 6
- implicitHeight: control.interactive ? 12: 6
-
- color: control.pressed ? control.Universal.baseMediumColor :
- control.interactive && control.hovered ? control.Universal.baseMediumLowColor : control.Universal.chromeHighColor
- opacity: 0.0
- }
-
- background: Rectangle {
- implicitWidth: control.interactive ? 12 : 6
- implicitHeight: control.interactive ? 12: 6
-
- color: control.Universal.chromeLowColor
- visible: control.size < 1.0
- opacity: 0.0
- }
-
- states: [
- State {
- name: "active"
- when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
- }
- ]
-
- transitions: [
- Transition {
- to: "active"
- NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 }
- },
- Transition {
- from: "active"
- SequentialAnimation {
- PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 }
- PauseAnimation { duration: 3000 }
- NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 }
- }
- }
- ]
-}
diff --git a/src/imports/controls/universal/ScrollIndicator.qml b/src/imports/controls/universal/ScrollIndicator.qml
deleted file mode 100644
index ab66ee7c..00000000
--- a/src/imports/controls/universal/ScrollIndicator.qml
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.ScrollIndicator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- contentItem: Rectangle {
- implicitWidth: 6
- implicitHeight: 6
-
- color: control.Universal.baseMediumLowColor
- visible: control.size < 1.0
- opacity: 0.0
-
- states: [
- State {
- name: "active"
- when: control.active
- }
- ]
-
- transitions: [
- Transition {
- to: "active"
- NumberAnimation { target: control.contentItem; property: "opacity"; to: 1.0 }
- },
- Transition {
- from: "active"
- SequentialAnimation {
- PauseAnimation { duration: 5000 }
- NumberAnimation { target: control.contentItem; property: "opacity"; to: 0.0 }
- }
- }
- ]
- }
-}
diff --git a/src/imports/controls/universal/Slider.qml b/src/imports/controls/universal/Slider.qml
deleted file mode 100644
index 8f427b1e..00000000
--- a/src/imports/controls/universal/Slider.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.Slider {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitHandleWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitHandleHeight + topPadding + bottomPadding)
-
- padding: 6
-
- property bool useSystemFocusVisuals: true
-
- handle: Rectangle {
- implicitWidth: control.horizontal ? 8 : 24
- implicitHeight: control.horizontal ? 24 : 8
-
- x: control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))
-
- radius: 4
- color: control.pressed ? control.Universal.chromeHighColor :
- control.hovered ? control.Universal.chromeAltLowColor :
- control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor
- }
-
- background: Item {
- implicitWidth: control.horizontal ? 200 : 18
- implicitHeight: control.horizontal ? 18 : 200
-
- x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
- width: control.horizontal ? control.availableWidth : implicitWidth
- height: control.horizontal ? implicitHeight : control.availableHeight
-
- scale: control.horizontal && control.mirrored ? -1 : 1
-
- Rectangle {
- x: control.horizontal ? 0 : (parent.width - width) / 2
- y: control.horizontal ? (parent.height - height) / 2 : 0
- width: control.horizontal ? parent.width : 2 // SliderTrackThemeHeight
- height: !control.horizontal ? parent.height : 2 // SliderTrackThemeHeight
-
- color: control.hovered && !control.pressed ? control.Universal.baseMediumColor :
- control.enabled ? control.Universal.baseMediumLowColor : control.Universal.chromeDisabledHighColor
- }
-
- Rectangle {
- x: control.horizontal ? 0 : (parent.width - width) / 2
- y: control.horizontal ? (parent.height - height) / 2 : control.visualPosition * parent.height
- width: control.horizontal ? control.position * parent.width : 2 // SliderTrackThemeHeight
- height: !control.horizontal ? control.position * parent.height : 2 // SliderTrackThemeHeight
-
- color: control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor
- }
- }
-}
diff --git a/src/imports/controls/universal/SpinBox.qml b/src/imports/controls/universal/SpinBox.qml
deleted file mode 100644
index dfe927f5..00000000
--- a/src/imports/controls/universal/SpinBox.qml
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.SpinBox {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentItem.implicitWidth + 16 +
- up.implicitIndicatorWidth +
- down.implicitIndicatorWidth)
- implicitHeight: Math.max(implicitContentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight,
- up.implicitIndicatorHeight,
- down.implicitIndicatorHeight)
-
- // TextControlThemePadding + 2 (border)
- padding: 12
- topPadding: padding - 7
- leftPadding: padding + (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
- rightPadding: padding - 4 + (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
- bottomPadding: padding - 5
-
- Universal.theme: activeFocus ? Universal.Light : undefined
-
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
-
- contentItem: TextInput {
- text: control.displayText
-
- font: control.font
- color: !enabled ? control.Universal.chromeDisabledLowColor :
- activeFocus ? control.Universal.chromeBlackHighColor : control.Universal.foreground
- selectionColor: control.Universal.accent
- selectedTextColor: control.Universal.chromeWhiteColor
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: TextInput.AlignVCenter
-
- readOnly: !control.editable
- validator: control.validator
- inputMethodHints: control.inputMethodHints
- }
-
- up.indicator: Item {
- implicitWidth: 28
- height: parent.height + 4
- y: -2
- x: control.mirrored ? 0 : parent.width - width
-
- Rectangle {
- x: 2; y: 4
- width: parent.width - 4
- height: parent.height - 8
- color: control.activeFocus ? control.Universal.accent :
- control.up.pressed ? control.Universal.baseMediumLowColor :
- control.up.hovered ? control.Universal.baseLowColor : "transparent"
- visible: control.up.pressed || control.up.hovered
- opacity: control.activeFocus && !control.up.pressed ? 0.4 : 1.0
- }
-
- ColorImage {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- color: !enabled ? control.Universal.chromeDisabledLowColor :
- control.activeFocus ? control.Universal.chromeBlackHighColor : control.Universal.baseHighColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/" + (control.mirrored ? "left" : "right") + "arrow.png"
- }
- }
-
- down.indicator: Item {
- implicitWidth: 28
- height: parent.height + 4
- y: -2
- x: control.mirrored ? parent.width - width : 0
-
- Rectangle {
- x: 2; y: 4
- width: parent.width - 4
- height: parent.height - 8
- color: control.activeFocus ? control.Universal.accent :
- control.down.pressed ? control.Universal.baseMediumLowColor :
- control.down.hovered ? control.Universal.baseLowColor : "transparent"
- visible: control.down.pressed || control.down.hovered
- opacity: control.activeFocus && !control.down.pressed ? 0.4 : 1.0
- }
-
- ColorImage {
- x: (parent.width - width) / 2
- y: (parent.height - height) / 2
- color: !enabled ? control.Universal.chromeDisabledLowColor :
- control.activeFocus ? control.Universal.chromeBlackHighColor : control.Universal.baseHighColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/" + (control.mirrored ? "right" : "left") + "arrow.png"
- }
- }
-
- background: Rectangle {
- implicitWidth: 60 + 28 // TextControlThemeMinWidth - 4 (border)
- implicitHeight: 28 // TextControlThemeMinHeight - 4 (border)
-
- border.width: 2 // TextControlBorderThemeThickness
- border.color: !control.enabled ? control.Universal.baseLowColor :
- control.activeFocus ? control.Universal.accent :
- control.hovered ? control.Universal.baseMediumColor : control.Universal.chromeDisabledLowColor
- color: control.enabled ? control.Universal.background : control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/SplitView.qml b/src/imports/controls/universal/SplitView.qml
deleted file mode 100644
index a4ed22dd..00000000
--- a/src/imports/controls/universal/SplitView.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.13
-import QtQuick.Templates 2.13 as T
-import QtQuick.Controls 2.13
-import QtQuick.Controls.impl 2.13
-import QtQuick.Controls.Universal 2.13
-
-T.SplitView {
- id: control
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- handle: Rectangle {
- implicitWidth: control.orientation === Qt.Horizontal ? 6 : control.width
- implicitHeight: control.orientation === Qt.Horizontal ? control.height : 6
- color: T.SplitHandle.pressed ? control.Universal.baseMediumColor
- : (T.SplitHandle.hovered ? control.Universal.baseMediumLowColor : control.Universal.chromeHighColor)
- }
-}
diff --git a/src/imports/controls/universal/StackView.qml b/src/imports/controls/universal/StackView.qml
deleted file mode 100644
index 5a3f7751..00000000
--- a/src/imports/controls/universal/StackView.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.StackView {
- id: control
-
- popEnter: Transition {
- ParallelAnimation {
- NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 200; easing.type: Easing.InQuint }
- NumberAnimation { property: "x"; from: (control.mirrored ? -0.3 : 0.3) * -control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
- }
-
- popExit: Transition {
- NumberAnimation { property: "opacity"; from: 1; to: 0; duration: 200; easing.type: Easing.OutQuint }
- }
-
- pushEnter: Transition {
- ParallelAnimation {
- NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 200; easing.type: Easing.InQuint }
- NumberAnimation { property: "x"; from: (control.mirrored ? -0.3 : 0.3) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
- }
-
- pushExit: Transition {
- NumberAnimation { property: "opacity"; from: 1; to: 0; duration: 200; easing.type: Easing.OutQuint }
- }
-
- replaceEnter: Transition {
- ParallelAnimation {
- NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 200; easing.type: Easing.InQuint }
- NumberAnimation { property: "x"; from: (control.mirrored ? -0.3 : 0.3) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
- }
- }
-
- replaceExit: Transition {
- NumberAnimation { property: "opacity"; from: 1; to: 0; duration: 200; easing.type: Easing.OutQuint }
- }
-}
diff --git a/src/imports/controls/universal/SwipeDelegate.qml b/src/imports/controls/universal/SwipeDelegate.qml
deleted file mode 100644
index 066049a7..00000000
--- a/src/imports/controls/universal/SwipeDelegate.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.SwipeDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } }
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- color: control.Universal.background
-
- Rectangle {
- width: parent.width
- height: parent.height
- color: control.down ? control.Universal.listMediumColor :
- control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.visualFocus || control.highlighted
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
- }
- }
-}
diff --git a/src/imports/controls/universal/Switch.qml b/src/imports/controls/universal/Switch.qml
deleted file mode 100644
index 284b1229..00000000
--- a/src/imports/controls/universal/Switch.qml
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.Switch {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 5
- spacing: 8
-
- property bool useSystemFocusVisuals: true
-
- indicator: SwitchIndicator {
- x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: Text {
- leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
- rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
-
- text: control.text
- font: control.font
- elide: Text.ElideRight
- verticalAlignment: Text.AlignVCenter
-
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
-}
diff --git a/src/imports/controls/universal/SwitchDelegate.qml b/src/imports/controls/universal/SwitchDelegate.qml
deleted file mode 100644
index 56ba8494..00000000
--- a/src/imports/controls/universal/SwitchDelegate.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls.Universal.impl 2.12
-
-T.SwitchDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- indicator: SwitchIndicator {
- x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
- y: control.topPadding + (control.availableHeight - height) / 2
- control: control
- }
-
- contentItem: IconLabel {
- leftPadding: !control.mirrored ? 0 : control.indicator.width + control.spacing
- rightPadding: control.mirrored ? 0 : control.indicator.width + control.spacing
-
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
- alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- visible: control.down || control.highlighted || control.visualFocus || control.hovered
- color: control.down ? control.Universal.listMediumColor :
- control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.visualFocus || control.highlighted
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
-
- }
-}
diff --git a/src/imports/controls/universal/SwitchIndicator.qml b/src/imports/controls/universal/SwitchIndicator.qml
deleted file mode 100644
index 10f39515..00000000
--- a/src/imports/controls/universal/SwitchIndicator.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-Item {
- id: indicator
- implicitWidth: 44
- implicitHeight: 20
-
- Rectangle {
- width: parent.width
- height: parent.height
-
- radius: 10
- color: !indicator.control.enabled ? "transparent" :
- indicator.control.pressed ? indicator.control.Universal.baseMediumColor :
- indicator.control.checked ? indicator.control.Universal.accent : "transparent"
- border.color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor :
- indicator.control.checked && !indicator.control.pressed ? indicator.control.Universal.accent :
- indicator.control.hovered && !indicator.control.checked && !indicator.control.pressed ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumColor
- opacity: indicator.control.hovered && indicator.control.checked && !indicator.control.pressed ? (indicator.control.Universal.theme === Universal.Light ? 0.7 : 0.9) : 1.0
- border.width: 2
- }
-
- property Item control
-
- Rectangle {
- width: 10
- height: 10
- radius: 5
-
- color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor :
- indicator.control.pressed || indicator.control.checked ? indicator.control.Universal.chromeWhiteColor :
- indicator.control.hovered && !indicator.control.checked ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumHighColor
-
- x: Math.max(5, Math.min(parent.width - width - 5,
- indicator.control.visualPosition * parent.width - (width / 2)))
- y: (parent.height - height) / 2
-
- Behavior on x {
- enabled: !indicator.control.pressed
- SmoothedAnimation { velocity: 200 }
- }
- }
-}
diff --git a/src/imports/controls/universal/TabBar.qml b/src/imports/controls/universal/TabBar.qml
deleted file mode 100644
index ab660c93..00000000
--- a/src/imports/controls/universal/TabBar.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.TabBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- contentItem: PathView {
- model: control.contentModel
- currentIndex: control.currentIndex
-
- interactive: false
- snapMode: PathView.SnapToItem
- movementDirection: PathView.Positive
- highlightMoveDuration: 100
-
- path: Path {
- startX: control.count ? control.availableWidth / control.count / 2 : 0
- startY: control.availableHeight / 2
- PathLine {
- x: control.count ? control.availableWidth + (control.availableWidth / control.count / 2) : 0
- y: control.availableHeight / 2
- }
- }
- }
-
- background: Rectangle {
- implicitWidth: 200
- implicitHeight: 48
- color: control.Universal.background
- }
-}
diff --git a/src/imports/controls/universal/TabButton.qml b/src/imports/controls/universal/TabButton.qml
deleted file mode 100644
index 66e3d725..00000000
--- a/src/imports/controls/universal/TabButton.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.TabButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 12 // PivotItemMargin
- spacing: 8
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(control.hovered ? control.Universal.baseMediumHighColor : control.Universal.foreground,
- control.checked || control.down || control.hovered ? 1.0 : 0.2)
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.hovered ? control.Universal.baseMediumHighColor : control.Universal.foreground,
- control.checked || control.down || control.hovered ? 1.0 : 0.2)
- }
-}
diff --git a/src/imports/controls/universal/TextArea.qml b/src/imports/controls/universal/TextArea.qml
deleted file mode 100644
index 03ad4a89..00000000
--- a/src/imports/controls/universal/TextArea.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.TextArea {
- id: control
-
- implicitWidth: Math.max(contentWidth + leftPadding + rightPadding,
- implicitBackgroundWidth + leftInset + rightInset,
- placeholder.implicitWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
- implicitBackgroundHeight + topInset + bottomInset,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- // TextControlThemePadding + 2 (border)
- padding: 12
- topPadding: padding - 7
- rightPadding: padding - 4
- bottomPadding: padding - 5
-
- Universal.theme: activeFocus ? Universal.Light : undefined
-
- color: !enabled ? Universal.chromeDisabledLowColor : Universal.foreground
- selectionColor: Universal.accent
- selectedTextColor: Universal.chromeWhiteColor
- placeholderTextColor: !enabled ? Universal.chromeDisabledLowColor :
- activeFocus ? Universal.chromeBlackMediumLowColor :
- Universal.baseMediumColor
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- verticalAlignment: control.verticalAlignment
- elide: Text.ElideRight
- renderType: control.renderType
- }
-
- background: Rectangle {
- implicitWidth: 60 // TextControlThemeMinWidth - 4 (border)
- implicitHeight: 28 // TextControlThemeMinHeight - 4 (border)
-
- border.width: 2 // TextControlBorderThemeThickness
- border.color: !control.enabled ? control.Universal.baseLowColor :
- control.activeFocus ? control.Universal.accent :
- control.hovered ? control.Universal.baseMediumColor : control.Universal.chromeDisabledLowColor
- color: control.enabled ? control.Universal.background : control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/TextField.qml b/src/imports/controls/universal/TextField.qml
deleted file mode 100644
index ba5bf685..00000000
--- a/src/imports/controls/universal/TextField.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.TextField {
- id: control
-
- implicitWidth: implicitBackgroundWidth + leftInset + rightInset
- || Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding,
- placeholder.implicitHeight + topPadding + bottomPadding)
-
- // TextControlThemePadding + 2 (border)
- padding: 12
- topPadding: padding - 7
- rightPadding: padding - 4
- bottomPadding: padding - 5
-
- Universal.theme: activeFocus ? Universal.Light : undefined
-
- color: !enabled ? Universal.chromeDisabledLowColor : Universal.foreground
- selectionColor: Universal.accent
- selectedTextColor: Universal.chromeWhiteColor
- placeholderTextColor: !enabled ? Universal.chromeDisabledLowColor :
- activeFocus ? Universal.chromeBlackMediumLowColor :
- Universal.baseMediumColor
- verticalAlignment: TextInput.AlignVCenter
-
- PlaceholderText {
- id: placeholder
- x: control.leftPadding
- y: control.topPadding
- width: control.width - (control.leftPadding + control.rightPadding)
- height: control.height - (control.topPadding + control.bottomPadding)
-
- text: control.placeholderText
- font: control.font
- color: control.placeholderTextColor
- visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
- verticalAlignment: control.verticalAlignment
- elide: Text.ElideRight
- renderType: control.renderType
- }
-
- background: Rectangle {
- implicitWidth: 60 // TextControlThemeMinWidth - 4 (border)
- implicitHeight: 28 // TextControlThemeMinHeight - 4 (border)
-
- border.width: 2 // TextControlBorderThemeThickness
- border.color: !control.enabled ? control.Universal.baseLowColor :
- control.activeFocus ? control.Universal.accent :
- control.hovered ? control.Universal.baseMediumColor : control.Universal.chromeDisabledLowColor
- color: control.enabled ? control.Universal.background : control.Universal.baseLowColor
- }
-}
diff --git a/src/imports/controls/universal/ToolBar.qml b/src/imports/controls/universal/ToolBar.qml
deleted file mode 100644
index 5a385e8e..00000000
--- a/src/imports/controls/universal/ToolBar.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.ToolBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- background: Rectangle {
- implicitHeight: 48 // AppBarThemeCompactHeight
- color: control.Universal.chromeMediumColor
- }
-}
diff --git a/src/imports/controls/universal/ToolButton.qml b/src/imports/controls/universal/ToolButton.qml
deleted file mode 100644
index f36dac22..00000000
--- a/src/imports/controls/universal/ToolButton.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Controls.Universal 2.12
-
-T.ToolButton {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 8
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
-
- property bool useSystemFocusVisuals: true
-
- contentItem: IconLabel {
- spacing: control.spacing
- mirrored: control.mirrored
- display: control.display
-
- icon: control.icon
- text: control.text
- font: control.font
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- }
-
- background: Rectangle {
- implicitWidth: 68
- implicitHeight: 48 // AppBarThemeCompactHeight
-
- color: control.enabled && (control.highlighted || control.checked) ? control.Universal.accent : "transparent"
-
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.down || control.hovered
- color: control.down ? control.Universal.listMediumColor : control.Universal.listLowColor
- }
- }
-}
diff --git a/src/imports/controls/universal/ToolSeparator.qml b/src/imports/controls/universal/ToolSeparator.qml
deleted file mode 100644
index ee8e6e1c..00000000
--- a/src/imports/controls/universal/ToolSeparator.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.ToolSeparator {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
-
- leftPadding: vertical ? 16 : 12
- rightPadding: vertical ? 15 : 12
- topPadding: vertical ? 12 : 16
- bottomPadding: vertical ? 12 : 15
-
- contentItem: Rectangle {
- implicitWidth: vertical ? 1 : 20
- implicitHeight: vertical ? 20 : 1
- color: control.Universal.baseMediumLowColor
- }
-}
diff --git a/src/imports/controls/universal/ToolTip.qml b/src/imports/controls/universal/ToolTip.qml
deleted file mode 100644
index cf7325b6..00000000
--- a/src/imports/controls/universal/ToolTip.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-
-T.ToolTip {
- id: control
-
- x: parent ? (parent.width - implicitWidth) / 2 : 0
- y: -implicitHeight - 16
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding)
-
- margins: 8
- padding: 8
- topPadding: padding - 3
- bottomPadding: padding - 1
-
- closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent
-
- contentItem: Text {
- text: control.text
- font: control.font
- // TODO: wrapMode: Label.Wrap
- opacity: enabled ? 1.0 : 0.2
- color: control.Universal.foreground
- }
-
- background: Rectangle {
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // ToolTipBorderThemeThickness
- }
-}
diff --git a/src/imports/controls/universal/Tumbler.qml b/src/imports/controls/universal/Tumbler.qml
deleted file mode 100644
index d0e7b12f..00000000
--- a/src/imports/controls/universal/Tumbler.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-
-T.Tumbler {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6
-
- delegate: Text {
- text: modelData
- font: control.font
- color: control.Universal.foreground
- opacity: (1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- contentItem: TumblerView {
- implicitWidth: 60
- implicitHeight: 200
- model: control.model
- delegate: control.delegate
- path: Path {
- startX: control.contentItem.width / 2
- startY: -control.contentItem.delegateHeight / 2
- PathLine {
- x: control.contentItem.width / 2
- y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2
- }
- }
-
- property real delegateHeight: control.availableHeight / control.visibleItemCount
- }
-}
diff --git a/src/imports/controls/universal/dependencies.json b/src/imports/controls/universal/dependencies.json
deleted file mode 100644
index 21ded052..00000000
--- a/src/imports/controls/universal/dependencies.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- {
- "name": "QtQuick.Controls",
- "type": "module",
- "version": "2.0"
- }
-]
diff --git a/src/imports/controls/universal/images/checkmark.png b/src/imports/controls/universal/images/checkmark.png
deleted file mode 100644
index 4397f3b4..00000000
--- a/src/imports/controls/universal/images/checkmark.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/checkmark@2x.png b/src/imports/controls/universal/images/checkmark@2x.png
deleted file mode 100644
index 1e3a41fc..00000000
--- a/src/imports/controls/universal/images/checkmark@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/checkmark@3x.png b/src/imports/controls/universal/images/checkmark@3x.png
deleted file mode 100644
index d69ebb2e..00000000
--- a/src/imports/controls/universal/images/checkmark@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/checkmark@4x.png b/src/imports/controls/universal/images/checkmark@4x.png
deleted file mode 100644
index 0837c6a5..00000000
--- a/src/imports/controls/universal/images/checkmark@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/downarrow.png b/src/imports/controls/universal/images/downarrow.png
deleted file mode 100644
index 9ac84a23..00000000
--- a/src/imports/controls/universal/images/downarrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/downarrow@2x.png b/src/imports/controls/universal/images/downarrow@2x.png
deleted file mode 100644
index 8dafab94..00000000
--- a/src/imports/controls/universal/images/downarrow@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/downarrow@3x.png b/src/imports/controls/universal/images/downarrow@3x.png
deleted file mode 100644
index 17ab1cf8..00000000
--- a/src/imports/controls/universal/images/downarrow@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/downarrow@4x.png b/src/imports/controls/universal/images/downarrow@4x.png
deleted file mode 100644
index 0e145e2d..00000000
--- a/src/imports/controls/universal/images/downarrow@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/leftarrow.png b/src/imports/controls/universal/images/leftarrow.png
deleted file mode 100644
index 2646aafc..00000000
--- a/src/imports/controls/universal/images/leftarrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/leftarrow@2x.png b/src/imports/controls/universal/images/leftarrow@2x.png
deleted file mode 100644
index 500396f7..00000000
--- a/src/imports/controls/universal/images/leftarrow@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/leftarrow@3x.png b/src/imports/controls/universal/images/leftarrow@3x.png
deleted file mode 100644
index 7ae2cafd..00000000
--- a/src/imports/controls/universal/images/leftarrow@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/leftarrow@4x.png b/src/imports/controls/universal/images/leftarrow@4x.png
deleted file mode 100644
index ade9df95..00000000
--- a/src/imports/controls/universal/images/leftarrow@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/rightarrow.png b/src/imports/controls/universal/images/rightarrow.png
deleted file mode 100644
index 2e730d46..00000000
--- a/src/imports/controls/universal/images/rightarrow.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/rightarrow@2x.png b/src/imports/controls/universal/images/rightarrow@2x.png
deleted file mode 100644
index a089d030..00000000
--- a/src/imports/controls/universal/images/rightarrow@2x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/rightarrow@3x.png b/src/imports/controls/universal/images/rightarrow@3x.png
deleted file mode 100644
index 2e8921a9..00000000
--- a/src/imports/controls/universal/images/rightarrow@3x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/images/rightarrow@4x.png b/src/imports/controls/universal/images/rightarrow@4x.png
deleted file mode 100644
index 9ecb8e88..00000000
--- a/src/imports/controls/universal/images/rightarrow@4x.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/universal/plugins.qmltypes b/src/imports/controls/universal/plugins.qmltypes
deleted file mode 100644
index c80ff1d4..00000000
--- a/src/imports/controls/universal/plugins.qmltypes
+++ /dev/null
@@ -1,140 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Controls.Universal 2.13'
-
-Module {
- dependencies: ["QtQuick.Controls 2.0"]
- Component { name: "QQuickAttachedObject"; prototype: "QObject" }
- Component {
- name: "QQuickUniversalBusyIndicator"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.Universal.impl/BusyIndicatorImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "count"; type: "int" }
- Property { name: "color"; type: "QColor" }
- }
- Component {
- name: "QQuickUniversalFocusRectangle"
- defaultProperty: "data"
- prototype: "QQuickPaintedItem"
- exports: ["QtQuick.Controls.Universal.impl/FocusRectangle 2.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickUniversalProgressBar"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Controls.Universal.impl/ProgressBarImpl 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "color"; type: "QColor" }
- Property { name: "progress"; type: "double" }
- Property { name: "indeterminate"; type: "bool" }
- }
- Component {
- name: "QQuickUniversalStyle"
- prototype: "QQuickAttachedObject"
- exports: ["QtQuick.Controls.Universal/Universal 2.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Enum {
- name: "Theme"
- values: {
- "Light": 0,
- "Dark": 1,
- "System": 2
- }
- }
- Enum {
- name: "Color"
- values: {
- "Lime": 0,
- "Green": 1,
- "Emerald": 2,
- "Teal": 3,
- "Cyan": 4,
- "Cobalt": 5,
- "Indigo": 6,
- "Violet": 7,
- "Pink": 8,
- "Magenta": 9,
- "Crimson": 10,
- "Red": 11,
- "Orange": 12,
- "Amber": 13,
- "Yellow": 14,
- "Brown": 15,
- "Olive": 16,
- "Steel": 17,
- "Mauve": 18,
- "Taupe": 19
- }
- }
- Property { name: "theme"; type: "Theme" }
- Property { name: "accent"; type: "QVariant" }
- Property { name: "foreground"; type: "QVariant" }
- Property { name: "background"; type: "QVariant" }
- Property { name: "altHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "altLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "altMediumColor"; type: "QColor"; isReadonly: true }
- Property { name: "altMediumHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "altMediumLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "baseHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "baseLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "baseMediumColor"; type: "QColor"; isReadonly: true }
- Property { name: "baseMediumHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "baseMediumLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeAltLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeBlackHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeBlackLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeBlackMediumLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeBlackMediumColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeDisabledHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeDisabledLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeHighColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeMediumColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeMediumLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "chromeWhiteColor"; type: "QColor"; isReadonly: true }
- Property { name: "listLowColor"; type: "QColor"; isReadonly: true }
- Property { name: "listMediumColor"; type: "QColor"; isReadonly: true }
- Signal { name: "paletteChanged" }
- Method {
- name: "color"
- type: "QColor"
- Parameter { name: "color"; type: "Color" }
- }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Universal.impl/CheckIndicator 2.0"
- exports: ["QtQuick.Controls.Universal.impl/CheckIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- Property { name: "partiallyChecked"; type: "bool"; isReadonly: true }
- }
- Component {
- prototype: "QQuickRectangle"
- name: "QtQuick.Controls.Universal.impl/RadioIndicator 2.0"
- exports: ["QtQuick.Controls.Universal.impl/RadioIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QVariant" }
- }
- Component {
- prototype: "QQuickItem"
- name: "QtQuick.Controls.Universal.impl/SwitchIndicator 2.0"
- exports: ["QtQuick.Controls.Universal.impl/SwitchIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- isComposite: true
- defaultProperty: "data"
- Property { name: "control"; type: "QQuickItem"; isPointer: true }
- }
-}
diff --git a/src/imports/controls/universal/qmldir b/src/imports/controls/universal/qmldir
deleted file mode 100644
index 6870a4e1..00000000
--- a/src/imports/controls/universal/qmldir
+++ /dev/null
@@ -1,4 +0,0 @@
-module QtQuick.Controls.Universal
-plugin qtquickcontrols2universalstyleplugin
-classname QtQuickControls2UniversalStylePlugin
-depends QtQuick.Controls 2.5
diff --git a/src/imports/controls/universal/qquickuniversalbusyindicator.cpp b/src/imports/controls/universal/qquickuniversalbusyindicator.cpp
deleted file mode 100644
index 70170296..00000000
--- a/src/imports/controls/universal/qquickuniversalbusyindicator.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickuniversalbusyindicator_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtCore/qeasingcurve.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const int PhaseCount = 6;
-static const int Interval = 167;
-static const int TotalDuration = 4052;
-
-class QQuickUniversalBusyIndicatorNode : public QQuickAnimatedNode
-{
-public:
- QQuickUniversalBusyIndicatorNode(QQuickUniversalBusyIndicator *item);
-
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- struct Phase {
- Phase() = default;
- Phase(int d, qreal f, qreal t, QEasingCurve::Type c) : duration(d), from(f), to(t), curve(c) { }
- int duration = 0;
- qreal from = 0;
- qreal to = 0;
- QEasingCurve curve = QEasingCurve::Linear;
- };
-
- Phase m_phases[PhaseCount];
-};
-
-QQuickUniversalBusyIndicatorNode::QQuickUniversalBusyIndicatorNode(QQuickUniversalBusyIndicator *item)
- : QQuickAnimatedNode(item)
-{
- setLoopCount(Infinite);
- setDuration(TotalDuration);
- setCurrentTime(item->elapsed());
-
- m_phases[0] = Phase(433, -110, 10, QEasingCurve::BezierSpline);
- m_phases[1] = Phase(767, 10, 93, QEasingCurve::Linear );
- m_phases[2] = Phase(417, 93, 205, QEasingCurve::BezierSpline);
- m_phases[3] = Phase(400, 205, 357, QEasingCurve::BezierSpline);
- m_phases[4] = Phase(766, 357, 439, QEasingCurve::Linear );
- m_phases[5] = Phase(434, 439, 585, QEasingCurve::BezierSpline);
-
- m_phases[0].curve.addCubicBezierSegment(QPointF(0.02, 0.33), QPointF(0.38, 0.77), QPointF(1.00, 1.00));
- m_phases[2].curve.addCubicBezierSegment(QPointF(0.57, 0.17), QPointF(0.95, 0.75), QPointF(1.00, 1.00));
- m_phases[3].curve.addCubicBezierSegment(QPointF(0.00, 0.19), QPointF(0.07, 0.72), QPointF(1.00, 1.00));
- m_phases[5].curve.addCubicBezierSegment(QPointF(0.00, 0.00), QPointF(0.95, 0.37), QPointF(1.00, 1.00));
-}
-
-void QQuickUniversalBusyIndicatorNode::updateCurrentTime(int time)
-{
- int nodeIndex = 0;
- int count = childCount();
- QSGTransformNode *transformNode = static_cast<QSGTransformNode *>(firstChild());
- while (transformNode) {
- Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType);
-
- QSGOpacityNode *opacityNode = static_cast<QSGOpacityNode *>(transformNode->firstChild());
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
-
- int begin = nodeIndex * Interval;
- int end = TotalDuration - (PhaseCount - nodeIndex - 1) * Interval;
-
- bool visible = time >= begin && time <= end;
- opacityNode->setOpacity(visible ? 1.0 : 0.0);
-
- if (visible) {
- int phaseIndex, remain = time, elapsed = 0;
- for (phaseIndex = 0; phaseIndex < PhaseCount - 1; ++phaseIndex) {
- if (remain <= m_phases[phaseIndex].duration + begin)
- break;
- remain -= m_phases[phaseIndex].duration;
- elapsed += m_phases[phaseIndex].duration;
- }
-
- const Phase &phase = m_phases[phaseIndex];
-
- qreal from = phase.from - nodeIndex * count;
- qreal to = phase.to - nodeIndex * count;
- qreal pos = time - elapsed - begin;
-
- qreal value = phase.curve.valueForProgress(pos / phase.duration);
- qreal rotation = from + (to - from) * value;
-
- QMatrix4x4 matrix;
- matrix.rotate(rotation, 0, 0, 1);
- transformNode->setMatrix(matrix);
- }
-
- transformNode = static_cast<QSGTransformNode *>(transformNode->nextSibling());
- ++nodeIndex;
- }
-}
-
-void QQuickUniversalBusyIndicatorNode::sync(QQuickItem *item)
-{
- QQuickUniversalBusyIndicator *indicator = static_cast<QQuickUniversalBusyIndicator *>(item);
- QQuickItemPrivate *d = QQuickItemPrivate::get(item);
-
- QMatrix4x4 matrix;
- matrix.translate(item->width() / 2, item->height() / 2);
- setMatrix(matrix);
-
- qreal size = qMin(item->width(), item->height());
- qreal diameter = size / 10.0;
- qreal radius = diameter / 2;
- qreal offset = (size - diameter * 2) / M_PI;
- const QRectF rect(offset, offset, diameter, diameter);
-
- int count = indicator->count();
- QSGNode *transformNode = firstChild();
- for (int i = 0; i < count; ++i) {
- if (!transformNode) {
- transformNode = new QSGTransformNode;
- appendChildNode(transformNode);
-
- QSGOpacityNode *opacityNode = new QSGOpacityNode;
- transformNode->appendChildNode(opacityNode);
-
- QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setAntialiasing(true);
- opacityNode->appendChildNode(rectNode);
- }
-
- QSGNode *opacityNode = transformNode->firstChild();
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- rectNode->setRect(rect);
- rectNode->setColor(indicator->color());
- rectNode->setRadius(radius);
- rectNode->update();
-
- transformNode = transformNode->nextSibling();
- }
-
- while (transformNode) {
- QSGNode *nextSibling = transformNode->nextSibling();
- delete transformNode;
- transformNode = nextSibling;
- }
-}
-
-QQuickUniversalBusyIndicator::QQuickUniversalBusyIndicator(QQuickItem *parent)
- : QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-int QQuickUniversalBusyIndicator::count() const
-{
- return m_count;
-}
-
-void QQuickUniversalBusyIndicator::setCount(int count)
-{
- if (m_count == count)
- return;
-
- m_count = count;
- update();
-}
-
-QColor QQuickUniversalBusyIndicator::color() const
-{
- return m_color;
-}
-
-void QQuickUniversalBusyIndicator::setColor(const QColor &color)
-{
- if (m_color == color)
- return;
-
- m_color = color;
- update();
-}
-
-int QQuickUniversalBusyIndicator::elapsed() const
-{
- return m_elapsed;
-}
-
-void QQuickUniversalBusyIndicator::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
- if (change == ItemVisibleHasChanged)
- update();
-}
-
-QSGNode *QQuickUniversalBusyIndicator::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *)
-{
- QQuickUniversalBusyIndicatorNode *node = static_cast<QQuickUniversalBusyIndicatorNode *>(oldNode);
- if (isVisible() && width() > 0 && height() > 0) {
- if (!node) {
- node = new QQuickUniversalBusyIndicatorNode(this);
- node->start();
- }
- node->sync(this);
- } else {
- m_elapsed = node ? node->currentTime() : 0;
- delete node;
- node = nullptr;
- }
- return node;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/universal/qquickuniversalbusyindicator_p.h b/src/imports/controls/universal/qquickuniversalbusyindicator_p.h
deleted file mode 100644
index 119091b5..00000000
--- a/src/imports/controls/universal/qquickuniversalbusyindicator_p.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKUNIVERSALBUSYINDICATOR_P_H
-#define QQUICKUNIVERSALBUSYINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/qquickitem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickUniversalBusyIndicator : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(int count READ count WRITE setCount FINAL)
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
-
-public:
- explicit QQuickUniversalBusyIndicator(QQuickItem *parent = nullptr);
-
- int count() const;
- void setCount(int count);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- int elapsed() const;
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
-
-private:
- int m_count = 5;
- int m_elapsed = 0;
- QColor m_color = Qt::black;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickUniversalBusyIndicator)
-
-#endif // QQUICKUNIVERSALBUSYINDICATOR_P_H
diff --git a/src/imports/controls/universal/qquickuniversalfocusrectangle.cpp b/src/imports/controls/universal/qquickuniversalfocusrectangle.cpp
deleted file mode 100644
index 88b78e10..00000000
--- a/src/imports/controls/universal/qquickuniversalfocusrectangle.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickuniversalfocusrectangle_p.h"
-
-#include <QtGui/qpixmap.h>
-#include <QtGui/qpainter.h>
-#include <QtGui/qpixmapcache.h>
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickUniversalFocusRectangle::QQuickUniversalFocusRectangle(QQuickItem *parent)
- : QQuickPaintedItem(parent)
-{
- QQuickItemPrivate::get(this)->setTransparentForPositioner(true);
-}
-
-void QQuickUniversalFocusRectangle::paint(QPainter *painter)
-{
- if (!isVisible() || width() <= 0 || height() <= 0)
- return;
-
- QRect bounds = boundingRect().toAlignedRect();
- const int boundsWidth = bounds.width();
- const int boundsHeight = bounds.width();
- const QString key = QStringLiteral("qquickuniversalfocusrectangle_%1_%2").arg(QString::number(boundsWidth), QString::number(boundsHeight));
-
- QPixmap pixmap(boundsWidth, boundsHeight);
- if (!QPixmapCache::find(key, &pixmap)) {
- bounds.adjust(0, 0, -1, -1);
- pixmap.fill(Qt::transparent);
- QPainter p(&pixmap);
-
- QPen pen;
- pen.setWidth(1);
- pen.setColor(Qt::white);
- p.setPen(pen);
- p.drawRect(bounds);
-
- pen.setColor(Qt::black);
- pen.setDashPattern(QVector<qreal>(2, 1));
- p.setPen(pen);
- p.drawRect(bounds);
-
- QPixmapCache::insert(key, pixmap);
- }
- painter->drawPixmap(0, 0, pixmap);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h b/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h
deleted file mode 100644
index 6bae3b13..00000000
--- a/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKUNIVERSALFOCUSRECTANGLE_P_H
-#define QQUICKUNIVERSALFOCUSRECTANGLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickpainteditem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickUniversalFocusRectangle : public QQuickPaintedItem
-{
- Q_OBJECT
-
-public:
- QQuickUniversalFocusRectangle(QQuickItem *parent = nullptr);
-
- void paint(QPainter *painter) override;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKUNIVERSALFOCUSRECTANGLE_P_H
diff --git a/src/imports/controls/universal/qquickuniversalprogressbar.cpp b/src/imports/controls/universal/qquickuniversalprogressbar.cpp
deleted file mode 100644
index 7d4642c5..00000000
--- a/src/imports/controls/universal/qquickuniversalprogressbar.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickuniversalprogressbar_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtCore/qeasingcurve.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuick/qsgrectanglenode.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const int PhaseCount = 4;
-static const int EllipseCount = 5;
-static const int Interval = 167;
-static const int TotalDuration = 3917;
-static const int VisibleDuration = 3000;
-static const qreal EllipseDiameter = 4;
-static const qreal EllipseOffset = 4;
-static const qreal ContainerAnimationStartPosition = -34; // absolute
-static const qreal ContainerAnimationEndPosition = 0.435222; // relative
-static const qreal EllipseAnimationWellPosition = 0.333333333333333; // relative
-static const qreal EllipseAnimationEndPosition = 0.666666666666667; // relative
-
-class QQuickUniversalProgressBarNode : public QQuickAnimatedNode
-{
-public:
- QQuickUniversalProgressBarNode(QQuickUniversalProgressBar *item);
-
- void updateCurrentTime(int time) override;
- void sync(QQuickItem *item) override;
-
-private:
- struct Phase {
- Phase() = default;
- Phase(int d, qreal f, qreal t) : duration(d), from(f), to(t) { }
- int duration = 0;
- qreal from = 0;
- qreal to = 0;
- };
-
- bool m_indeterminate = false;
- Phase m_borderPhases[PhaseCount];
- Phase m_ellipsePhases[PhaseCount];
-};
-
-QQuickUniversalProgressBarNode::QQuickUniversalProgressBarNode(QQuickUniversalProgressBar *item)
- : QQuickAnimatedNode(item)
-{
- setLoopCount(Infinite);
- setDuration(TotalDuration);
-
- m_borderPhases[0] = Phase( 500, -50, 0);
- m_borderPhases[1] = Phase(1500, 0, 0);
- m_borderPhases[2] = Phase(1000, 0, 100);
- m_borderPhases[3] = Phase( 917, 100, 100);
-
- m_ellipsePhases[0] = Phase(1000, 0, EllipseAnimationWellPosition);
- m_ellipsePhases[1] = Phase(1000, EllipseAnimationWellPosition, EllipseAnimationWellPosition);
- m_ellipsePhases[2] = Phase(1000, EllipseAnimationWellPosition, EllipseAnimationEndPosition);
- m_ellipsePhases[3] = Phase(1000, EllipseAnimationWellPosition, EllipseAnimationEndPosition);
-}
-
-void QQuickUniversalProgressBarNode::updateCurrentTime(int time)
-{
- QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(firstChild());
- Q_ASSERT(!geometryNode || geometryNode->type() == QSGNode::GeometryNodeType);
- if (!geometryNode)
- return;
-
- QSGTransformNode *gridNode = static_cast<QSGTransformNode *>(geometryNode->firstChild());
- Q_ASSERT(!gridNode || gridNode->type() == QSGNode::TransformNodeType);
- if (!gridNode)
- return;
-
- qreal width = geometryNode->rect().width();
- {
- qreal from = ContainerAnimationStartPosition;
- qreal to = from + ContainerAnimationEndPosition * width;
- qreal progress = static_cast<qreal>(time) / TotalDuration;
- qreal dx = from + (to - from) * progress;
-
- QMatrix4x4 matrix;
- matrix.translate(dx, 0);
- gridNode->setMatrix(matrix);
- }
-
- int nodeIndex = 0;
- QSGTransformNode *borderNode = static_cast<QSGTransformNode *>(gridNode->firstChild());
- while (borderNode) {
- Q_ASSERT(borderNode->type() == QSGNode::TransformNodeType);
-
- QSGTransformNode *ellipseNode = static_cast<QSGTransformNode *>(borderNode->firstChild());
- Q_ASSERT(ellipseNode->type() == QSGNode::TransformNodeType);
-
- QSGOpacityNode *opacityNode = static_cast<QSGOpacityNode *>(ellipseNode->firstChild());
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
-
- int begin = nodeIndex * Interval;
- int end = VisibleDuration + nodeIndex * Interval;
-
- bool visible = time >= begin && time <= end;
- opacityNode->setOpacity(visible ? 1.0 : 0.0);
-
- if (visible) {
- {
- int phaseIndex, remain = time, elapsed = 0;
- for (phaseIndex = 0; phaseIndex < PhaseCount - 1; ++phaseIndex) {
- if (remain <= m_borderPhases[phaseIndex].duration + begin)
- break;
- remain -= m_borderPhases[phaseIndex].duration;
- elapsed += m_borderPhases[phaseIndex].duration;
- }
-
- const Phase &phase = m_borderPhases[phaseIndex];
-
- qreal pos = time - elapsed - begin;
- qreal progress = pos / phase.duration;
- qreal dx = phase.from + (phase.to - phase.from) * progress;
-
- QMatrix4x4 matrix;
- matrix.translate(dx, 0);
- borderNode->setMatrix(matrix);
- }
-
- {
- QEasingCurve curve(QEasingCurve::BezierSpline);
- curve.addCubicBezierSegment(QPointF(0.4, 0.0), QPointF(0.6, 1.0), QPointF(1.0, 1.0));
-
- int phaseIndex, remain = time, elapsed = 0;
- for (phaseIndex = 0; phaseIndex < PhaseCount - 1; ++phaseIndex) {
- if (remain <= m_ellipsePhases[phaseIndex].duration + begin)
- break;
- remain -= m_ellipsePhases[phaseIndex].duration;
- elapsed += m_ellipsePhases[phaseIndex].duration;
- }
-
- const Phase &phase = m_ellipsePhases[phaseIndex];
-
- qreal from = phase.from * width;
- qreal to = phase.to * width;
- qreal pos = time - elapsed - begin;
- qreal progress = curve.valueForProgress(pos / phase.duration);
- qreal dx = from + (to - from) * progress;
-
- QMatrix4x4 matrix;
- matrix.translate(dx, 0);
- ellipseNode->setMatrix(matrix);
- }
- }
-
- borderNode = static_cast<QSGTransformNode *>(borderNode->nextSibling());
- ++nodeIndex;
- }
-}
-
-void QQuickUniversalProgressBarNode::sync(QQuickItem *item)
-{
- QQuickUniversalProgressBar *bar = static_cast<QQuickUniversalProgressBar *>(item);
- if (m_indeterminate != bar->isIndeterminate()) {
- m_indeterminate = bar->isIndeterminate();
- if (m_indeterminate)
- start();
- else
- stop();
- }
-
- QQuickItemPrivate *d = QQuickItemPrivate::get(item);
-
- QRectF bounds = item->boundingRect();
- bounds.setHeight(item->implicitHeight());
- bounds.moveTop((item->height() - bounds.height()) / 2.0);
- if (!m_indeterminate)
- bounds.setWidth(bar->progress() * bounds.width());
-
- QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(firstChild());
- if (!geometryNode) {
- geometryNode = item->window()->createRectangleNode();
- appendChildNode(geometryNode);
- }
- geometryNode->setRect(bounds);
- geometryNode->setColor(m_indeterminate ? Qt::transparent : bar->color());
-
- if (!m_indeterminate) {
- while (QSGNode *node = geometryNode->firstChild())
- delete node;
- return;
- }
-
- QSGTransformNode *gridNode = static_cast<QSGTransformNode *>(geometryNode->firstChild());
- if (!gridNode) {
- gridNode = new QSGTransformNode;
- geometryNode->appendChildNode(gridNode);
- }
- Q_ASSERT(gridNode->type() == QSGNode::TransformNodeType);
-
- QSGNode *borderNode = gridNode->firstChild();
- for (int i = 0; i < EllipseCount; ++i) {
- if (!borderNode) {
- borderNode = new QSGTransformNode;
- gridNode->appendChildNode(borderNode);
-
- QSGTransformNode *ellipseNode = new QSGTransformNode;
- borderNode->appendChildNode(ellipseNode);
-
- QSGOpacityNode *opacityNode = new QSGOpacityNode;
- ellipseNode->appendChildNode(opacityNode);
-
- QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setAntialiasing(true);
- rectNode->setRadius(EllipseDiameter / 2);
- opacityNode->appendChildNode(rectNode);
- }
- Q_ASSERT(borderNode->type() == QSGNode::TransformNodeType);
-
- QSGNode *ellipseNode = borderNode->firstChild();
- Q_ASSERT(ellipseNode->type() == QSGNode::TransformNodeType);
-
- QSGNode *opacityNode = ellipseNode->firstChild();
- Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType);
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild());
- Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType);
-
- rectNode->setRect(QRectF((EllipseCount - i - 1) * (EllipseDiameter + EllipseOffset), (item->height() - EllipseDiameter) / 2, EllipseDiameter, EllipseDiameter));
- rectNode->setColor(bar->color());
- rectNode->update();
-
- borderNode = borderNode->nextSibling();
- }
-}
-
-QQuickUniversalProgressBar::QQuickUniversalProgressBar(QQuickItem *parent)
- : QQuickItem(parent)
-{
- setFlag(ItemHasContents);
-}
-
-QColor QQuickUniversalProgressBar::color() const
-{
- return m_color;
-}
-
-void QQuickUniversalProgressBar::setColor(const QColor &color)
-{
- if (m_color == color)
- return;
-
- m_color = color;
- update();
-}
-
-qreal QQuickUniversalProgressBar::progress() const
-{
- return m_progress;
-}
-
-void QQuickUniversalProgressBar::setProgress(qreal progress)
-{
- if (progress == m_progress)
- return;
-
- m_progress = progress;
- update();
-}
-
-bool QQuickUniversalProgressBar::isIndeterminate() const
-{
- return m_indeterminate;
-}
-
-void QQuickUniversalProgressBar::setIndeterminate(bool indeterminate)
-{
- if (indeterminate == m_indeterminate)
- return;
-
- m_indeterminate = indeterminate;
- setClip(m_indeterminate);
- update();
-}
-
-void QQuickUniversalProgressBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
- if (change == ItemVisibleHasChanged)
- update();
-}
-
-QSGNode *QQuickUniversalProgressBar::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *)
-{
- QQuickUniversalProgressBarNode *node = static_cast<QQuickUniversalProgressBarNode *>(oldNode);
- if (isVisible() && width() > 0 && height() > 0) {
- if (!node)
- node = new QQuickUniversalProgressBarNode(this);
- node->sync(this);
- } else {
- delete node;
- node = nullptr;
- }
- return node;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/universal/qquickuniversalprogressbar_p.h b/src/imports/controls/universal/qquickuniversalprogressbar_p.h
deleted file mode 100644
index 449f7965..00000000
--- a/src/imports/controls/universal/qquickuniversalprogressbar_p.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKUNIVERSALPROGRESSBAR_P_H
-#define QQUICKUNIVERSALPROGRESSBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/qquickitem.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickUniversalProgressBar : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
- Q_PROPERTY(qreal progress READ progress WRITE setProgress FINAL)
- Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate FINAL)
-
-public:
- explicit QQuickUniversalProgressBar(QQuickItem *parent = nullptr);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- qreal progress() const;
- void setProgress(qreal progress);
-
- bool isIndeterminate() const;
- void setIndeterminate(bool indeterminate);
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
-
-private:
- QColor m_color = Qt::black;
- qreal m_progress = 0.0;
- bool m_indeterminate = false;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickUniversalProgressBar)
-
-#endif // QQUICKUNIVERSALPROGRESSBAR_P_H
diff --git a/src/imports/controls/universal/qquickuniversalstyle.cpp b/src/imports/controls/universal/qquickuniversalstyle.cpp
deleted file mode 100644
index d46752f3..00000000
--- a/src/imports/controls/universal/qquickuniversalstyle.cpp
+++ /dev/null
@@ -1,618 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickuniversalstyle_p.h"
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qsettings.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuickControls2/private/qquickstyle_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static QRgb qquickuniversal_light_color(QQuickUniversalStyle::SystemColor role)
-{
- static const QRgb colors[] = {
- 0xFFFFFFFF, // SystemAltHighColor
- 0x33FFFFFF, // SystemAltLowColor
- 0x99FFFFFF, // SystemAltMediumColor
- 0xCCFFFFFF, // SystemAltMediumHighColor
- 0x66FFFFFF, // SystemAltMediumLowColor
- 0xFF000000, // SystemBaseHighColor
- 0x33000000, // SystemBaseLowColor
- 0x99000000, // SystemBaseMediumColor
- 0xCC000000, // SystemBaseMediumHighColor
- 0x66000000, // SystemBaseMediumLowColor
- 0xFF171717, // SystemChromeAltLowColor
- 0xFF000000, // SystemChromeBlackHighColor
- 0x33000000, // SystemChromeBlackLowColor
- 0x66000000, // SystemChromeBlackMediumLowColor
- 0xCC000000, // SystemChromeBlackMediumColor
- 0xFFCCCCCC, // SystemChromeDisabledHighColor
- 0xFF7A7A7A, // SystemChromeDisabledLowColor
- 0xFFCCCCCC, // SystemChromeHighColor
- 0xFFF2F2F2, // SystemChromeLowColor
- 0xFFE6E6E6, // SystemChromeMediumColor
- 0xFFF2F2F2, // SystemChromeMediumLowColor
- 0xFFFFFFFF, // SystemChromeWhiteColor
- 0x19000000, // SystemListLowColor
- 0x33000000 // SystemListMediumColor
- };
- return colors[role];
-}
-
-static QRgb qquickuniversal_dark_color(QQuickUniversalStyle::SystemColor role)
-{
- static const QRgb colors[] = {
- 0xFF000000, // SystemAltHighColor
- 0x33000000, // SystemAltLowColor
- 0x99000000, // SystemAltMediumColor
- 0xCC000000, // SystemAltMediumHighColor
- 0x66000000, // SystemAltMediumLowColor
- 0xFFFFFFFF, // SystemBaseHighColor
- 0x33FFFFFF, // SystemBaseLowColor
- 0x99FFFFFF, // SystemBaseMediumColor
- 0xCCFFFFFF, // SystemBaseMediumHighColor
- 0x66FFFFFF, // SystemBaseMediumLowColor
- 0xFFF2F2F2, // SystemChromeAltLowColor
- 0xFF000000, // SystemChromeBlackHighColor
- 0x33000000, // SystemChromeBlackLowColor
- 0x66000000, // SystemChromeBlackMediumLowColor
- 0xCC000000, // SystemChromeBlackMediumColor
- 0xFF333333, // SystemChromeDisabledHighColor
- 0xFF858585, // SystemChromeDisabledLowColor
- 0xFF767676, // SystemChromeHighColor
- 0xFF171717, // SystemChromeLowColor
- 0xFF1F1F1F, // SystemChromeMediumColor
- 0xFF2B2B2B, // SystemChromeMediumLowColor
- 0xFFFFFFFF, // SystemChromeWhiteColor
- 0x19FFFFFF, // SystemListLowColor
- 0x33FFFFFF // SystemListMediumColor
- };
- return colors[role];
-}
-
-static QRgb qquickuniversal_accent_color(QQuickUniversalStyle::Color accent)
-{
- static const QRgb colors[] = {
- 0xFFA4C400, // Lime
- 0xFF60A917, // Green
- 0xFF008A00, // Emerald
- 0xFF00ABA9, // Teal
- 0xFF1BA1E2, // Cyan
- 0xFF3E65FF, // Cobalt
- 0xFF6A00FF, // Indigo
- 0xFFAA00FF, // Violet
- 0xFFF472D0, // Pink
- 0xFFD80073, // Magenta
- 0xFFA20025, // Crimson
- 0xFFE51400, // Red
- 0xFFFA6800, // Orange
- 0xFFF0A30A, // Amber
- 0xFFE3C800, // Yellow
- 0xFF825A2C, // Brown
- 0xFF6D8764, // Olive
- 0xFF647687, // Steel
- 0xFF76608A, // Mauve
- 0xFF87794E // Taupe
- };
- return colors[accent];
-}
-
-static QQuickUniversalStyle::Theme qquickuniversal_effective_theme(QQuickUniversalStyle::Theme theme)
-{
- if (theme == QQuickUniversalStyle::System)
- theme = QQuickStylePrivate::isDarkSystemTheme() ? QQuickUniversalStyle::Dark : QQuickUniversalStyle::Light;
- return theme;
-}
-
-// If no value was inherited from a parent or explicitly set, the "global" values are used.
-// The initial, default values of the globals are hard-coded here, but the environment
-// variables and .conf file override them if specified.
-static QQuickUniversalStyle::Theme GlobalTheme = QQuickUniversalStyle::Light;
-static QRgb GlobalAccent = qquickuniversal_accent_color(QQuickUniversalStyle::Cobalt);
-static QRgb GlobalForeground = qquickuniversal_light_color(QQuickUniversalStyle::BaseHigh);
-static QRgb GlobalBackground = qquickuniversal_light_color(QQuickUniversalStyle::AltHigh);
-// These represent whether a global foreground/background was set.
-// Each style's m_hasForeground/m_hasBackground are initialized to these values.
-static bool HasGlobalForeground = false;
-static bool HasGlobalBackground = false;
-
-QQuickUniversalStyle::QQuickUniversalStyle(QObject *parent) : QQuickAttachedObject(parent),
- m_hasForeground(HasGlobalForeground), m_hasBackground(HasGlobalBackground), m_theme(GlobalTheme),
- m_accent(GlobalAccent), m_foreground(GlobalForeground), m_background(GlobalBackground)
-{
- init();
-}
-
-QQuickUniversalStyle *QQuickUniversalStyle::qmlAttachedProperties(QObject *object)
-{
- return new QQuickUniversalStyle(object);
-}
-
-QQuickUniversalStyle::Theme QQuickUniversalStyle::theme() const
-{
- return m_theme;
-}
-
-void QQuickUniversalStyle::setTheme(Theme theme)
-{
- theme = qquickuniversal_effective_theme(theme);
- m_explicitTheme = true;
- if (m_theme == theme)
- return;
-
- m_theme = theme;
- propagateTheme();
- emit themeChanged();
- emit paletteChanged();
- emit foregroundChanged();
- emit backgroundChanged();
-}
-
-void QQuickUniversalStyle::inheritTheme(Theme theme)
-{
- if (m_explicitTheme || m_theme == theme)
- return;
-
- m_theme = theme;
- propagateTheme();
- emit themeChanged();
- emit paletteChanged();
- emit foregroundChanged();
- emit backgroundChanged();
-}
-
-void QQuickUniversalStyle::propagateTheme()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(child);
- if (universal)
- universal->inheritTheme(m_theme);
- }
-}
-
-void QQuickUniversalStyle::resetTheme()
-{
- if (!m_explicitTheme)
- return;
-
- m_explicitTheme = false;
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(attachedParent());
- inheritTheme(universal ? universal->theme() : GlobalTheme);
-}
-
-QVariant QQuickUniversalStyle::accent() const
-{
- return QColor::fromRgba(m_accent);
-}
-
-void QQuickUniversalStyle::setAccent(const QVariant &var)
-{
- QRgb accent = 0;
- if (!variantToRgba(var, "accent", &accent))
- return;
-
- m_explicitAccent = true;
- if (m_accent == accent)
- return;
-
- m_accent = accent;
- propagateAccent();
- emit accentChanged();
-}
-
-void QQuickUniversalStyle::inheritAccent(QRgb accent)
-{
- if (m_explicitAccent || m_accent == accent)
- return;
-
- m_accent = accent;
- propagateAccent();
- emit accentChanged();
-}
-
-void QQuickUniversalStyle::propagateAccent()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(child);
- if (universal)
- universal->inheritAccent(m_accent);
- }
-}
-
-void QQuickUniversalStyle::resetAccent()
-{
- if (!m_explicitAccent)
- return;
-
- m_explicitAccent = false;
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(attachedParent());
- inheritAccent(universal ? universal->m_accent : GlobalAccent);
-}
-
-QVariant QQuickUniversalStyle::foreground() const
-{
- if (m_hasForeground)
- return QColor::fromRgba(m_foreground);
- return baseHighColor();
-}
-
-void QQuickUniversalStyle::setForeground(const QVariant &var)
-{
- QRgb foreground = 0;
- if (!variantToRgba(var, "foreground", &foreground))
- return;
-
- m_hasForeground = true;
- m_explicitForeground = true;
- if (m_foreground == foreground)
- return;
-
- m_foreground = foreground;
- propagateForeground();
- emit foregroundChanged();
-}
-
-void QQuickUniversalStyle::inheritForeground(QRgb foreground, bool has)
-{
- if (m_explicitForeground || m_foreground == foreground)
- return;
-
- m_hasForeground = has;
- m_foreground = foreground;
- propagateForeground();
- emit foregroundChanged();
-}
-
-void QQuickUniversalStyle::propagateForeground()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(child);
- if (universal)
- universal->inheritForeground(m_foreground, m_hasForeground);
- }
-}
-
-void QQuickUniversalStyle::resetForeground()
-{
- if (!m_explicitForeground)
- return;
-
- m_hasForeground = false;
- m_explicitForeground = false;
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(attachedParent());
- inheritForeground(universal ? universal->m_foreground : GlobalForeground, universal ? universal->m_hasForeground : false);
-}
-
-QVariant QQuickUniversalStyle::background() const
-{
- if (m_hasBackground)
- return QColor::fromRgba(m_background);
- return altHighColor();
-}
-
-void QQuickUniversalStyle::setBackground(const QVariant &var)
-{
- QRgb background = 0;
- if (!variantToRgba(var, "background", &background))
- return;
-
- m_hasBackground = true;
- m_explicitBackground = true;
- if (m_background == background)
- return;
-
- m_background = background;
- propagateBackground();
- emit backgroundChanged();
-}
-
-void QQuickUniversalStyle::inheritBackground(QRgb background, bool has)
-{
- if (m_explicitBackground || m_background == background)
- return;
-
- m_hasBackground = has;
- m_background = background;
- propagateBackground();
- emit backgroundChanged();
-}
-
-void QQuickUniversalStyle::propagateBackground()
-{
- const auto styles = attachedChildren();
- for (QQuickAttachedObject *child : styles) {
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(child);
- if (universal)
- universal->inheritBackground(m_background, m_hasBackground);
- }
-}
-
-void QQuickUniversalStyle::resetBackground()
-{
- if (!m_explicitBackground)
- return;
-
- m_hasBackground = false;
- m_explicitBackground = false;
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(attachedParent());
- inheritBackground(universal ? universal->m_background : GlobalBackground, universal ? universal->m_hasBackground : false);
-}
-
-QColor QQuickUniversalStyle::color(Color color) const
-{
- return qquickuniversal_accent_color(color);
-}
-
-QColor QQuickUniversalStyle::altHighColor() const
-{
- return systemColor(AltHigh);
-}
-
-QColor QQuickUniversalStyle::altLowColor() const
-{
- return systemColor(AltLow);
-}
-
-QColor QQuickUniversalStyle::altMediumColor() const
-{
- return systemColor(AltMedium);
-}
-
-QColor QQuickUniversalStyle::altMediumHighColor() const
-{
- return systemColor(AltMediumHigh);
-}
-
-QColor QQuickUniversalStyle::altMediumLowColor() const
-{
- return systemColor(AltMediumLow);
-}
-
-QColor QQuickUniversalStyle::baseHighColor() const
-{
- return systemColor(BaseHigh);
-}
-
-QColor QQuickUniversalStyle::baseLowColor() const
-{
- return systemColor(BaseLow);
-}
-
-QColor QQuickUniversalStyle::baseMediumColor() const
-{
- return systemColor(BaseMedium);
-}
-
-QColor QQuickUniversalStyle::baseMediumHighColor() const
-{
- return systemColor(BaseMediumHigh);
-}
-
-QColor QQuickUniversalStyle::baseMediumLowColor() const
-{
- return systemColor(BaseMediumLow);
-}
-
-QColor QQuickUniversalStyle::chromeAltLowColor() const
-{
- return systemColor(ChromeAltLow);
-}
-
-QColor QQuickUniversalStyle::chromeBlackHighColor() const
-{
- return systemColor(ChromeBlackHigh);
-}
-
-QColor QQuickUniversalStyle::chromeBlackLowColor() const
-{
- return systemColor(ChromeBlackLow);
-}
-
-QColor QQuickUniversalStyle::chromeBlackMediumLowColor() const
-{
- return systemColor(ChromeBlackMediumLow);
-}
-
-QColor QQuickUniversalStyle::chromeBlackMediumColor() const
-{
- return systemColor(ChromeBlackMedium);
-}
-
-QColor QQuickUniversalStyle::chromeDisabledHighColor() const
-{
- return systemColor(ChromeDisabledHigh);
-}
-
-QColor QQuickUniversalStyle::chromeDisabledLowColor() const
-{
- return systemColor(ChromeDisabledLow);
-}
-
-QColor QQuickUniversalStyle::chromeHighColor() const
-{
- return systemColor(ChromeHigh);
-}
-
-QColor QQuickUniversalStyle::chromeLowColor() const
-{
- return systemColor(ChromeLow);
-}
-
-QColor QQuickUniversalStyle::chromeMediumColor() const
-{
- return systemColor(ChromeMedium);
-}
-
-QColor QQuickUniversalStyle::chromeMediumLowColor() const
-{
- return systemColor(ChromeMediumLow);
-}
-
-QColor QQuickUniversalStyle::chromeWhiteColor() const
-{
- return systemColor(ChromeWhite);
-}
-
-QColor QQuickUniversalStyle::listLowColor() const
-{
- return systemColor(ListLow);
-}
-
-QColor QQuickUniversalStyle::listMediumColor() const
-{
- return systemColor(ListMedium);
-}
-
-QColor QQuickUniversalStyle::systemColor(SystemColor role) const
-{
- return QColor::fromRgba(m_theme == QQuickUniversalStyle::Dark ? qquickuniversal_dark_color(role) : qquickuniversal_light_color(role));
-}
-
-void QQuickUniversalStyle::attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent)
-{
- Q_UNUSED(oldParent);
- QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(newParent);
- if (universal) {
- inheritTheme(universal->theme());
- inheritAccent(universal->m_accent);
- inheritForeground(universal->m_foreground, universal->m_hasForeground);
- inheritBackground(universal->m_background, universal->m_hasBackground);
- }
-}
-
-template <typename Enum>
-static Enum toEnumValue(const QByteArray &value, bool *ok)
-{
- QMetaEnum enumeration = QMetaEnum::fromType<Enum>();
- return static_cast<Enum>(enumeration.keyToValue(value, ok));
-}
-
-static QByteArray resolveSetting(const QByteArray &env, const QSharedPointer<QSettings> &settings, const QString &name)
-{
- QByteArray value = qgetenv(env);
-#if QT_CONFIG(settings)
- if (value.isNull() && !settings.isNull())
- value = settings->value(name).toByteArray();
-#endif
- return value;
-}
-
-void QQuickUniversalStyle::initGlobals()
-{
- QSharedPointer<QSettings> settings = QQuickStylePrivate::settings(QStringLiteral("Universal"));
-
- bool ok = false;
- QByteArray themeValue = resolveSetting("QT_QUICK_CONTROLS_UNIVERSAL_THEME", settings, QStringLiteral("Theme"));
- Theme themeEnum = toEnumValue<Theme>(themeValue, &ok);
- if (ok)
- GlobalTheme = qquickuniversal_effective_theme(themeEnum);
- else if (!themeValue.isEmpty())
- qWarning().nospace().noquote() << "Universal: unknown theme value: " << themeValue;
-
- QByteArray accentValue = resolveSetting("QT_QUICK_CONTROLS_UNIVERSAL_ACCENT", settings, QStringLiteral("Accent"));
- Color accentEnum = toEnumValue<Color>(accentValue, &ok);
- if (ok) {
- GlobalAccent = qquickuniversal_accent_color(accentEnum);
- } else if (!accentValue.isEmpty()) {
- QColor color(accentValue.constData());
- if (color.isValid())
- GlobalAccent = color.rgba();
- else
- qWarning().nospace().noquote() << "Universal: unknown accent value: " << accentValue;
- }
-
- QByteArray foregroundValue = resolveSetting("QT_QUICK_CONTROLS_UNIVERSAL_FOREGROUND", settings, QStringLiteral("Foreground"));
- Color foregroundEnum = toEnumValue<Color>(foregroundValue, &ok);
- if (ok) {
- GlobalForeground = qquickuniversal_accent_color(foregroundEnum);
- HasGlobalForeground = true;
- } else if (!foregroundValue.isEmpty()) {
- QColor color(foregroundValue.constData());
- if (color.isValid()) {
- GlobalForeground = color.rgba();
- HasGlobalForeground = true;
- } else {
- qWarning().nospace().noquote() << "Universal: unknown foreground value: " << foregroundValue;
- }
- }
-
- QByteArray backgroundValue = resolveSetting("QT_QUICK_CONTROLS_UNIVERSAL_BACKGROUND", settings, QStringLiteral("Background"));
- Color backgroundEnum = toEnumValue<Color>(backgroundValue, &ok);
- if (ok) {
- GlobalBackground = qquickuniversal_accent_color(backgroundEnum);
- HasGlobalBackground = true;
- } else if (!backgroundValue.isEmpty()) {
- QColor color(backgroundValue.constData());
- if (color.isValid()) {
- GlobalBackground = color.rgba();
- HasGlobalBackground = true;
- } else {
- qWarning().nospace().noquote() << "Universal: unknown background value: " << backgroundValue;
- }
- }
-}
-
-bool QQuickUniversalStyle::variantToRgba(const QVariant &var, const char *name, QRgb *rgba) const
-{
- if (var.type() == QVariant::Int) {
- int val = var.toInt();
- if (val < Lime || val > Taupe) {
- qmlWarning(parent()) << "unknown Universal." << name << " value: " << val;
- return false;
- }
- *rgba = qquickuniversal_accent_color(static_cast<Color>(val));
- } else {
- int val = QMetaEnum::fromType<Color>().keyToValue(var.toByteArray());
- if (val != -1) {
- *rgba = qquickuniversal_accent_color(static_cast<Color>(val));
- } else {
- QColor color(var.toString());
- if (!color.isValid()) {
- qmlWarning(parent()) << "unknown Universal." << name << " value: " << var.toString();
- return false;
- }
- *rgba = color.rgba();
- }
- }
- return true;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/universal/qquickuniversalstyle_p.h b/src/imports/controls/universal/qquickuniversalstyle_p.h
deleted file mode 100644
index 429621d7..00000000
--- a/src/imports/controls/universal/qquickuniversalstyle_p.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKUNIVERSALSTYLE_P_H
-#define QQUICKUNIVERSALSTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuickControls2/private/qquickattachedobject_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickUniversalStylePrivate;
-
-class QQuickUniversalStyle : public QQuickAttachedObject
-{
- Q_OBJECT
- Q_PROPERTY(Theme theme READ theme WRITE setTheme RESET resetTheme NOTIFY themeChanged FINAL)
- Q_PROPERTY(QVariant accent READ accent WRITE setAccent RESET resetAccent NOTIFY accentChanged FINAL)
- Q_PROPERTY(QVariant foreground READ foreground WRITE setForeground RESET resetForeground NOTIFY foregroundChanged FINAL)
- Q_PROPERTY(QVariant background READ background WRITE setBackground RESET resetBackground NOTIFY backgroundChanged FINAL)
-
- Q_PROPERTY(QColor altHighColor READ altHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor altLowColor READ altLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor altMediumColor READ altMediumColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor altMediumHighColor READ altMediumHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor altMediumLowColor READ altMediumLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor baseHighColor READ baseHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor baseLowColor READ baseLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor baseMediumColor READ baseMediumColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor baseMediumHighColor READ baseMediumHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor baseMediumLowColor READ baseMediumLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeAltLowColor READ chromeAltLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeBlackHighColor READ chromeBlackHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeBlackLowColor READ chromeBlackLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeBlackMediumLowColor READ chromeBlackMediumLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeBlackMediumColor READ chromeBlackMediumColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeDisabledHighColor READ chromeDisabledHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeDisabledLowColor READ chromeDisabledLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeHighColor READ chromeHighColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeLowColor READ chromeLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeMediumColor READ chromeMediumColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeMediumLowColor READ chromeMediumLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor chromeWhiteColor READ chromeWhiteColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor listLowColor READ listLowColor NOTIFY paletteChanged FINAL)
- Q_PROPERTY(QColor listMediumColor READ listMediumColor NOTIFY paletteChanged FINAL)
-
-public:
- explicit QQuickUniversalStyle(QObject *parent = nullptr);
-
- static QQuickUniversalStyle *qmlAttachedProperties(QObject *object);
-
- enum Theme { Light, Dark, System };
- Q_ENUM(Theme)
-
- Theme theme() const;
- void setTheme(Theme theme);
- void inheritTheme(Theme theme);
- void propagateTheme();
- void resetTheme();
-
- enum Color {
- Lime,
- Green,
- Emerald,
- Teal,
- Cyan,
- Cobalt,
- Indigo,
- Violet,
- Pink,
- Magenta,
- Crimson,
- Red,
- Orange,
- Amber,
- Yellow,
- Brown,
- Olive,
- Steel,
- Mauve,
- Taupe
- };
- Q_ENUM(Color)
-
- QVariant accent() const;
- void setAccent(const QVariant &accent);
- void inheritAccent(QRgb accent);
- void propagateAccent();
- void resetAccent();
-
- QVariant foreground() const;
- void setForeground(const QVariant &foreground);
- void inheritForeground(QRgb foreground, bool has);
- void propagateForeground();
- void resetForeground();
-
- QVariant background() const;
- void setBackground(const QVariant &background);
- void inheritBackground(QRgb background, bool has);
- void propagateBackground();
- void resetBackground();
-
- Q_INVOKABLE QColor color(Color color) const;
-
- QColor altHighColor() const;
- QColor altLowColor() const;
- QColor altMediumColor() const;
- QColor altMediumHighColor() const;
- QColor altMediumLowColor() const;
- QColor baseHighColor() const;
- QColor baseLowColor() const;
- QColor baseMediumColor() const;
- QColor baseMediumHighColor() const;
- QColor baseMediumLowColor() const;
- QColor chromeAltLowColor() const;
- QColor chromeBlackHighColor() const;
- QColor chromeBlackLowColor() const;
- QColor chromeBlackMediumLowColor() const;
- QColor chromeBlackMediumColor() const;
- QColor chromeDisabledHighColor() const;
- QColor chromeDisabledLowColor() const;
- QColor chromeHighColor() const;
- QColor chromeLowColor() const;
- QColor chromeMediumColor() const;
- QColor chromeMediumLowColor() const;
- QColor chromeWhiteColor() const;
- QColor listLowColor() const;
- QColor listMediumColor() const;
-
- enum SystemColor {
- AltHigh,
- AltLow,
- AltMedium,
- AltMediumHigh,
- AltMediumLow,
- BaseHigh,
- BaseLow,
- BaseMedium,
- BaseMediumHigh,
- BaseMediumLow,
- ChromeAltLow,
- ChromeBlackHigh,
- ChromeBlackLow,
- ChromeBlackMediumLow,
- ChromeBlackMedium,
- ChromeDisabledHigh,
- ChromeDisabledLow,
- ChromeHigh,
- ChromeLow,
- ChromeMedium,
- ChromeMediumLow,
- ChromeWhite,
- ListLow,
- ListMedium
- };
-
- QColor systemColor(SystemColor role) const;
-
- static void initGlobals();
-
-Q_SIGNALS:
- void themeChanged();
- void accentChanged();
- void foregroundChanged();
- void backgroundChanged();
- void paletteChanged();
-
-protected:
- void attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent) override;
-
-private:
- bool variantToRgba(const QVariant &var, const char *name, QRgb *rgba) const;
-
- // These reflect whether a color value was explicitly set on the specific
- // item that this attached style object represents.
- bool m_explicitTheme = false;
- bool m_explicitAccent = false;
- bool m_explicitForeground = false;
- bool m_explicitBackground = false;
- // These will be true when this item has an explicit or inherited foreground/background
- // color, or these colors were declared globally via settings (e.g. conf or env vars).
- // Some color properties of the style will return different values depending on whether
- // or not these are set.
- bool m_hasForeground = false;
- bool m_hasBackground = false;
- // The actual values for this item, whether explicit, inherited or globally set.
- Theme m_theme = Light;
- QRgb m_accent = Qt::blue;
- QRgb m_foreground = Qt::black;
- QRgb m_background = Qt::white;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPEINFO(QQuickUniversalStyle, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKUNIVERSALSTYLE_P_H
diff --git a/src/imports/controls/universal/qquickuniversaltheme.cpp b/src/imports/controls/universal/qquickuniversaltheme.cpp
deleted file mode 100644
index 041dce9e..00000000
--- a/src/imports/controls/universal/qquickuniversaltheme.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickuniversaltheme_p.h"
-
-#include <QtGui/qfontinfo.h>
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickUniversalTheme::initialize(QQuickTheme *theme)
-{
- QFont systemFont;
- QFont groupBoxTitleFont;
- QFont tabButtonFont;
-
- const QFont font(QLatin1String("Segoe UI"));
- if (QFontInfo(font).family() == QLatin1String("Segoe UI")) {
- const QString family = font.family();
- systemFont.setFamily(family);
- groupBoxTitleFont.setFamily(family);
- tabButtonFont.setFamily(family);
- }
-
- systemFont.setPixelSize(15);
- theme->setFont(QQuickTheme::System, systemFont);
-
- groupBoxTitleFont.setPixelSize(15);
- groupBoxTitleFont.setWeight(QFont::DemiBold);
- theme->setFont(QQuickTheme::GroupBox, groupBoxTitleFont);
-
- tabButtonFont.setPixelSize(24);
- tabButtonFont.setWeight(QFont::Light);
- theme->setFont(QQuickTheme::TabBar, tabButtonFont);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/universal/qquickuniversaltheme_p.h b/src/imports/controls/universal/qquickuniversaltheme_p.h
deleted file mode 100644
index f762d0e3..00000000
--- a/src/imports/controls/universal/qquickuniversaltheme_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKUNIVERSALTHEME_P_H
-#define QQUICKUNIVERSALTHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTheme;
-
-class QQuickUniversalTheme
-{
-public:
- static void initialize(QQuickTheme *theme);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKUNIVERSALTHEME_P_H
diff --git a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp
deleted file mode 100644
index 08cd5001..00000000
--- a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQuickControls2/private/qquickstyleplugin_p.h>
-
-#include "qquickuniversalbusyindicator_p.h"
-#include "qquickuniversalfocusrectangle_p.h"
-#include "qquickuniversalprogressbar_p.h"
-#include "qquickuniversalstyle_p.h"
-#include "qquickuniversaltheme_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QtQuickControls2UniversalStylePlugin: public QQuickStylePlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtQuickControls2UniversalStylePlugin(QObject *parent = nullptr);
-
- void registerTypes(const char *uri) override;
-
- QString name() const override;
- void initializeTheme(QQuickTheme *theme) override;
-};
-
-QtQuickControls2UniversalStylePlugin::QtQuickControls2UniversalStylePlugin(QObject *parent) : QQuickStylePlugin(parent)
-{
- QQuickUniversalStyle::initGlobals();
-}
-
-void QtQuickControls2UniversalStylePlugin::registerTypes(const char *uri)
-{
- qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
- qmlRegisterUncreatableType<QQuickUniversalStyle>(uri, 2, 0, "Universal", tr("Universal is an attached property"));
-
- QByteArray import = QByteArray(uri) + ".impl";
- qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
-
- qmlRegisterType<QQuickUniversalFocusRectangle>(import, 2, 0, "FocusRectangle");
- qmlRegisterType<QQuickUniversalBusyIndicator>(import, 2, 0, "BusyIndicatorImpl");
- qmlRegisterType<QQuickUniversalProgressBar>(import, 2, 0, "ProgressBarImpl");
-
- qmlRegisterType(resolvedUrl(QStringLiteral("CheckIndicator.qml")), import, 2, 0, "CheckIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("RadioIndicator.qml")), import, 2, 0, "RadioIndicator");
- qmlRegisterType(resolvedUrl(QStringLiteral("SwitchIndicator.qml")), import, 2, 0, "SwitchIndicator");
-}
-
-QString QtQuickControls2UniversalStylePlugin::name() const
-{
- return QStringLiteral("Universal");
-}
-
-void QtQuickControls2UniversalStylePlugin::initializeTheme(QQuickTheme *theme)
-{
- QQuickUniversalTheme::initialize(theme);
-}
-
-QT_END_NAMESPACE
-
-#include "qtquickcontrols2universalstyleplugin.moc"
diff --git a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.qrc b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.qrc
deleted file mode 100644
index cd9ea61f..00000000
--- a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.qrc
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="qt-project.org/imports/QtQuick/Controls.2/Universal">
- <file>images/checkmark.png</file>
- <file>images/checkmark@2x.png</file>
- <file>images/checkmark@3x.png</file>
- <file>images/checkmark@4x.png</file>
- <file>images/downarrow.png</file>
- <file>images/downarrow@2x.png</file>
- <file>images/downarrow@3x.png</file>
- <file>images/downarrow@4x.png</file>
- <file>images/leftarrow.png</file>
- <file>images/leftarrow@2x.png</file>
- <file>images/leftarrow@3x.png</file>
- <file>images/leftarrow@4x.png</file>
- <file>images/rightarrow.png</file>
- <file>images/rightarrow@2x.png</file>
- <file>images/rightarrow@3x.png</file>
- <file>images/rightarrow@4x.png</file>
-</qresource>
-</RCC>
diff --git a/src/imports/controls/universal/universal.pri b/src/imports/controls/universal/universal.pri
deleted file mode 100644
index 4440acbf..00000000
--- a/src/imports/controls/universal/universal.pri
+++ /dev/null
@@ -1,65 +0,0 @@
-QML_FILES += \
- $$PWD/ApplicationWindow.qml \
- $$PWD/BusyIndicator.qml \
- $$PWD/Button.qml \
- $$PWD/CheckBox.qml \
- $$PWD/CheckDelegate.qml \
- $$PWD/CheckIndicator.qml \
- $$PWD/ComboBox.qml \
- $$PWD/DelayButton.qml \
- $$PWD/Dial.qml \
- $$PWD/Dialog.qml \
- $$PWD/DialogButtonBox.qml \
- $$PWD/Drawer.qml \
- $$PWD/Frame.qml \
- $$PWD/GroupBox.qml \
- $$PWD/ItemDelegate.qml \
- $$PWD/Label.qml \
- $$PWD/Menu.qml \
- $$PWD/MenuBar.qml \
- $$PWD/MenuBarItem.qml \
- $$PWD/MenuItem.qml \
- $$PWD/MenuSeparator.qml \
- $$PWD/Page.qml \
- $$PWD/PageIndicator.qml \
- $$PWD/Pane.qml \
- $$PWD/Popup.qml \
- $$PWD/ProgressBar.qml \
- $$PWD/RadioButton.qml \
- $$PWD/RadioDelegate.qml \
- $$PWD/RadioIndicator.qml \
- $$PWD/RangeSlider.qml \
- $$PWD/RoundButton.qml \
- $$PWD/ScrollBar.qml \
- $$PWD/ScrollIndicator.qml \
- $$PWD/Slider.qml \
- $$PWD/SpinBox.qml \
- $$PWD/SplitView.qml \
- $$PWD/StackView.qml \
- $$PWD/SwipeDelegate.qml \
- $$PWD/SwitchDelegate.qml \
- $$PWD/SwitchIndicator.qml \
- $$PWD/Switch.qml \
- $$PWD/TabBar.qml \
- $$PWD/TabButton.qml \
- $$PWD/TextArea.qml \
- $$PWD/TextField.qml \
- $$PWD/ToolBar.qml \
- $$PWD/ToolButton.qml \
- $$PWD/ToolSeparator.qml \
- $$PWD/ToolTip.qml \
- $$PWD/Tumbler.qml
-
-HEADERS += \
- $$PWD/qquickuniversalbusyindicator_p.h \
- $$PWD/qquickuniversalfocusrectangle_p.h \
- $$PWD/qquickuniversalprogressbar_p.h \
- $$PWD/qquickuniversalstyle_p.h \
- $$PWD/qquickuniversaltheme_p.h
-
-SOURCES += \
- $$PWD/qquickuniversalbusyindicator.cpp \
- $$PWD/qquickuniversalfocusrectangle.cpp \
- $$PWD/qquickuniversalprogressbar.cpp \
- $$PWD/qquickuniversalstyle.cpp \
- $$PWD/qquickuniversaltheme.cpp
diff --git a/src/imports/controls/universal/universal.pro b/src/imports/controls/universal/universal.pro
deleted file mode 100644
index 99bad4da..00000000
--- a/src/imports/controls/universal/universal.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-TARGET = qtquickcontrols2universalstyleplugin
-TARGETPATH = QtQuick/Controls.2/Universal
-
-IMPORT_NAME = QtQuick.Controls.Universal
-IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-include(universal.pri)
-
-OTHER_FILES += \
- qmldir \
- $$QML_FILES
-
-SOURCES += \
- $$PWD/qtquickcontrols2universalstyleplugin.cpp
-
-RESOURCES += \
- $$PWD/qtquickcontrols2universalstyleplugin.qrc
-
-CONFIG += no_cxx_module install_qml_files builtin_resources qtquickcompiler
-load(qml_plugin)
-
-requires(qtConfig(quickcontrols2-universal))
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
deleted file mode 100644
index e32bded7..00000000
--- a/src/imports/imports.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS += \
- controls \
- calendar \
- platform \
- templates
-
-SUBDIRS += \
- controls/fusion/fusion.pro \
- controls/imagine/imagine.pro \
- controls/material/material.pro \
- controls/universal/universal.pro
diff --git a/src/imports/platform/doc/images/qtlabsplatform-colordialog-gtk.png b/src/imports/platform/doc/images/qtlabsplatform-colordialog-gtk.png
deleted file mode 100644
index e0785a05..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-colordialog-gtk.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-filedialog-gtk.png b/src/imports/platform/doc/images/qtlabsplatform-filedialog-gtk.png
deleted file mode 100644
index 3bc963d0..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-filedialog-gtk.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-folderdialog-gtk.png b/src/imports/platform/doc/images/qtlabsplatform-folderdialog-gtk.png
deleted file mode 100644
index ea4d929d..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-folderdialog-gtk.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-fontdialog-gtk.png b/src/imports/platform/doc/images/qtlabsplatform-fontdialog-gtk.png
deleted file mode 100644
index 9f3dc2e7..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-fontdialog-gtk.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-menu.png b/src/imports/platform/doc/images/qtlabsplatform-menu.png
deleted file mode 100644
index 120d263b..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-menu.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-menubar.png b/src/imports/platform/doc/images/qtlabsplatform-menubar.png
deleted file mode 100644
index 685d03b3..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-menubar.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-messagedialog-android.png b/src/imports/platform/doc/images/qtlabsplatform-messagedialog-android.png
deleted file mode 100644
index a1de1806..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-messagedialog-android.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-messagedialog-informative-android.png b/src/imports/platform/doc/images/qtlabsplatform-messagedialog-informative-android.png
deleted file mode 100644
index 7062ed90..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-messagedialog-informative-android.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-menu.png b/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-menu.png
deleted file mode 100644
index 0d0ecfab..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-menu.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-message.png b/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-message.png
deleted file mode 100644
index d929ca97..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon-message.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon.png b/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon.png
deleted file mode 100644
index 58c40d73..00000000
--- a/src/imports/platform/doc/images/qtlabsplatform-systemtrayicon.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/platform/doc/qtlabsplatform.qdocconf b/src/imports/platform/doc/qtlabsplatform.qdocconf
deleted file mode 100644
index ae1a63f1..00000000
--- a/src/imports/platform/doc/qtlabsplatform.qdocconf
+++ /dev/null
@@ -1,41 +0,0 @@
-include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
-include($QT_INSTALL_DOCS/config/exampleurl-qtquickcontrols2.qdocconf)
-
-project = QtLabsPlatform
-description = Qt Labs Platform Reference Documentation
-version = $QT_VERSION
-
-qhp.projects = QtLabsPlatform
-
-qhp.QtLabsPlatform.file = qtlabsplatform.qhp
-qhp.QtLabsPlatform.namespace = org.qt-project.qtlabsplatform.$QT_VERSION_TAG
-qhp.QtLabsPlatform.virtualFolder = qtlabsplatform
-qhp.QtLabsPlatform.indexTitle = Qt Labs Platform
-qhp.QtLabsPlatform.indexRoot =
-
-qhp.QtLabsPlatform.filterAttributes = qtlabsplatform $QT_VERSION qtrefdoc
-qhp.QtLabsPlatform.customFilters.Qt.name = QtLabsPlatform $QT_VERSION
-qhp.QtLabsPlatform.customFilters.Qt.filterAttributes = qtlabsplatform $QT_VERSION
-
-qhp.QtLabsPlatform.subprojects = qmltypes
-qhp.QtLabsPlatform.subprojects.qmltypes.title = QML Types
-qhp.QtLabsPlatform.subprojects.qmltypes.indexTitle = Qt Labs Platform QML Types
-qhp.QtLabsPlatform.subprojects.qmltypes.selectors = qmlclass
-qhp.QtLabsPlatform.subprojects.qmltypes.sortPages = true
-
-depends = qtcore qtgui qtdoc qtqml qtquick qtquickcontrols qtwidgets
-
-# This module has no documented C++ types, clear the module header
-moduleheader =
-
-headerdirs += ../
-sourcedirs += ../
-
-imagedirs += images
-
-navigation.landingpage = "Qt Labs Platform"
-navigation.qmltypespage = "Qt Labs Platform QML Types"
-
-tagfile = qtlabsplatform.tags
-
-macro.labs = "\\note \\e{Types in Qt.labs modules are not guaranteed to remain compatible in future versions.}"
diff --git a/src/imports/platform/doc/src/includes/widgets.qdocinc b/src/imports/platform/doc/src/includes/widgets.qdocinc
deleted file mode 100644
index c89c3ca0..00000000
--- a/src/imports/platform/doc/src/includes/widgets.qdocinc
+++ /dev/null
@@ -1,29 +0,0 @@
-//! [1]
-The Qt Labs Platform module uses Qt Widgets as a fallback on platforms that
-do not have a native implementation available. Therefore, applications that
-use types from the Qt Labs Platform module should link to QtWidgets and use
-\l QApplication instead of \l QGuiApplication.
-
-To link against the QtWidgets library, add the following to your qmake project
-file:
-
-\code
-QT += widgets
-\endcode
-
-Create an instance of \l QApplication in \c main():
-
-\code
-#include <QApplication>
-#include <QQmlApplicationEngine>
-
-int main(int argc, char *argv[])
-{
- QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QApplication app(argc, argv);
- QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
- return app.exec();
-}
-\endcode
-//! [1]
diff --git a/src/imports/platform/doc/src/qtlabsplatform-index.qdoc b/src/imports/platform/doc/src/qtlabsplatform-index.qdoc
deleted file mode 100644
index 7b3f78fb..00000000
--- a/src/imports/platform/doc/src/qtlabsplatform-index.qdoc
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtlabsplatform-index.html
- \title Qt Labs Platform
-
- \brief The experimental Qt Labs Platform module provides QML types for
- native platform extensions.
-
- The experimental Qt Labs Platform module provides QML types for native
- platform extensions. The module was introduced in Qt 5.8.
-
- \section1 QML Types
-
- \generatelist {qmltypesbymodule Qt.labs.platform}
-
- \labs
-
- \section1 Related Information
-
- \list
- \li \l{Qt Quick}
- \li \l{Qt Quick Controls}
- \endlist
-*/
diff --git a/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc b/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc
deleted file mode 100644
index dec67b72..00000000
--- a/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlmodule Qt.labs.platform 1.1
- \title Qt Labs Platform QML Types
- \ingroup qmlmodules
- \brief Provides QML types for native platform extensions.
-
- The experimental \l{Qt Labs Platform} module provides QML types for native
- platform extensions. These QML types work in conjunction with \l{Qt Quick}
- and \l{Qt Quick Controls}.
-
- The QML types can be imported into your application using the
- following import statement in your .qml file:
-
- \badcode
- import Qt.labs.platform 1.1
- \endcode
-
- \section1 QML Types
-
- \generatelist {qmltypesbymodule Qt.labs.platform}
-
- \labs
-
- \section1 Related Information
-
- \list
- \li \l {Qt Quick Controls QML Types}
- \endlist
-
- \noautolist
-*/
diff --git a/src/imports/platform/platform.pri b/src/imports/platform/platform.pri
deleted file mode 100644
index ec6e8616..00000000
--- a/src/imports/platform/platform.pri
+++ /dev/null
@@ -1,39 +0,0 @@
-HEADERS += \
- $$PWD/qquickplatformcolordialog_p.h \
- $$PWD/qquickplatformdialog_p.h \
- $$PWD/qquickplatformfiledialog_p.h \
- $$PWD/qquickplatformfolderdialog_p.h \
- $$PWD/qquickplatformfontdialog_p.h \
- $$PWD/qquickplatformicon_p.h \
- $$PWD/qquickplatformiconloader_p.h \
- $$PWD/qquickplatformmenu_p.h \
- $$PWD/qquickplatformmenubar_p.h \
- $$PWD/qquickplatformmenuitem_p.h \
- $$PWD/qquickplatformmenuitemgroup_p.h \
- $$PWD/qquickplatformmenuseparator_p.h \
- $$PWD/qquickplatformmessagedialog_p.h \
- $$PWD/qquickplatformstandardpaths_p.h
-
-SOURCES += \
- $$PWD/qquickplatformcolordialog.cpp \
- $$PWD/qquickplatformdialog.cpp \
- $$PWD/qquickplatformfiledialog.cpp \
- $$PWD/qquickplatformfolderdialog.cpp \
- $$PWD/qquickplatformfontdialog.cpp \
- $$PWD/qquickplatformicon.cpp \
- $$PWD/qquickplatformiconloader.cpp \
- $$PWD/qquickplatformmenu.cpp \
- $$PWD/qquickplatformmenubar.cpp \
- $$PWD/qquickplatformmenuitem.cpp \
- $$PWD/qquickplatformmenuitemgroup.cpp \
- $$PWD/qquickplatformmenuseparator.cpp \
- $$PWD/qquickplatformmessagedialog.cpp \
- $$PWD/qquickplatformstandardpaths.cpp
-
-
-qtConfig(systemtrayicon) {
- HEADERS += \
- $$PWD/qquickplatformsystemtrayicon_p.h
- SOURCES += \
- $$PWD/qquickplatformsystemtrayicon.cpp
-}
diff --git a/src/imports/platform/platform.pro b/src/imports/platform/platform.pro
deleted file mode 100644
index 043b0172..00000000
--- a/src/imports/platform/platform.pro
+++ /dev/null
@@ -1,22 +0,0 @@
-TARGET = qtlabsplatformplugin
-TARGETPATH = Qt/labs/platform
-IMPORT_VERSION = 1.0
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-QMAKE_DOCS = $$PWD/doc/qtlabsplatform.qdocconf
-
-OTHER_FILES += \
- qmldir
-
-SOURCES += \
- $$PWD/qtlabsplatformplugin.cpp
-
-include(platform.pri)
-qtHaveModule(widgets): include(widgets/widgets.pri)
-
-CONFIG += no_cxx_module
-load(qml_plugin)
diff --git a/src/imports/platform/plugins.qmltypes b/src/imports/platform/plugins.qmltypes
deleted file mode 100644
index 7b165ef3..00000000
--- a/src/imports/platform/plugins.qmltypes
+++ /dev/null
@@ -1,489 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable Qt.labs.platform 1.0'
-
-Module {
- dependencies: ["QtQuick 2.0"]
- Component {
- name: "QPlatformDialogHelper"
- prototype: "QObject"
- exports: ["Qt.labs.platform/StandardButton 1.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Enum {
- name: "StandardButtons"
- values: {
- "NoButton": 0,
- "Ok": 1024,
- "Save": 2048,
- "SaveAll": 4096,
- "Open": 8192,
- "Yes": 16384,
- "YesToAll": 32768,
- "No": 65536,
- "NoToAll": 131072,
- "Abort": 262144,
- "Retry": 524288,
- "Ignore": 1048576,
- "Close": 2097152,
- "Cancel": 4194304,
- "Discard": 8388608,
- "Help": 16777216,
- "Apply": 33554432,
- "Reset": 67108864,
- "RestoreDefaults": 134217728,
- "FirstButton": 1024,
- "LastButton": 134217728,
- "LowestBit": 10,
- "HighestBit": 27
- }
- }
- Enum {
- name: "ButtonRole"
- values: {
- "InvalidRole": -1,
- "AcceptRole": 0,
- "RejectRole": 1,
- "DestructiveRole": 2,
- "ActionRole": 3,
- "HelpRole": 4,
- "YesRole": 5,
- "NoRole": 6,
- "ResetRole": 7,
- "ApplyRole": 8,
- "NRoles": 9,
- "RoleMask": 268435455,
- "AlternateRole": 268435456,
- "Stretch": 536870912,
- "Reverse": 1073741824,
- "EOL": -1
- }
- }
- Enum {
- name: "ButtonLayout"
- values: {
- "UnknownLayout": -1,
- "WinLayout": 0,
- "MacLayout": 1,
- "KdeLayout": 2,
- "GnomeLayout": 3,
- "MacModelessLayout": 4,
- "AndroidLayout": 5
- }
- }
- Signal { name: "accept" }
- Signal { name: "reject" }
- }
- Component {
- name: "QQuickPlatformColorDialog"
- defaultProperty: "data"
- prototype: "QQuickPlatformDialog"
- exports: ["Qt.labs.platform/ColorDialog 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "color"; type: "QColor" }
- Property { name: "currentColor"; type: "QColor" }
- Property { name: "options"; type: "QColorDialogOptions::ColorDialogOptions" }
- }
- Component {
- name: "QQuickPlatformDialog"
- defaultProperty: "data"
- prototype: "QObject"
- exports: ["Qt.labs.platform/Dialog 1.0"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Enum {
- name: "StandardCode"
- values: {
- "Rejected": 0,
- "Accepted": 1
- }
- }
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "parentWindow"; type: "QWindow"; isPointer: true }
- Property { name: "title"; type: "string" }
- Property { name: "flags"; type: "Qt::WindowFlags" }
- Property { name: "modality"; type: "Qt::WindowModality" }
- Property { name: "visible"; type: "bool" }
- Property { name: "result"; type: "int" }
- Signal { name: "accepted" }
- Signal { name: "rejected" }
- Method { name: "open" }
- Method { name: "close" }
- Method { name: "accept" }
- Method { name: "reject" }
- Method {
- name: "done"
- Parameter { name: "result"; type: "int" }
- }
- }
- Component {
- name: "QQuickPlatformFileDialog"
- defaultProperty: "data"
- prototype: "QQuickPlatformDialog"
- exports: ["Qt.labs.platform/FileDialog 1.0"]
- exportMetaObjectRevisions: [0]
- Enum {
- name: "FileMode"
- values: {
- "OpenFile": 0,
- "OpenFiles": 1,
- "SaveFile": 2
- }
- }
- Property { name: "fileMode"; type: "FileMode" }
- Property { name: "file"; type: "QUrl" }
- Property { name: "files"; type: "QList<QUrl>" }
- Property { name: "currentFile"; type: "QUrl" }
- Property { name: "currentFiles"; type: "QList<QUrl>" }
- Property { name: "folder"; type: "QUrl" }
- Property { name: "options"; type: "QFileDialogOptions::FileDialogOptions" }
- Property { name: "nameFilters"; type: "QStringList" }
- Property {
- name: "selectedNameFilter"
- type: "QQuickPlatformFileNameFilter"
- isReadonly: true
- isPointer: true
- }
- Property { name: "defaultSuffix"; type: "string" }
- Property { name: "acceptLabel"; type: "string" }
- Property { name: "rejectLabel"; type: "string" }
- }
- Component {
- name: "QQuickPlatformFileNameFilter"
- prototype: "QObject"
- Property { name: "index"; type: "int" }
- Property { name: "name"; type: "string"; isReadonly: true }
- Property { name: "extensions"; type: "QStringList"; isReadonly: true }
- Signal {
- name: "indexChanged"
- Parameter { name: "index"; type: "int" }
- }
- Signal {
- name: "nameChanged"
- Parameter { name: "name"; type: "string" }
- }
- Signal {
- name: "extensionsChanged"
- Parameter { name: "extensions"; type: "QStringList" }
- }
- }
- Component {
- name: "QQuickPlatformFolderDialog"
- defaultProperty: "data"
- prototype: "QQuickPlatformDialog"
- exports: ["Qt.labs.platform/FolderDialog 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "folder"; type: "QUrl" }
- Property { name: "currentFolder"; type: "QUrl" }
- Property { name: "options"; type: "QFileDialogOptions::FileDialogOptions" }
- Property { name: "acceptLabel"; type: "string" }
- Property { name: "rejectLabel"; type: "string" }
- }
- Component {
- name: "QQuickPlatformFontDialog"
- defaultProperty: "data"
- prototype: "QQuickPlatformDialog"
- exports: ["Qt.labs.platform/FontDialog 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "font"; type: "QFont" }
- Property { name: "currentFont"; type: "QFont" }
- Property { name: "options"; type: "QFontDialogOptions::FontDialogOptions" }
- }
- Component {
- name: "QQuickPlatformIcon"
- Property { name: "source"; type: "QUrl" }
- Property { name: "name"; type: "string" }
- Property { name: "mask"; type: "bool" }
- }
- Component {
- name: "QQuickPlatformMenu"
- defaultProperty: "data"
- prototype: "QObject"
- exports: ["Qt.labs.platform/Menu 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "items"; type: "QQuickPlatformMenuItem"; isList: true; isReadonly: true }
- Property { name: "menuBar"; type: "QQuickPlatformMenuBar"; isReadonly: true; isPointer: true }
- Property { name: "parentMenu"; type: "QQuickPlatformMenu"; isReadonly: true; isPointer: true }
- Property {
- name: "systemTrayIcon"
- type: "QQuickPlatformSystemTrayIcon"
- isReadonly: true
- isPointer: true
- }
- Property { name: "menuItem"; type: "QQuickPlatformMenuItem"; isReadonly: true; isPointer: true }
- Property { name: "enabled"; type: "bool" }
- Property { name: "visible"; type: "bool" }
- Property { name: "minimumWidth"; type: "int" }
- Property { name: "type"; type: "QPlatformMenu::MenuType" }
- Property { name: "title"; type: "string" }
- Property { name: "iconSource"; type: "QUrl" }
- Property { name: "iconName"; type: "string" }
- Property { name: "font"; type: "QFont" }
- Property { name: "icon"; revision: 1; type: "QQuickPlatformIcon" }
- Signal { name: "aboutToShow" }
- Signal { name: "aboutToHide" }
- Signal { name: "iconChanged"; revision: 1 }
- Method {
- name: "open"
- Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
- }
- Method { name: "close" }
- Method {
- name: "addItem"
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Method {
- name: "insertItem"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Method {
- name: "removeItem"
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Method {
- name: "addMenu"
- Parameter { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- }
- Method {
- name: "insertMenu"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- }
- Method {
- name: "removeMenu"
- Parameter { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- }
- Method { name: "clear" }
- }
- Component {
- name: "QQuickPlatformMenuBar"
- defaultProperty: "data"
- prototype: "QObject"
- exports: ["Qt.labs.platform/MenuBar 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "menus"; type: "QQuickPlatformMenu"; isList: true; isReadonly: true }
- Property { name: "window"; type: "QWindow"; isPointer: true }
- Method {
- name: "addMenu"
- Parameter { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- }
- Method {
- name: "insertMenu"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- }
- Method {
- name: "removeMenu"
- Parameter { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- }
- Method { name: "clear" }
- }
- Component {
- name: "QQuickPlatformMenuItem"
- prototype: "QObject"
- exports: ["Qt.labs.platform/MenuItem 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "menu"; type: "QQuickPlatformMenu"; isReadonly: true; isPointer: true }
- Property { name: "subMenu"; type: "QQuickPlatformMenu"; isReadonly: true; isPointer: true }
- Property { name: "group"; type: "QQuickPlatformMenuItemGroup"; isPointer: true }
- Property { name: "enabled"; type: "bool" }
- Property { name: "visible"; type: "bool" }
- Property { name: "separator"; type: "bool" }
- Property { name: "checkable"; type: "bool" }
- Property { name: "checked"; type: "bool" }
- Property { name: "role"; type: "QPlatformMenuItem::MenuRole" }
- Property { name: "text"; type: "string" }
- Property { name: "iconSource"; type: "QUrl" }
- Property { name: "iconName"; type: "string" }
- Property { name: "shortcut"; type: "QVariant" }
- Property { name: "font"; type: "QFont" }
- Property { name: "icon"; revision: 1; type: "QQuickPlatformIcon" }
- Signal { name: "triggered" }
- Signal { name: "hovered" }
- Signal { name: "iconChanged"; revision: 1 }
- Method { name: "toggle" }
- }
- Component {
- name: "QQuickPlatformMenuItemGroup"
- prototype: "QObject"
- exports: ["Qt.labs.platform/MenuItemGroup 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "enabled"; type: "bool" }
- Property { name: "visible"; type: "bool" }
- Property { name: "exclusive"; type: "bool" }
- Property { name: "checkedItem"; type: "QQuickPlatformMenuItem"; isPointer: true }
- Property { name: "items"; type: "QQuickPlatformMenuItem"; isList: true; isReadonly: true }
- Signal {
- name: "triggered"
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Signal {
- name: "hovered"
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Method {
- name: "addItem"
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Method {
- name: "removeItem"
- Parameter { name: "item"; type: "QQuickPlatformMenuItem"; isPointer: true }
- }
- Method { name: "clear" }
- }
- Component {
- name: "QQuickPlatformMenuSeparator"
- prototype: "QQuickPlatformMenuItem"
- exports: ["Qt.labs.platform/MenuSeparator 1.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickPlatformMessageDialog"
- defaultProperty: "data"
- prototype: "QQuickPlatformDialog"
- exports: ["Qt.labs.platform/MessageDialog 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "text"; type: "string" }
- Property { name: "informativeText"; type: "string" }
- Property { name: "detailedText"; type: "string" }
- Property { name: "buttons"; type: "QPlatformDialogHelper::StandardButtons" }
- Signal {
- name: "clicked"
- Parameter { name: "button"; type: "QPlatformDialogHelper::StandardButton" }
- }
- Signal { name: "okClicked" }
- Signal { name: "saveClicked" }
- Signal { name: "saveAllClicked" }
- Signal { name: "openClicked" }
- Signal { name: "yesClicked" }
- Signal { name: "yesToAllClicked" }
- Signal { name: "noClicked" }
- Signal { name: "noToAllClicked" }
- Signal { name: "abortClicked" }
- Signal { name: "retryClicked" }
- Signal { name: "ignoreClicked" }
- Signal { name: "closeClicked" }
- Signal { name: "cancelClicked" }
- Signal { name: "discardClicked" }
- Signal { name: "helpClicked" }
- Signal { name: "applyClicked" }
- Signal { name: "resetClicked" }
- Signal { name: "restoreDefaultsClicked" }
- }
- Component {
- name: "QQuickPlatformStandardPaths"
- prototype: "QObject"
- exports: ["Qt.labs.platform/StandardPaths 1.0"]
- isCreatable: false
- isSingleton: true
- exportMetaObjectRevisions: [0]
- Method {
- name: "displayName"
- type: "string"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- }
- Method {
- name: "findExecutable"
- type: "QUrl"
- Parameter { name: "executableName"; type: "string" }
- Parameter { name: "paths"; type: "QStringList" }
- }
- Method {
- name: "findExecutable"
- type: "QUrl"
- Parameter { name: "executableName"; type: "string" }
- }
- Method {
- name: "locate"
- type: "QUrl"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- Parameter { name: "fileName"; type: "string" }
- Parameter { name: "options"; type: "QStandardPaths::LocateOptions" }
- }
- Method {
- name: "locate"
- type: "QUrl"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- Parameter { name: "fileName"; type: "string" }
- }
- Method {
- name: "locateAll"
- type: "QList<QUrl>"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- Parameter { name: "fileName"; type: "string" }
- Parameter { name: "options"; type: "QStandardPaths::LocateOptions" }
- }
- Method {
- name: "locateAll"
- type: "QList<QUrl>"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- Parameter { name: "fileName"; type: "string" }
- }
- Method {
- name: "setTestModeEnabled"
- Parameter { name: "testMode"; type: "bool" }
- }
- Method {
- name: "standardLocations"
- type: "QList<QUrl>"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- }
- Method {
- name: "writableLocation"
- type: "QUrl"
- Parameter { name: "type"; type: "QStandardPaths::StandardLocation" }
- }
- }
- Component {
- name: "QQuickPlatformSystemTrayIcon"
- prototype: "QObject"
- exports: [
- "Qt.labs.platform/SystemTrayIcon 1.0",
- "Qt.labs.platform/SystemTrayIcon 1.1"
- ]
- exportMetaObjectRevisions: [0, 1]
- Property { name: "available"; type: "bool"; isReadonly: true }
- Property { name: "supportsMessages"; type: "bool"; isReadonly: true }
- Property { name: "visible"; type: "bool" }
- Property { name: "iconSource"; type: "QUrl" }
- Property { name: "iconName"; type: "string" }
- Property { name: "tooltip"; type: "string" }
- Property { name: "menu"; type: "QQuickPlatformMenu"; isPointer: true }
- Property { name: "geometry"; revision: 1; type: "QRect"; isReadonly: true }
- Property { name: "icon"; revision: 1; type: "QQuickPlatformIcon" }
- Signal {
- name: "activated"
- Parameter { name: "reason"; type: "QPlatformSystemTrayIcon::ActivationReason" }
- }
- Signal { name: "messageClicked" }
- Signal { name: "geometryChanged"; revision: 1 }
- Signal { name: "iconChanged"; revision: 1 }
- Method { name: "show" }
- Method { name: "hide" }
- Method {
- name: "showMessage"
- Parameter { name: "title"; type: "string" }
- Parameter { name: "message"; type: "string" }
- Parameter { name: "iconType"; type: "QPlatformSystemTrayIcon::MessageIcon" }
- Parameter { name: "msecs"; type: "int" }
- }
- Method {
- name: "showMessage"
- Parameter { name: "title"; type: "string" }
- Parameter { name: "message"; type: "string" }
- Parameter { name: "iconType"; type: "QPlatformSystemTrayIcon::MessageIcon" }
- }
- Method {
- name: "showMessage"
- Parameter { name: "title"; type: "string" }
- Parameter { name: "message"; type: "string" }
- }
- }
-}
diff --git a/src/imports/platform/qmldir b/src/imports/platform/qmldir
deleted file mode 100644
index 9653b7d3..00000000
--- a/src/imports/platform/qmldir
+++ /dev/null
@@ -1,3 +0,0 @@
-module Qt.labs.platform
-plugin qtlabsplatformplugin
-classname QtLabsPlatformPlugin
diff --git a/src/imports/platform/qquickplatformcolordialog.cpp b/src/imports/platform/qquickplatformcolordialog.cpp
deleted file mode 100644
index 0b8cfd97..00000000
--- a/src/imports/platform/qquickplatformcolordialog.cpp
+++ /dev/null
@@ -1,206 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformcolordialog_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ColorDialog
- \inherits Dialog
- \instantiates QQuickPlatformColorDialog
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native color dialog.
-
- The ColorDialog type provides a QML API for native platform color dialogs.
-
- \image qtlabsplatform-colordialog-gtk.png
-
- To show a color dialog, construct an instance of ColorDialog, set the
- desired properties, and call \l {Dialog::}{open()}. The \l currentColor
- property can be used to determine the currently selected color in the
- dialog. The \l color property is updated only after the final selection
- has been made by accepting the dialog.
-
- \code
- MenuItem {
- text: "Color"
- onTriggered: colorDialog.open()
- }
-
- ColorDialog {
- id: colorDialog
- currentColor: document.color
- }
-
- MyDocument {
- id: document
- color: colorDialog.color
- }
- \endcode
-
- \section2 Availability
-
- A native platform color dialog is currently available on the following platforms:
-
- \list
- \li macOS
- \li Linux (when running with the GTK+ platform theme)
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-*/
-
-QQuickPlatformColorDialog::QQuickPlatformColorDialog(QObject *parent)
- : QQuickPlatformDialog(QPlatformTheme::ColorDialog, parent),
- m_options(QColorDialogOptions::create())
-{
-}
-
-/*!
- \qmlproperty color Qt.labs.platform::ColorDialog::color
-
- This property holds the final accepted color.
-
- Unlike the \l currentColor property, the \c color property is not updated
- while the user is selecting colors in the dialog, but only after the final
- selection has been made. That is, when the user has clicked \uicontrol OK
- to accept a color. Alternatively, the \l {Dialog::}{accepted()} signal
- can be handled to get the final selection.
-
- \sa currentColor, {Dialog::}{accepted()}
-*/
-QColor QQuickPlatformColorDialog::color() const
-{
- return m_color;
-}
-
-void QQuickPlatformColorDialog::setColor(const QColor &color)
-{
- if (m_color == color)
- return;
-
- m_color = color;
- setCurrentColor(color);
- emit colorChanged();
-}
-
-/*!
- \qmlproperty color Qt.labs.platform::ColorDialog::currentColor
-
- This property holds the currently selected color in the dialog.
-
- Unlike the \l color property, the \c currentColor property is updated
- while the user is selecting colors in the dialog, even before the final
- selection has been made.
-
- \sa color
-*/
-QColor QQuickPlatformColorDialog::currentColor() const
-{
- if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle()))
- return colorDialog->currentColor();
- return m_currentColor;
-}
-
-void QQuickPlatformColorDialog::setCurrentColor(const QColor &color)
-{
- if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle()))
- colorDialog->setCurrentColor(color);
- m_currentColor = color;
-}
-
-/*!
- \qmlproperty flags Qt.labs.platform::ColorDialog::options
-
- This property holds the various options that affect the look and feel of the dialog.
-
- By default, all options are disabled.
-
- Options should be set before showing the dialog. Setting them while the dialog is
- visible is not guaranteed to have an immediate effect on the dialog (depending on
- the option and on the platform).
-
- Available options:
- \value ColorDialog.ShowAlphaChannel Allow the user to select the alpha component of a color.
- \value ColorDialog.NoButtons Don't display \uicontrol OK and \uicontrol Cancel buttons (useful for "live dialogs").
-*/
-QColorDialogOptions::ColorDialogOptions QQuickPlatformColorDialog::options() const
-{
- return m_options->options();
-}
-
-void QQuickPlatformColorDialog::setOptions(QColorDialogOptions::ColorDialogOptions options)
-{
- if (options == m_options->options())
- return;
-
- m_options->setOptions(options);
- emit optionsChanged();
-}
-
-bool QQuickPlatformColorDialog::useNativeDialog() const
-{
- return QQuickPlatformDialog::useNativeDialog()
- && !m_options->testOption(QColorDialogOptions::DontUseNativeDialog);
-}
-
-void QQuickPlatformColorDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(dialog)) {
- connect(colorDialog, &QPlatformColorDialogHelper::currentColorChanged, this, &QQuickPlatformColorDialog::currentColorChanged);
- colorDialog->setOptions(m_options);
- colorDialog->setCurrentColor(m_currentColor);
- }
-}
-
-void QQuickPlatformColorDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(dialog))
- colorDialog->setOptions(m_options);
-}
-
-void QQuickPlatformColorDialog::accept()
-{
- setColor(currentColor());
- QQuickPlatformDialog::accept();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformcolordialog_p.h b/src/imports/platform/qquickplatformcolordialog_p.h
deleted file mode 100644
index 1df047d9..00000000
--- a/src/imports/platform/qquickplatformcolordialog_p.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMCOLORDIALOG_P_H
-#define QQUICKPLATFORMCOLORDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickplatformdialog_p.h"
-#include <QtGui/qcolor.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformColorDialog : public QQuickPlatformDialog
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL)
- Q_PROPERTY(QColor currentColor READ currentColor WRITE setCurrentColor NOTIFY currentColorChanged FINAL)
- Q_PROPERTY(QColorDialogOptions::ColorDialogOptions options READ options WRITE setOptions NOTIFY optionsChanged FINAL)
- Q_FLAGS(QColorDialogOptions::ColorDialogOptions)
-
-public:
- explicit QQuickPlatformColorDialog(QObject *parent = nullptr);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- QColor currentColor() const;
- void setCurrentColor(const QColor &color);
-
- QColorDialogOptions::ColorDialogOptions options() const;
- void setOptions(QColorDialogOptions::ColorDialogOptions options);
-
-Q_SIGNALS:
- void colorChanged();
- void currentColorChanged();
- void optionsChanged();
-
-protected:
- bool useNativeDialog() const override;
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
- void accept() override;
-
-private:
- QColor m_color;
- QColor m_currentColor; // TODO: QColorDialogOptions::initialColor
- QSharedPointer<QColorDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformColorDialog)
-
-#endif // QQUICKPLATFORMCOLORDIALOG_P_H
diff --git a/src/imports/platform/qquickplatformdialog.cpp b/src/imports/platform/qquickplatformdialog.cpp
deleted file mode 100644
index 41fc1316..00000000
--- a/src/imports/platform/qquickplatformdialog.cpp
+++ /dev/null
@@ -1,409 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformdialog_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/qquickwindow.h>
-
-#include "widgets/qwidgetplatform_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Dialog
- \inherits QtObject
- \instantiates QQuickPlatformDialog
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief The base class of native dialogs.
-
- The Dialog type provides common QML API for native platform dialogs.
-
- To show a native dialog, construct an instance of one of the concrete
- Dialog implementations, set the desired properties, and call \l open().
- Dialog emits \l accepted() or \l rejected() when the user is done with
- the dialog.
-
- \labs
-*/
-
-/*!
- \qmlsignal void Qt.labs.platform::Dialog::accepted()
-
- This signal is emitted when the dialog has been accepted either
- interactively or by calling \l accept().
-
- \note This signal is \e not emitted when closing the dialog with \l close().
-
- \sa rejected()
-*/
-
-/*!
- \qmlsignal void Qt.labs.platform::Dialog::rejected()
-
- This signal is emitted when the dialog has been rejected either
- interactively or by calling \l reject().
-
- \note This signal is \e not emitted when closing the dialog with \l close().
-
- \sa accepted()
-*/
-
-Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformDialogs)
-
-QQuickPlatformDialog::QQuickPlatformDialog(QPlatformTheme::DialogType type, QObject *parent)
- : QObject(parent),
- m_visible(false),
- m_complete(false),
- m_result(0),
- m_parentWindow(nullptr),
- m_flags(Qt::Dialog),
- m_modality(Qt::WindowModal),
- m_type(type),
- m_handle(nullptr)
-{
-}
-
-QQuickPlatformDialog::~QQuickPlatformDialog()
-{
- destroy();
-}
-
-QPlatformDialogHelper *QQuickPlatformDialog::handle() const
-{
- return m_handle;
-}
-
-/*!
- \default
- \qmlproperty list<Object> Qt.labs.platform::Dialog::data
-
- This default property holds the list of all objects declared as children of
- the dialog.
-*/
-QQmlListProperty<QObject> QQuickPlatformDialog::data()
-{
- return QQmlListProperty<QObject>(this, m_data);
-}
-
-/*!
- \qmlproperty Window Qt.labs.platform::Dialog::parentWindow
-
- This property holds the parent window of the dialog.
-
- Unless explicitly set, the window is automatically resolved by iterating
- the QML parent objects until a \l Window or an \l Item that has a window
- is found.
-*/
-QWindow *QQuickPlatformDialog::parentWindow() const
-{
- return m_parentWindow;
-}
-
-void QQuickPlatformDialog::setParentWindow(QWindow *window)
-{
- if (m_parentWindow == window)
- return;
-
- m_parentWindow = window;
- emit parentWindowChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::Dialog::title
-
- This property holds the title of the dialog.
-*/
-QString QQuickPlatformDialog::title() const
-{
- return m_title;
-}
-
-void QQuickPlatformDialog::setTitle(const QString &title)
-{
- if (m_title == title)
- return;
-
- m_title = title;
- emit titleChanged();
-}
-
-/*!
- \qmlproperty Qt::WindowFlags Qt.labs.platform::Dialog::flags
-
- This property holds the window flags of the dialog. The default value is \c Qt.Dialog.
-*/
-Qt::WindowFlags QQuickPlatformDialog::flags() const
-{
- return m_flags;
-}
-
-void QQuickPlatformDialog::setFlags(Qt::WindowFlags flags)
-{
- if (m_flags == flags)
- return;
-
- m_flags = flags;
- emit flagsChanged();
-}
-
-/*!
- \qmlproperty Qt::WindowModality Qt.labs.platform::Dialog::modality
-
- This property holds the modality of the dialog. The default value is \c Qt.WindowModal.
-
- Available values:
- \value Qt.NonModal The dialog is not modal and does not block input to other windows.
- \value Qt.WindowModal The dialog is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
- \value Qt.ApplicationModal The dialog is modal to the application and blocks input to all windows.
-*/
-Qt::WindowModality QQuickPlatformDialog::modality() const
-{
- return m_modality;
-}
-
-void QQuickPlatformDialog::setModality(Qt::WindowModality modality)
-{
- if (m_modality == modality)
- return;
-
- m_modality = modality;
- emit modalityChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::Dialog::visible
-
- This property holds the visibility of the dialog. The default value is \c false.
-
- \sa open(), close()
-*/
-bool QQuickPlatformDialog::isVisible() const
-{
- return m_handle && m_visible;
-}
-
-void QQuickPlatformDialog::setVisible(bool visible)
-{
- if (visible)
- open();
- else
- close();
-}
-
-/*!
- \qmlproperty int Qt.labs.platform::Dialog::result
-
- This property holds the result code.
-
- Standard result codes:
- \value Dialog.Accepted
- \value Dialog.Rejected
-
- \note MessageDialog sets the result to the value of the clicked standard
- button instead of using the standard result codes.
-*/
-int QQuickPlatformDialog::result() const
-{
- return m_result;
-}
-
-void QQuickPlatformDialog::setResult(int result)
-{
- if (m_result == result)
- return;
-
- m_result = result;
- emit resultChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Dialog::open()
-
- Opens the dialog.
-
- \sa visible, close()
-*/
-void QQuickPlatformDialog::open()
-{
- if (m_visible || !create())
- return;
-
- onShow(m_handle);
- m_visible = m_handle->show(m_flags, m_modality, m_parentWindow);
- if (m_visible)
- emit visibleChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Dialog::close()
-
- Closes the dialog.
-
- \sa visible, open()
-*/
-void QQuickPlatformDialog::close()
-{
- if (!m_handle || !m_visible)
- return;
-
- onHide(m_handle);
- m_handle->hide();
- m_visible = false;
- emit visibleChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Dialog::accept()
-
- Closes the dialog and emits the \l accepted() signal.
-
- \sa reject()
-*/
-void QQuickPlatformDialog::accept()
-{
- done(Accepted);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Dialog::reject()
-
- Closes the dialog and emits the \l rejected() signal.
-
- \sa accept()
-*/
-void QQuickPlatformDialog::reject()
-{
- done(Rejected);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Dialog::done(int result)
-
- Closes the dialog and sets the \a result.
-
- \sa accept(), reject(), result
-*/
-void QQuickPlatformDialog::done(int result)
-{
- close();
- setResult(result);
-
- if (result == Accepted)
- emit accepted();
- else if (result == Rejected)
- emit rejected();
-}
-
-void QQuickPlatformDialog::classBegin()
-{
-}
-
-void QQuickPlatformDialog::componentComplete()
-{
- m_complete = true;
- if (!m_parentWindow)
- setParentWindow(findParentWindow());
-}
-
-static const char *qmlTypeName(const QObject *object)
-{
- return object->metaObject()->className() + qstrlen("QQuickPlatform");
-}
-
-bool QQuickPlatformDialog::create()
-{
- if (!m_handle) {
- if (useNativeDialog())
- m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(m_type);
- if (!m_handle)
- m_handle = QWidgetPlatform::createDialog(m_type, this);
- qCDebug(qtLabsPlatformDialogs) << qmlTypeName(this) << "->" << m_handle;
- if (m_handle) {
- onCreate(m_handle);
- connect(m_handle, &QPlatformDialogHelper::accept, this, &QQuickPlatformDialog::accept);
- connect(m_handle, &QPlatformDialogHelper::reject, this, &QQuickPlatformDialog::reject);
- }
- }
- return m_handle;
-}
-
-void QQuickPlatformDialog::destroy()
-{
- delete m_handle;
- m_handle = nullptr;
-}
-
-bool QQuickPlatformDialog::useNativeDialog() const
-{
- return !QCoreApplication::testAttribute(Qt::AA_DontUseNativeDialogs)
- && QGuiApplicationPrivate::platformTheme()->usePlatformNativeDialog(m_type);
-}
-
-void QQuickPlatformDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- Q_UNUSED(dialog);
-}
-
-void QQuickPlatformDialog::onShow(QPlatformDialogHelper *dialog)
-{
- Q_UNUSED(dialog);
-}
-
-void QQuickPlatformDialog::onHide(QPlatformDialogHelper *dialog)
-{
- Q_UNUSED(dialog);
-}
-
-QWindow *QQuickPlatformDialog::findParentWindow() const
-{
- QObject *obj = parent();
- while (obj) {
- QWindow *window = qobject_cast<QWindow *>(obj);
- if (window)
- return window;
- QQuickItem *item = qobject_cast<QQuickItem *>(obj);
- if (item && item->window())
- return item->window();
- obj = obj->parent();
- }
- return nullptr;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformdialog_p.h b/src/imports/platform/qquickplatformdialog_p.h
deleted file mode 100644
index 55a54937..00000000
--- a/src/imports/platform/qquickplatformdialog_p.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMDIALOG_P_H
-#define QQUICKPLATFORMDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqmllist.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWindow;
-class QPlatformDialogHelper;
-
-class QQuickPlatformDialog : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QQmlListProperty<QObject> data READ data FINAL)
- Q_PROPERTY(QWindow *parentWindow READ parentWindow WRITE setParentWindow NOTIFY parentWindowChanged FINAL)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(Qt::WindowFlags flags READ flags WRITE setFlags NOTIFY flagsChanged FINAL)
- Q_PROPERTY(Qt::WindowModality modality READ modality WRITE setModality NOTIFY modalityChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(int result READ result WRITE setResult NOTIFY resultChanged FINAL)
- Q_CLASSINFO("DefaultProperty", "data")
-
-public:
- explicit QQuickPlatformDialog(QPlatformTheme::DialogType type, QObject *parent = nullptr);
- ~QQuickPlatformDialog();
-
- QPlatformDialogHelper *handle() const;
-
- QQmlListProperty<QObject> data();
-
- QWindow *parentWindow() const;
- void setParentWindow(QWindow *window);
-
- QString title() const;
- void setTitle(const QString &title);
-
- Qt::WindowFlags flags() const;
- void setFlags(Qt::WindowFlags flags);
-
- Qt::WindowModality modality() const;
- void setModality(Qt::WindowModality modality);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- enum StandardCode { Rejected, Accepted };
- Q_ENUM(StandardCode)
-
- int result() const;
- void setResult(int result);
-
-public Q_SLOTS:
- void open();
- void close();
- virtual void accept();
- virtual void reject();
- virtual void done(int result);
-
-Q_SIGNALS:
- void accepted();
- void rejected();
- void parentWindowChanged();
- void titleChanged();
- void flagsChanged();
- void modalityChanged();
- void visibleChanged();
- void resultChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- bool create();
- void destroy();
-
- virtual bool useNativeDialog() const;
- virtual void onCreate(QPlatformDialogHelper *dialog);
- virtual void onShow(QPlatformDialogHelper *dialog);
- virtual void onHide(QPlatformDialogHelper *dialog);
-
- QWindow *findParentWindow() const;
-
-private:
- bool m_visible;
- bool m_complete;
- int m_result;
- QWindow *m_parentWindow;
- QString m_title;
- Qt::WindowFlags m_flags;
- Qt::WindowModality m_modality;
- QPlatformTheme::DialogType m_type;
- QList<QObject *> m_data;
- QPlatformDialogHelper *m_handle;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformDialog)
-
-#endif // QQUICKPLATFORMDIALOG_P_H
diff --git a/src/imports/platform/qquickplatformfiledialog.cpp b/src/imports/platform/qquickplatformfiledialog.cpp
deleted file mode 100644
index 9c1eb684..00000000
--- a/src/imports/platform/qquickplatformfiledialog.cpp
+++ /dev/null
@@ -1,664 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformfiledialog_p.h"
-
-#include <QtCore/qvector.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype FileDialog
- \inherits Dialog
- \instantiates QQuickPlatformFileDialog
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native file dialog.
-
- The FileDialog type provides a QML API for native platform file dialogs.
-
- \image qtlabsplatform-filedialog-gtk.png
-
- To show a file dialog, construct an instance of FileDialog, set the
- desired properties, and call \l {Dialog::}{open()}. The \l currentFile
- or \l currentFiles properties can be used to determine the currently
- selected file(s) in the dialog. The \l file and \l files properties
- are updated only after the final selection has been made by accepting
- the dialog.
-
- \code
- MenuItem {
- text: "Open..."
- onTriggered: fileDialog.open()
- }
-
- FileDialog {
- id: fileDialog
- currentFile: document.source
- folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
- }
-
- MyDocument {
- id: document
- source: fileDialog.file
- }
- \endcode
-
- \section2 Availability
-
- A native platform file dialog is currently available on the following platforms:
-
- \list
- \li iOS
- \li Linux (when running with the GTK+ platform theme)
- \li macOS
- \li Windows
- \li WinRT
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-
- \sa FolderDialog, StandardPaths
-*/
-
-QQuickPlatformFileDialog::QQuickPlatformFileDialog(QObject *parent)
- : QQuickPlatformDialog(QPlatformTheme::FileDialog, parent),
- m_fileMode(OpenFile),
- m_options(QFileDialogOptions::create()),
- m_selectedNameFilter(nullptr)
-{
- m_options->setFileMode(QFileDialogOptions::ExistingFile);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
-}
-
-/*!
- \qmlproperty enumeration Qt.labs.platform::FileDialog::fileMode
-
- This property holds the mode of the dialog.
-
- Available values:
- \value FileDialog.OpenFile The dialog is used to select an existing file (default).
- \value FileDialog.OpenFiles The dialog is used to select multiple existing files.
- \value FileDialog.SaveFile The dialog is used to select any file. The file does not have to exist.
-*/
-QQuickPlatformFileDialog::FileMode QQuickPlatformFileDialog::fileMode() const
-{
- return m_fileMode;
-}
-
-void QQuickPlatformFileDialog::setFileMode(FileMode mode)
-{
- if (mode == m_fileMode)
- return;
-
- switch (mode) {
- case OpenFile:
- m_options->setFileMode(QFileDialogOptions::ExistingFile);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
- break;
- case OpenFiles:
- m_options->setFileMode(QFileDialogOptions::ExistingFiles);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
- break;
- case SaveFile:
- m_options->setFileMode(QFileDialogOptions::AnyFile);
- m_options->setAcceptMode(QFileDialogOptions::AcceptSave);
- break;
- default:
- break;
- }
-
- m_fileMode = mode;
- emit fileModeChanged();
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::FileDialog::file
-
- This property holds the final accepted file.
-
- Unlike the \l currentFile property, the \c file property is not updated
- while the user is selecting files in the dialog, but only after the final
- selection has been made. That is, when the user has clicked \uicontrol OK
- to accept a file. Alternatively, the \l {Dialog::}{accepted()} signal
- can be handled to get the final selection.
-
- \sa currentFile, {Dialog::}{accepted()}
-*/
-QUrl QQuickPlatformFileDialog::file() const
-{
- return addDefaultSuffix(m_files.value(0));
-}
-
-void QQuickPlatformFileDialog::setFile(const QUrl &file)
-{
- setFiles(QList<QUrl>() << file);
-}
-
-/*!
- \qmlproperty list<url> Qt.labs.platform::FileDialog::files
-
- This property holds the final accepted files.
-
- Unlike the \l currentFiles property, the \c files property is not updated
- while the user is selecting files in the dialog, but only after the final
- selection has been made. That is, when the user has clicked \uicontrol OK
- to accept files. Alternatively, the \l {Dialog::}{accepted()} signal
- can be handled to get the final selection.
-
- \sa currentFiles, {Dialog::}{accepted()}
-*/
-QList<QUrl> QQuickPlatformFileDialog::files() const
-{
- return addDefaultSuffixes(m_files);
-}
-
-void QQuickPlatformFileDialog::setFiles(const QList<QUrl> &files)
-{
- if (m_files == files)
- return;
-
- bool firstChanged = m_files.value(0) != files.value(0);
- m_files = files;
- if (firstChanged)
- emit fileChanged();
- emit filesChanged();
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::FileDialog::currentFile
-
- This property holds the currently selected file in the dialog.
-
- Unlike the \l file property, the \c currentFile property is updated
- while the user is selecting files in the dialog, even before the final
- selection has been made.
-
- \sa file, currentFiles
-*/
-QUrl QQuickPlatformFileDialog::currentFile() const
-{
- return currentFiles().value(0);
-}
-
-void QQuickPlatformFileDialog::setCurrentFile(const QUrl &file)
-{
- setCurrentFiles(QList<QUrl>() << file);
-}
-
-/*!
- \qmlproperty list<url> Qt.labs.platform::FileDialog::currentFiles
-
- This property holds the currently selected files in the dialog.
-
- Unlike the \l files property, the \c currentFiles property is updated
- while the user is selecting files in the dialog, even before the final
- selection has been made.
-
- \sa files, currentFile
-*/
-QList<QUrl> QQuickPlatformFileDialog::currentFiles() const
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- return fileDialog->selectedFiles();
- return m_options->initiallySelectedFiles();
-}
-
-void QQuickPlatformFileDialog::setCurrentFiles(const QList<QUrl> &files)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle())) {
- for (const QUrl &file : files)
- fileDialog->selectFile(file);
- }
- m_options->setInitiallySelectedFiles(files);
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::FileDialog::folder
-
- This property holds the folder where files are selected.
- For selecting a folder, use FolderDialog instead.
-
- \sa FolderDialog
-*/
-QUrl QQuickPlatformFileDialog::folder() const
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- return fileDialog->directory();
- return m_options->initialDirectory();
-}
-
-void QQuickPlatformFileDialog::setFolder(const QUrl &folder)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- fileDialog->setDirectory(folder);
- m_options->setInitialDirectory(folder);
-}
-
-/*!
- \qmlproperty flags Qt.labs.platform::FileDialog::options
-
- This property holds the various options that affect the look and feel of the dialog.
-
- By default, all options are disabled.
-
- Options should be set before showing the dialog. Setting them while the dialog is
- visible is not guaranteed to have an immediate effect on the dialog (depending on
- the option and on the platform).
-
- Available options:
- \value FileDialog.DontResolveSymlinks Don't resolve symlinks in the file dialog. By default symlinks are resolved.
- \value FileDialog.DontConfirmOverwrite Don't ask for confirmation if an existing file is selected. By default confirmation is requested.
- \value FileDialog.ReadOnly Indicates that the dialog doesn't allow creating directories.
- \value FileDialog.HideNameFilterDetails Indicates if the file name filter details are hidden or not.
-*/
-QFileDialogOptions::FileDialogOptions QQuickPlatformFileDialog::options() const
-{
- return m_options->options();
-}
-
-void QQuickPlatformFileDialog::setOptions(QFileDialogOptions::FileDialogOptions options)
-{
- if (options == m_options->options())
- return;
-
- m_options->setOptions(options);
- emit optionsChanged();
-}
-
-void QQuickPlatformFileDialog::resetOptions()
-{
- setOptions(0);
-}
-
-/*!
- \qmlproperty list<string> Qt.labs.platform::FileDialog::nameFilters
-
- This property holds the filters that restrict the types of files that
- can be selected.
-
- \code
- FileDialog {
- nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
- }
- \endcode
-
- \note \b{*.*} is not a portable filter, because the historical assumption
- that the file extension determines the file type is not consistent on every
- operating system. It is possible to have a file with no dot in its name (for
- example, \c Makefile). In a native Windows file dialog, \b{*.*} will match
- such files, while in other types of file dialogs it may not. So it is better
- to use \b{*} if you mean to select any file.
-
- \sa selectedNameFilter
-*/
-QStringList QQuickPlatformFileDialog::nameFilters() const
-{
- return m_options->nameFilters();
-}
-
-void QQuickPlatformFileDialog::setNameFilters(const QStringList &filters)
-{
- if (filters == m_options->nameFilters())
- return;
-
- m_options->setNameFilters(filters);
- if (m_selectedNameFilter) {
- int index = m_selectedNameFilter->index();
- if (index < 0 || index >= filters.count())
- index = 0;
- m_selectedNameFilter->update(filters.value(index));
- }
- emit nameFiltersChanged();
-}
-
-void QQuickPlatformFileDialog::resetNameFilters()
-{
- setNameFilters(QStringList());
-}
-
-/*!
- \qmlpropertygroup Qt.labs.platform::FileDialog::selectedNameFilter
- \qmlproperty int Qt.labs.platform::FileDialog::selectedNameFilter.index
- \qmlproperty string Qt.labs.platform::FileDialog::selectedNameFilter.name
- \qmlproperty list<string> Qt.labs.platform::FileDialog::selectedNameFilter.extensions
-
- These properties hold the currently selected name filter.
-
- \table
- \header
- \li Name
- \li Description
- \row
- \li \b index : int
- \li This property determines which \l {nameFilters}{name filter} is selected.
- The specified filter is selected when the dialog is opened. The value is
- updated when the user selects another filter.
- \row
- \li [read-only] \b name : string
- \li This property holds the name of the selected filter. In the
- example below, the name of the first filter is \c {"Text files"}
- and the second is \c {"HTML files"}.
- \row
- \li [read-only] \b extensions : list<string>
- \li This property holds the list of extensions of the selected filter.
- In the example below, the list of extensions of the first filter is
- \c {["txt"]} and the second is \c {["html", "htm"]}.
- \endtable
-
- \code
- FileDialog {
- id: fileDialog
- selectedNameFilter.index: 1
- nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
- }
-
- MyDocument {
- id: document
- fileType: fileDialog.selectedNameFilter.extensions[0]
- }
- \endcode
-
- \sa nameFilters
-*/
-QQuickPlatformFileNameFilter *QQuickPlatformFileDialog::selectedNameFilter() const
-{
- if (!m_selectedNameFilter) {
- QQuickPlatformFileDialog *that = const_cast<QQuickPlatformFileDialog *>(this);
- m_selectedNameFilter = new QQuickPlatformFileNameFilter(that);
- m_selectedNameFilter->setOptions(m_options);
- }
- return m_selectedNameFilter;
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::FileDialog::defaultSuffix
-
- This property holds a suffix that is added to selected files that have
- no suffix specified. The suffix is typically used to indicate the file
- type (e.g. "txt" indicates a text file).
-
- If the first character is a dot ('.'), it is removed.
-*/
-QString QQuickPlatformFileDialog::defaultSuffix() const
-{
- return m_options->defaultSuffix();
-}
-
-void QQuickPlatformFileDialog::setDefaultSuffix(const QString &suffix)
-{
- if (suffix == m_options->defaultSuffix())
- return;
-
- m_options->setDefaultSuffix(suffix);
- emit defaultSuffixChanged();
-}
-
-void QQuickPlatformFileDialog::resetDefaultSuffix()
-{
- setDefaultSuffix(QString());
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::FileDialog::acceptLabel
-
- This property holds the label text shown on the button that accepts the dialog.
-
- When set to an empty string, the default label of the underlying platform is used.
- The default label is typically \uicontrol Open or \uicontrol Save depending on which
- \l fileMode the dialog is used in.
-
- The default value is an empty string.
-
- \sa rejectLabel
-*/
-QString QQuickPlatformFileDialog::acceptLabel() const
-{
- return m_options->labelText(QFileDialogOptions::Accept);
-}
-
-void QQuickPlatformFileDialog::setAcceptLabel(const QString &label)
-{
- if (label == m_options->labelText(QFileDialogOptions::Accept))
- return;
-
- m_options->setLabelText(QFileDialogOptions::Accept, label);
- emit acceptLabelChanged();
-}
-
-void QQuickPlatformFileDialog::resetAcceptLabel()
-{
- setAcceptLabel(QString());
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::FileDialog::rejectLabel
-
- This property holds the label text shown on the button that rejects the dialog.
-
- When set to an empty string, the default label of the underlying platform is used.
- The default label is typically \uicontrol Cancel.
-
- The default value is an empty string.
-
- \sa acceptLabel
-*/
-QString QQuickPlatformFileDialog::rejectLabel() const
-{
- return m_options->labelText(QFileDialogOptions::Reject);
-}
-
-void QQuickPlatformFileDialog::setRejectLabel(const QString &label)
-{
- if (label == m_options->labelText(QFileDialogOptions::Reject))
- return;
-
- m_options->setLabelText(QFileDialogOptions::Reject, label);
- emit rejectLabelChanged();
-}
-
-void QQuickPlatformFileDialog::resetRejectLabel()
-{
- setRejectLabel(QString());
-}
-
-bool QQuickPlatformFileDialog::useNativeDialog() const
-{
- return QQuickPlatformDialog::useNativeDialog()
- && !m_options->testOption(QFileDialogOptions::DontUseNativeDialog);
-}
-
-void QQuickPlatformFileDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- // TODO: emit currentFileChanged only when the first entry in currentFiles changes
- connect(fileDialog, &QPlatformFileDialogHelper::currentChanged, this, &QQuickPlatformFileDialog::currentFileChanged);
- connect(fileDialog, &QPlatformFileDialogHelper::currentChanged, this, &QQuickPlatformFileDialog::currentFilesChanged);
- connect(fileDialog, &QPlatformFileDialogHelper::directoryEntered, this, &QQuickPlatformFileDialog::folderChanged);
- fileDialog->setOptions(m_options);
- }
-}
-
-void QQuickPlatformFileDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- fileDialog->setOptions(m_options); // setOptions only assigns a member and isn't virtual
- if (m_firstShow && m_options->initialDirectory().isValid())
- fileDialog->setDirectory(m_options->initialDirectory());
- if (m_selectedNameFilter) {
- const int index = m_selectedNameFilter->index();
- const QString filter = m_options->nameFilters().value(index);
- m_options->setInitiallySelectedNameFilter(filter);
- fileDialog->selectNameFilter(filter);
- connect(fileDialog, &QPlatformFileDialogHelper::filterSelected, m_selectedNameFilter, &QQuickPlatformFileNameFilter::update);
- }
- }
- if (m_firstShow)
- m_firstShow = false;
-}
-
-void QQuickPlatformFileDialog::onHide(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- if (m_selectedNameFilter)
- disconnect(fileDialog, &QPlatformFileDialogHelper::filterSelected, m_selectedNameFilter, &QQuickPlatformFileNameFilter::update);
- }
-}
-
-void QQuickPlatformFileDialog::accept()
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- setFiles(fileDialog->selectedFiles());
- QQuickPlatformDialog::accept();
-}
-
-QUrl QQuickPlatformFileDialog::addDefaultSuffix(const QUrl &file) const
-{
- QUrl url = file;
- const QString path = url.path();
- const QString suffix = m_options->defaultSuffix();
- if (!suffix.isEmpty() && !path.endsWith(QLatin1Char('/')) && path.lastIndexOf(QLatin1Char('.')) == -1)
- url.setPath(path + QLatin1Char('.') + suffix);
- return url;
-}
-
-QList<QUrl> QQuickPlatformFileDialog::addDefaultSuffixes(const QList<QUrl> &files) const
-{
- QList<QUrl> urls;
- urls.reserve(files.size());
- for (const QUrl &file : files)
- urls += addDefaultSuffix(file);
- return urls;
-}
-
-QQuickPlatformFileNameFilter::QQuickPlatformFileNameFilter(QObject *parent)
- : QObject(parent), m_index(-1)
-{
-}
-
-int QQuickPlatformFileNameFilter::index() const
-{
- return m_index;
-}
-
-void QQuickPlatformFileNameFilter::setIndex(int index)
-{
- if (m_index == index)
- return;
-
- m_index = index;
- emit indexChanged(index);
-}
-
-QString QQuickPlatformFileNameFilter::name() const
-{
- return m_name;
-}
-
-QStringList QQuickPlatformFileNameFilter::extensions() const
-{
- return m_extensions;
-}
-
-QSharedPointer<QFileDialogOptions> QQuickPlatformFileNameFilter::options() const
-{
- return m_options;
-}
-
-void QQuickPlatformFileNameFilter::setOptions(const QSharedPointer<QFileDialogOptions> &options)
-{
- m_options = options;
-}
-
-static QString extractName(const QString &filter)
-{
- return filter.left(filter.indexOf(QLatin1Char('(')) - 1);
-}
-
-static QString extractExtension(const QString &filter)
-{
- return filter.mid(filter.indexOf(QLatin1Char('.')) + 1);
-}
-
-static QStringList extractExtensions(const QString &filter)
-{
- QStringList extensions;
- const int from = filter.indexOf(QLatin1Char('('));
- const int to = filter.lastIndexOf(QLatin1Char(')')) - 1;
- if (from >= 0 && from < to) {
- const QStringRef ref = filter.midRef(from + 1, to - from);
- const QVector<QStringRef> exts = ref.split(QLatin1Char(' '), QString::SkipEmptyParts);
- for (const QStringRef &ref : exts)
- extensions += extractExtension(ref.toString());
- }
-
- return extensions;
-}
-
-void QQuickPlatformFileNameFilter::update(const QString &filter)
-{
- const QStringList filters = nameFilters();
-
- const int oldIndex = m_index;
- const QString oldName = m_name;
- const QStringList oldExtensions = m_extensions;
-
- m_index = filters.indexOf(filter);
- m_name = extractName(filter);
- m_extensions = extractExtensions(filter);
-
- if (oldIndex != m_index)
- emit indexChanged(m_index);
- if (oldName != m_name)
- emit nameChanged(m_name);
- if (oldExtensions != m_extensions)
- emit extensionsChanged(m_extensions);
-}
-
-QStringList QQuickPlatformFileNameFilter::nameFilters() const
-{
- return m_options ? m_options->nameFilters() : QStringList();
-}
-
-QString QQuickPlatformFileNameFilter::nameFilter(int index) const
-{
- return m_options ? m_options->nameFilters().value(index) : QString();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformfiledialog_p.h b/src/imports/platform/qquickplatformfiledialog_p.h
deleted file mode 100644
index b867f3c8..00000000
--- a/src/imports/platform/qquickplatformfiledialog_p.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMFILEDIALOG_P_H
-#define QQUICKPLATFORMFILEDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickplatformdialog_p.h"
-#include <QtCore/qurl.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformFileNameFilter;
-
-class QQuickPlatformFileDialog : public QQuickPlatformDialog
-{
- Q_OBJECT
- Q_PROPERTY(FileMode fileMode READ fileMode WRITE setFileMode NOTIFY fileModeChanged FINAL)
- Q_PROPERTY(QUrl file READ file WRITE setFile NOTIFY fileChanged FINAL)
- Q_PROPERTY(QList<QUrl> files READ files WRITE setFiles NOTIFY filesChanged FINAL)
- Q_PROPERTY(QUrl currentFile READ currentFile WRITE setCurrentFile NOTIFY currentFileChanged FINAL)
- Q_PROPERTY(QList<QUrl> currentFiles READ currentFiles WRITE setCurrentFiles NOTIFY currentFilesChanged FINAL)
- Q_PROPERTY(QUrl folder READ folder WRITE setFolder NOTIFY folderChanged FINAL)
- Q_PROPERTY(QFileDialogOptions::FileDialogOptions options READ options WRITE setOptions RESET resetOptions NOTIFY optionsChanged FINAL)
- Q_PROPERTY(QStringList nameFilters READ nameFilters WRITE setNameFilters RESET resetNameFilters NOTIFY nameFiltersChanged FINAL)
- Q_PROPERTY(QQuickPlatformFileNameFilter *selectedNameFilter READ selectedNameFilter CONSTANT)
- Q_PROPERTY(QString defaultSuffix READ defaultSuffix WRITE setDefaultSuffix RESET resetDefaultSuffix NOTIFY defaultSuffixChanged FINAL)
- Q_PROPERTY(QString acceptLabel READ acceptLabel WRITE setAcceptLabel RESET resetAcceptLabel NOTIFY acceptLabelChanged FINAL)
- Q_PROPERTY(QString rejectLabel READ rejectLabel WRITE setRejectLabel RESET resetRejectLabel NOTIFY rejectLabelChanged FINAL)
- Q_FLAGS(QFileDialogOptions::FileDialogOptions)
-
-public:
- explicit QQuickPlatformFileDialog(QObject *parent = nullptr);
-
- enum FileMode {
- OpenFile,
- OpenFiles,
- SaveFile
- };
- Q_ENUM(FileMode)
-
- FileMode fileMode() const;
- void setFileMode(FileMode fileMode);
-
- QUrl file() const;
- void setFile(const QUrl &file);
-
- QList<QUrl> files() const;
- void setFiles(const QList<QUrl> &files);
-
- QUrl currentFile() const;
- void setCurrentFile(const QUrl &file);
-
- QList<QUrl> currentFiles() const;
- void setCurrentFiles(const QList<QUrl> &files);
-
- QUrl folder() const;
- void setFolder(const QUrl &folder);
-
- QFileDialogOptions::FileDialogOptions options() const;
- void setOptions(QFileDialogOptions::FileDialogOptions options);
- void resetOptions();
-
- QStringList nameFilters() const;
- void setNameFilters(const QStringList &filters);
- void resetNameFilters();
-
- QQuickPlatformFileNameFilter *selectedNameFilter() const;
-
- QString defaultSuffix() const;
- void setDefaultSuffix(const QString &suffix);
- void resetDefaultSuffix();
-
- QString acceptLabel() const;
- void setAcceptLabel(const QString &label);
- void resetAcceptLabel();
-
- QString rejectLabel() const;
- void setRejectLabel(const QString &label);
- void resetRejectLabel();
-
-Q_SIGNALS:
- void fileModeChanged();
- void fileChanged();
- void filesChanged();
- void currentFileChanged();
- void currentFilesChanged();
- void folderChanged();
- void optionsChanged();
- void nameFiltersChanged();
- void defaultSuffixChanged();
- void acceptLabelChanged();
- void rejectLabelChanged();
-
-protected:
- bool useNativeDialog() const override;
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
- void onHide(QPlatformDialogHelper *dialog) override;
- void accept() override;
-
-private:
- QUrl addDefaultSuffix(const QUrl &file) const;
- QList<QUrl> addDefaultSuffixes(const QList<QUrl> &files) const;
-
- FileMode m_fileMode;
- QList<QUrl> m_files;
- bool m_firstShow = true;
- QSharedPointer<QFileDialogOptions> m_options;
- mutable QQuickPlatformFileNameFilter *m_selectedNameFilter;
-};
-
-class QQuickPlatformFileNameFilter : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int index READ index WRITE setIndex NOTIFY indexChanged FINAL)
- Q_PROPERTY(QString name READ name NOTIFY nameChanged FINAL)
- Q_PROPERTY(QStringList extensions READ extensions NOTIFY extensionsChanged FINAL)
-
-public:
- explicit QQuickPlatformFileNameFilter(QObject *parent = nullptr);
-
- int index() const;
- void setIndex(int index);
-
- QString name() const;
- QStringList extensions() const;
-
- QSharedPointer<QFileDialogOptions> options() const;
- void setOptions(const QSharedPointer<QFileDialogOptions> &options);
-
- void update(const QString &filter);
-
-Q_SIGNALS:
- void indexChanged(int index);
- void nameChanged(const QString &name);
- void extensionsChanged(const QStringList &extensions);
-
-private:
- QStringList nameFilters() const;
- QString nameFilter(int index) const;
-
- int m_index;
- QString m_name;
- QStringList m_extensions;
- QSharedPointer<QFileDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformFileDialog)
-
-#endif // QQUICKPLATFORMFILEDIALOG_P_H
diff --git a/src/imports/platform/qquickplatformfolderdialog.cpp b/src/imports/platform/qquickplatformfolderdialog.cpp
deleted file mode 100644
index 512dce52..00000000
--- a/src/imports/platform/qquickplatformfolderdialog.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformfolderdialog_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype FolderDialog
- \inherits Dialog
- \instantiates QQuickPlatformFolderDialog
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native folder dialog.
-
- The FolderDialog type provides a QML API for native platform folder dialogs.
-
- \image qtlabsplatform-folderdialog-gtk.png
-
- To show a folder dialog, construct an instance of FolderDialog, set the
- desired properties, and call \l {Dialog::}{open()}. The \l currentFolder
- property can be used to determine the currently selected folder in the
- dialog. The \l folder property is updated only after the final selection
- has been made by accepting the dialog.
-
- \code
- MenuItem {
- text: "Open..."
- onTriggered: folderDialog.open()
- }
-
- FolderDialog {
- id: folderDialog
- currentFolder: viewer.folder
- folder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0]
- }
-
- MyViewer {
- id: viewer
- folder: folderDialog.folder
- }
- \endcode
-
- \section2 Availability
-
- A native platform folder dialog is currently available on the following platforms:
-
- \list
- \li iOS
- \li Linux (when running with the GTK+ platform theme)
- \li macOS
- \li Windows
- \li WinRT
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-
- \sa FileDialog, StandardPaths
-*/
-
-QQuickPlatformFolderDialog::QQuickPlatformFolderDialog(QObject *parent)
- : QQuickPlatformDialog(QPlatformTheme::FileDialog, parent),
- m_options(QFileDialogOptions::create())
-{
- m_options->setFileMode(QFileDialogOptions::Directory);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::FolderDialog::folder
-
- This property holds the final accepted folder.
-
- Unlike the \l currentFolder property, the \c folder property is not updated
- while the user is selecting folders in the dialog, but only after the final
- selection has been made. That is, when the user has clicked \uicontrol OK
- to accept a folder. Alternatively, the \l {Dialog::}{accepted()} signal
- can be handled to get the final selection.
-
- \sa currentFolder, {Dialog::}{accepted()}
-*/
-QUrl QQuickPlatformFolderDialog::folder() const
-{
- return m_folder;
-}
-
-void QQuickPlatformFolderDialog::setFolder(const QUrl &folder)
-{
- if (m_folder == folder)
- return;
-
- m_folder = folder;
- setCurrentFolder(folder);
- emit folderChanged();
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::FolderDialog::currentFolder
-
- This property holds the currently selected folder in the dialog.
-
- Unlike the \l folder property, the \c currentFolder property is updated
- while the user is selecting folders in the dialog, even before the final
- selection has been made.
-
- \sa folder
-*/
-QUrl QQuickPlatformFolderDialog::currentFolder() const
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- return fileDialog->directory();
- return m_options->initialDirectory();
-}
-
-void QQuickPlatformFolderDialog::setCurrentFolder(const QUrl &folder)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- fileDialog->setDirectory(folder);
- m_options->setInitialDirectory(folder);
-}
-
-/*!
- \qmlproperty flags Qt.labs.platform::FolderDialog::options
-
- This property holds the various options that affect the look and feel of the dialog.
-
- By default, all options are disabled.
-
- Options should be set before showing the dialog. Setting them while the dialog is
- visible is not guaranteed to have an immediate effect on the dialog (depending on
- the option and on the platform).
-
- Available options:
- \value FolderDialog.ShowDirsOnly Only show directories in the folder dialog. By default both folders and directories are shown.
- \value FolderDialog.DontResolveSymlinks Don't resolve symlinks in the folder dialog. By default symlinks are resolved.
- \value FolderDialog.ReadOnly Indicates that the dialog doesn't allow creating directories.
-*/
-QFileDialogOptions::FileDialogOptions QQuickPlatformFolderDialog::options() const
-{
- return m_options->options();
-}
-
-void QQuickPlatformFolderDialog::setOptions(QFileDialogOptions::FileDialogOptions options)
-{
- if (options == m_options->options())
- return;
-
- m_options->setOptions(options);
- emit optionsChanged();
-}
-
-void QQuickPlatformFolderDialog::resetOptions()
-{
- setOptions(0);
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::FolderDialog::acceptLabel
-
- This property holds the label text shown on the button that accepts the dialog.
-
- When set to an empty string, the default label of the underlying platform is used.
- The default label is typically \uicontrol Open.
-
- The default value is an empty string.
-
- \sa rejectLabel
-*/
-QString QQuickPlatformFolderDialog::acceptLabel() const
-{
- return m_options->labelText(QFileDialogOptions::Accept);
-}
-
-void QQuickPlatformFolderDialog::setAcceptLabel(const QString &label)
-{
- if (label == m_options->labelText(QFileDialogOptions::Accept))
- return;
-
- m_options->setLabelText(QFileDialogOptions::Accept, label);
- emit acceptLabelChanged();
-}
-
-void QQuickPlatformFolderDialog::resetAcceptLabel()
-{
- setAcceptLabel(QString());
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::FolderDialog::rejectLabel
-
- This property holds the label text shown on the button that rejects the dialog.
-
- When set to an empty string, the default label of the underlying platform is used.
- The default label is typically \uicontrol Cancel.
-
- The default value is an empty string.
-
- \sa acceptLabel
-*/
-QString QQuickPlatformFolderDialog::rejectLabel() const
-{
- return m_options->labelText(QFileDialogOptions::Reject);
-}
-
-void QQuickPlatformFolderDialog::setRejectLabel(const QString &label)
-{
- if (label == m_options->labelText(QFileDialogOptions::Reject))
- return;
-
- m_options->setLabelText(QFileDialogOptions::Reject, label);
- emit rejectLabelChanged();
-}
-
-void QQuickPlatformFolderDialog::resetRejectLabel()
-{
- setRejectLabel(QString());
-}
-
-bool QQuickPlatformFolderDialog::useNativeDialog() const
-{
- return QQuickPlatformDialog::useNativeDialog()
- && !m_options->testOption(QFileDialogOptions::DontUseNativeDialog);
-}
-
-void QQuickPlatformFolderDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- connect(fileDialog, &QPlatformFileDialogHelper::directoryEntered, this, &QQuickPlatformFolderDialog::currentFolderChanged);
- fileDialog->setOptions(m_options);
- }
-}
-
-void QQuickPlatformFolderDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog))
- fileDialog->setOptions(m_options);
-}
-
-void QQuickPlatformFolderDialog::accept()
-{
- setFolder(currentFolder());
- QQuickPlatformDialog::accept();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformfolderdialog_p.h b/src/imports/platform/qquickplatformfolderdialog_p.h
deleted file mode 100644
index 69878cb9..00000000
--- a/src/imports/platform/qquickplatformfolderdialog_p.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMFOLDERDIALOG_P_H
-#define QQUICKPLATFORMFOLDERDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This folder is not part of the Qt API. It exists purely as an
-// implementation detail. This header folder may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickplatformdialog_p.h"
-#include <QtCore/qurl.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformFolderDialog : public QQuickPlatformDialog
-{
- Q_OBJECT
- Q_PROPERTY(QUrl folder READ folder WRITE setFolder NOTIFY folderChanged FINAL)
- Q_PROPERTY(QUrl currentFolder READ currentFolder WRITE setCurrentFolder NOTIFY currentFolderChanged FINAL)
- Q_PROPERTY(QFileDialogOptions::FileDialogOptions options READ options WRITE setOptions RESET resetOptions NOTIFY optionsChanged FINAL)
- Q_PROPERTY(QString acceptLabel READ acceptLabel WRITE setAcceptLabel RESET resetAcceptLabel NOTIFY acceptLabelChanged FINAL)
- Q_PROPERTY(QString rejectLabel READ rejectLabel WRITE setRejectLabel RESET resetRejectLabel NOTIFY rejectLabelChanged FINAL)
- Q_FLAGS(QFileDialogOptions::FileDialogOptions)
-
-public:
- explicit QQuickPlatformFolderDialog(QObject *parent = nullptr);
-
- QUrl folder() const;
- void setFolder(const QUrl &folder);
-
- QUrl currentFolder() const;
- void setCurrentFolder(const QUrl &folder);
-
- QFileDialogOptions::FileDialogOptions options() const;
- void setOptions(QFileDialogOptions::FileDialogOptions options);
- void resetOptions();
-
- QString acceptLabel() const;
- void setAcceptLabel(const QString &label);
- void resetAcceptLabel();
-
- QString rejectLabel() const;
- void setRejectLabel(const QString &label);
- void resetRejectLabel();
-
-Q_SIGNALS:
- void folderChanged();
- void currentFolderChanged();
- void optionsChanged();
- void acceptLabelChanged();
- void rejectLabelChanged();
-
-protected:
- bool useNativeDialog() const override;
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
- void accept() override;
-
-private:
- QUrl m_folder;
- QSharedPointer<QFileDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformFolderDialog)
-
-#endif // QQUICKPLATFORMFOLDERDIALOG_P_H
diff --git a/src/imports/platform/qquickplatformfontdialog.cpp b/src/imports/platform/qquickplatformfontdialog.cpp
deleted file mode 100644
index ecd6ba4a..00000000
--- a/src/imports/platform/qquickplatformfontdialog.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformfontdialog_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype FontDialog
- \inherits Dialog
- \instantiates QQuickPlatformFontDialog
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native font dialog.
-
- The FontDialog type provides a QML API for native platform font dialogs.
-
- \image qtlabsplatform-fontdialog-gtk.png
-
- To show a font dialog, construct an instance of FontDialog, set the
- desired properties, and call \l {Dialog::}{open()}. The \l currentFont
- property can be used to determine the currently selected font in the
- dialog. The \l font property is updated only after the final selection
- has been made by accepting the dialog.
-
- \code
- MenuItem {
- text: "Font"
- onTriggered: fontDialog.open()
- }
-
- FontDialog {
- id: fontDialog
- currentFont.family: document.font
- }
-
- MyDocument {
- id: document
- font: fontDialog.font
- }
- \endcode
-
- \section2 Availability
-
- A native platform font dialog is currently available on the following platforms:
-
- \list
- \li macOS
- \li Linux (when running with the GTK+ platform theme)
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-*/
-
-QQuickPlatformFontDialog::QQuickPlatformFontDialog(QObject *parent)
- : QQuickPlatformDialog(QPlatformTheme::FontDialog, parent),
- m_options(QFontDialogOptions::create())
-{
-}
-
-/*!
- \qmlproperty font Qt.labs.platform::FontDialog::font
-
- This property holds the final accepted font.
-
- Unlike the \l currentFont property, the \c font property is not updated
- while the user is selecting fonts in the dialog, but only after the final
- selection has been made. That is, when the user has clicked \uicontrol OK
- to accept a font. Alternatively, the \l {Dialog::}{accepted()} signal
- can be handled to get the final selection.
-
- \sa currentFont, {Dialog::}{accepted()}
-*/
-QFont QQuickPlatformFontDialog::font() const
-{
- return m_font;
-}
-
-void QQuickPlatformFontDialog::setFont(const QFont &font)
-{
- if (m_font == font)
- return;
-
- m_font = font;
- setCurrentFont(font);
- emit fontChanged();
-}
-
-/*!
- \qmlproperty font Qt.labs.platform::FontDialog::currentFont
-
- This property holds the currently selected font in the dialog.
-
- Unlike the \l font property, the \c currentFont property is updated
- while the user is selecting fonts in the dialog, even before the final
- selection has been made.
-
- \sa font
-*/
-QFont QQuickPlatformFontDialog::currentFont() const
-{
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(handle()))
- return fontDialog->currentFont();
- return m_currentFont;
-}
-
-void QQuickPlatformFontDialog::setCurrentFont(const QFont &font)
-{
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(handle()))
- fontDialog->setCurrentFont(font);
- m_currentFont = font;
-}
-
-/*!
- \qmlproperty flags Qt.labs.platform::FontDialog::options
-
- This property holds the various options that affect the look and feel of the dialog.
-
- By default, all options are disabled.
-
- Options should be set before showing the dialog. Setting them while the dialog is
- visible is not guaranteed to have an immediate effect on the dialog (depending on
- the option and on the platform).
-
- Available options:
- \value FontDialog.ScalableFonts Show scalable fonts.
- \value FontDialog.NonScalableFonts Show non-scalable fonts.
- \value FontDialog.MonospacedFonts Show monospaced fonts.
- \value FontDialog.ProportionalFonts Show proportional fonts.
- \value FontDialog.NoButtons Don't display \uicontrol OK and \uicontrol Cancel buttons (useful for "live dialogs").
-*/
-QFontDialogOptions::FontDialogOptions QQuickPlatformFontDialog::options() const
-{
- return m_options->options();
-}
-
-void QQuickPlatformFontDialog::setOptions(QFontDialogOptions::FontDialogOptions options)
-{
- if (options == m_options->options())
- return;
-
- m_options->setOptions(options);
- emit optionsChanged();
-}
-
-bool QQuickPlatformFontDialog::useNativeDialog() const
-{
- return QQuickPlatformDialog::useNativeDialog()
- && !m_options->testOption(QFontDialogOptions::DontUseNativeDialog);
-}
-
-void QQuickPlatformFontDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(dialog)) {
- connect(fontDialog, &QPlatformFontDialogHelper::currentFontChanged, this, &QQuickPlatformFontDialog::currentFontChanged);
- fontDialog->setOptions(m_options);
- }
-}
-
-void QQuickPlatformFontDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(dialog))
- fontDialog->setOptions(m_options);
-}
-
-void QQuickPlatformFontDialog::accept()
-{
- setFont(currentFont());
- QQuickPlatformDialog::accept();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformfontdialog_p.h b/src/imports/platform/qquickplatformfontdialog_p.h
deleted file mode 100644
index e7946477..00000000
--- a/src/imports/platform/qquickplatformfontdialog_p.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMFONTDIALOG_P_H
-#define QQUICKPLATFORMFONTDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickplatformdialog_p.h"
-#include <QtGui/qfont.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformFontDialog : public QQuickPlatformDialog
-{
- Q_OBJECT
- Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged FINAL)
- Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged FINAL)
- Q_PROPERTY(QFontDialogOptions::FontDialogOptions options READ options WRITE setOptions NOTIFY optionsChanged FINAL)
- Q_FLAGS(QFontDialogOptions::FontDialogOptions)
-
-public:
- explicit QQuickPlatformFontDialog(QObject *parent = nullptr);
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QFont currentFont() const;
- void setCurrentFont(const QFont &font);
-
- QFontDialogOptions::FontDialogOptions options() const;
- void setOptions(QFontDialogOptions::FontDialogOptions options);
-
-Q_SIGNALS:
- void fontChanged();
- void currentFontChanged();
- void optionsChanged();
-
-protected:
- bool useNativeDialog() const override;
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
- void accept() override;
-
-private:
- QFont m_font;
- QFont m_currentFont; // TODO: QFontDialogOptions::initialFont
- QSharedPointer<QFontDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformFontDialog)
-
-#endif // QQUICKPLATFORMFONTDIALOG_P_H
diff --git a/src/imports/platform/qquickplatformicon.cpp b/src/imports/platform/qquickplatformicon.cpp
deleted file mode 100644
index 7096ff8a..00000000
--- a/src/imports/platform/qquickplatformicon.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformicon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QUrl QQuickPlatformIcon::source() const
-{
- return m_source;
-}
-
-void QQuickPlatformIcon::setSource(const QUrl& source)
-{
- m_source = source;
-}
-
-QString QQuickPlatformIcon::name() const
-{
- return m_name;
-}
-
-void QQuickPlatformIcon::setName(const QString& name)
-{
- m_name = name;
-}
-
-bool QQuickPlatformIcon::isMask() const
-{
- return m_mask;
-}
-
-void QQuickPlatformIcon::setMask(bool mask)
-{
- m_mask = mask;
-}
-
-bool QQuickPlatformIcon::operator==(const QQuickPlatformIcon &other) const
-{
- return m_source == other.m_source && m_name == other.m_name && m_mask == other.m_mask;
-}
-
-bool QQuickPlatformIcon::operator!=(const QQuickPlatformIcon &other) const
-{
- return !(*this == other);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformicon_p.h b/src/imports/platform/qquickplatformicon_p.h
deleted file mode 100644
index 9add9d6e..00000000
--- a/src/imports/platform/qquickplatformicon_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMICON_P_H
-#define QQUICKPLATFORMICON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qstring.h>
-
-QT_BEGIN_NAMESPACE
-
-class QObject;
-
-class QQuickPlatformIcon
-{
- Q_GADGET
- Q_PROPERTY(QUrl source READ source WRITE setSource)
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(bool mask READ isMask WRITE setMask)
-
-public:
- QUrl source() const;
- void setSource(const QUrl &source);
-
- QString name() const;
- void setName(const QString &name);
-
- bool isMask() const;
- void setMask(bool mask);
-
- bool operator==(const QQuickPlatformIcon &other) const;
- bool operator!=(const QQuickPlatformIcon &other) const;
-
-private:
- bool m_mask = false;
- QUrl m_source;
- QString m_name;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPLATFORMICON_P_H
diff --git a/src/imports/platform/qquickplatformiconloader.cpp b/src/imports/platform/qquickplatformiconloader.cpp
deleted file mode 100644
index c7b699b2..00000000
--- a/src/imports/platform/qquickplatformiconloader.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformiconloader_p.h"
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmetaobject.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickPlatformIconLoader::QQuickPlatformIconLoader(int slot, QObject *parent)
- : m_parent(parent),
- m_slot(slot),
- m_enabled(false)
-{
- Q_ASSERT(slot != -1 && parent);
-}
-
-bool QQuickPlatformIconLoader::isEnabled() const
-{
- return m_enabled;
-}
-
-void QQuickPlatformIconLoader::setEnabled(bool enabled)
-{
- m_enabled = enabled;
- if (m_enabled)
- loadIcon();
-}
-
-QIcon QQuickPlatformIconLoader::toQIcon() const
-{
- QIcon fallback = QPixmap::fromImage(image());
- QIcon icon = QIcon::fromTheme(m_icon.name(), fallback);
- icon.setIsMask(m_icon.isMask());
- return icon;
-}
-
-QQuickPlatformIcon QQuickPlatformIconLoader::icon() const
-{
- return m_icon;
-}
-
-void QQuickPlatformIconLoader::setIcon(const QQuickPlatformIcon& icon)
-{
- m_icon = icon;
- if (m_enabled)
- loadIcon();
-}
-
-void QQuickPlatformIconLoader::loadIcon()
-{
- if (m_icon.source().isEmpty()) {
- clear(m_parent);
- } else {
- load(qmlEngine(m_parent), m_icon.source());
- if (m_slot != -1 && isLoading()) {
- connectFinished(m_parent, m_slot);
- m_slot = -1;
- }
- }
-
- if (!isLoading())
- m_parent->metaObject()->method(m_slot).invoke(m_parent);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformiconloader_p.h b/src/imports/platform/qquickplatformiconloader_p.h
deleted file mode 100644
index d284a513..00000000
--- a/src/imports/platform/qquickplatformiconloader_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMICONLOADER_P_H
-#define QQUICKPLATFORMICONLOADER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qstring.h>
-#include <QtGui/qicon.h>
-#include <QtQuick/private/qquickpixmapcache_p.h>
-
-#include "qquickplatformicon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QObject;
-
-class QQuickPlatformIconLoader : public QQuickPixmap
-{
-public:
- QQuickPlatformIconLoader(int slot, QObject *parent);
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
- QIcon toQIcon() const;
-
- QQuickPlatformIcon icon() const;
- void setIcon(const QQuickPlatformIcon &icon);
-
-private:
- void loadIcon();
-
- QObject *m_parent;
- int m_slot;
- bool m_enabled;
- QQuickPlatformIcon m_icon;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPLATFORMICONLOADER_P_H
diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp
deleted file mode 100644
index 844fbbd9..00000000
--- a/src/imports/platform/qquickplatformmenu.cpp
+++ /dev/null
@@ -1,940 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformmenu_p.h"
-#include "qquickplatformmenubar_p.h"
-#include "qquickplatformmenuitem_p.h"
-#include "qquickplatformiconloader_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/qicon.h>
-#include <QtGui/qcursor.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtGui/private/qhighdpiscaling_p.h>
-#include <QtQml/private/qqmlengine_p.h>
-#include <QtQml/private/qv4scopedvalue_p.h>
-#include <QtQml/private/qv4qobjectwrapper_p.h>
-#include <QtQuick/qquickrendercontrol.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuick/qquickitem.h>
-
-#include "widgets/qwidgetplatform_p.h"
-
-#if QT_CONFIG(systemtrayicon)
-#include "qquickplatformsystemtrayicon_p.h"
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Menu
- \inherits QtObject
- \instantiates QQuickPlatformMenu
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native menu.
-
- The Menu type provides a QML API for native platform menu popups.
-
- \image qtlabsplatform-menu.png
-
- Menu can be used in a \l MenuBar, or as a stand-alone context menu.
- The following example shows how to open a context menu on right mouse
- click:
-
- \code
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.RightButton
- onClicked: zoomMenu.open()
- }
-
- Menu {
- id: zoomMenu
-
- MenuItem {
- text: qsTr("Zoom In")
- shortcut: StandardKey.ZoomIn
- onTriggered: zoomIn()
- }
-
- MenuItem {
- text: qsTr("Zoom Out")
- shortcut: StandardKey.ZoomOut
- onTriggered: zoomOut()
- }
- }
- \endcode
-
- \section2 Submenus
-
- To create submenus, declare a Menu as a child of another Menu:
-
- \qml
- Menu {
- title: qsTr("Edit")
-
- Menu {
- title: qsTr("Advanced")
-
- MenuItem {
- text: qsTr("Auto-indent Selection")
- onTriggered: autoIndentSelection()
- }
-
- MenuItem {
- text: qsTr("Rewrap Paragraph")
- onTriggered: rewrapParagraph()
- }
- }
- }
- \endqml
-
- \section2 Dynamically Generating Menu Items
-
- It is possible to dynamically generate menu items. One of the easiest ways
- to do so is with \l Instantiator. For example, to implement a
- "Recent Files" submenu, where the items are based on a list of files stored
- in settings, the following code could be used:
-
- \qml
- Menu {
- title: qsTr("File")
-
- Menu {
- id: recentFilesSubMenu
- title: qsTr("Recent Files")
- enabled: recentFilesInstantiator.count > 0
-
- Instantiator {
- id: recentFilesInstantiator
- model: settings.recentFiles
- delegate: MenuItem {
- text: settings.displayableFilePath(modelData)
- onTriggered: loadFile(modelData)
- }
-
- onObjectAdded: recentFilesSubMenu.insertItem(index, object)
- onObjectRemoved: recentFilesSubMenu.removeItem(object)
- }
-
- MenuSeparator {}
-
- MenuItem {
- text: qsTr("Clear Recent Files")
- onTriggered: settings.clearRecentFiles()
- }
- }
- }
- \endqml
-
- \section2 Availability
-
- A native platform menu is currently available on the following platforms:
-
- \list
- \li macOS
- \li iOS
- \li Android
- \li Linux (only available as a stand-alone context menu when running with the GTK+ platform theme)
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-
- \sa MenuItem, MenuSeparator, MenuBar
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::Menu::aboutToShow()
-
- This signal is emitted when the menu is about to be shown to the user.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::Menu::aboutToHide()
-
- This signal is emitted when the menu is about to be hidden from the user.
-*/
-
-Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformMenus)
-
-QQuickPlatformMenu::QQuickPlatformMenu(QObject *parent)
- : QObject(parent),
- m_complete(false),
- m_enabled(true),
- m_visible(true),
- m_minimumWidth(-1),
- m_type(QPlatformMenu::DefaultMenu),
- m_menuBar(nullptr),
- m_parentMenu(nullptr),
- m_systemTrayIcon(nullptr),
- m_menuItem(nullptr),
- m_iconLoader(nullptr),
- m_handle(nullptr)
-{
-}
-
-QQuickPlatformMenu::~QQuickPlatformMenu()
-{
- if (m_menuBar)
- m_menuBar->removeMenu(this);
- if (m_parentMenu)
- m_parentMenu->removeMenu(this);
-
- unparentSubmenus();
-
- delete m_iconLoader;
- m_iconLoader = nullptr;
- delete m_handle;
- m_handle = nullptr;
-}
-
-void QQuickPlatformMenu::unparentSubmenus()
-{
- for (QQuickPlatformMenuItem *item : qAsConst(m_items)) {
- if (QQuickPlatformMenu *subMenu = item->subMenu())
- subMenu->setParentMenu(nullptr);
- item->setMenu(nullptr);
- }
-}
-
-QPlatformMenu *QQuickPlatformMenu::handle() const
-{
- return m_handle;
-}
-
-QPlatformMenu * QQuickPlatformMenu::create()
-{
- if (!m_handle) {
- if (m_menuBar && m_menuBar->handle())
- m_handle = m_menuBar->handle()->createMenu();
- else if (m_parentMenu && m_parentMenu->handle())
- m_handle = m_parentMenu->handle()->createSubMenu();
-#if QT_CONFIG(systemtrayicon)
- else if (m_systemTrayIcon && m_systemTrayIcon->handle())
- m_handle = m_systemTrayIcon->handle()->createMenu();
-#endif
-
- // TODO: implement ^
- // - QCocoaMenuBar::createMenu()
- // - QCocoaMenu::createSubMenu()
- // - QCocoaSystemTrayIcon::createMenu()
- if (!m_handle)
- m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformMenu();
-
- if (!m_handle)
- m_handle = QWidgetPlatform::createMenu();
-
- qCDebug(qtLabsPlatformMenus) << "Menu ->" << m_handle;
-
- if (m_handle) {
- connect(m_handle, &QPlatformMenu::aboutToShow, this, &QQuickPlatformMenu::aboutToShow);
- connect(m_handle, &QPlatformMenu::aboutToHide, this, &QQuickPlatformMenu::aboutToHide);
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items))
- m_handle->insertMenuItem(item->create(), nullptr);
-
- if (m_menuItem) {
- if (QPlatformMenuItem *handle = m_menuItem->create())
- handle->setMenu(m_handle);
- }
- }
- }
- return m_handle;
-}
-
-void QQuickPlatformMenu::destroy()
-{
- if (!m_handle)
- return;
-
- // Ensure that all submenus are unparented before we are destroyed,
- // so that they don't try to access a destroyed menu.
- unparentSubmenus();
-
- delete m_handle;
- m_handle = nullptr;
-}
-
-void QQuickPlatformMenu::sync()
-{
- if (!m_complete || !create())
- return;
-
- m_handle->setText(m_title);
- m_handle->setEnabled(m_enabled);
- m_handle->setVisible(m_visible);
- m_handle->setMinimumWidth(m_minimumWidth);
- m_handle->setMenuType(m_type);
- m_handle->setFont(m_font);
-
- if (m_menuBar && m_menuBar->handle())
- m_menuBar->handle()->syncMenu(m_handle);
-#if QT_CONFIG(systemtrayicon)
- else if (m_systemTrayIcon && m_systemTrayIcon->handle())
- m_systemTrayIcon->handle()->updateMenu(m_handle);
-#endif
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items))
- item->sync();
-}
-
-/*!
- \default
- \qmlproperty list<Object> Qt.labs.platform::Menu::data
-
- This default property holds the list of all objects declared as children of
- the menu. The data property includes objects that are not \l MenuItem instances,
- such as \l Timer and \l QtObject.
-
- \sa items
-*/
-QQmlListProperty<QObject> QQuickPlatformMenu::data()
-{
- return QQmlListProperty<QObject>(this, nullptr, data_append, data_count, data_at, data_clear);
-}
-
-/*!
- \qmlproperty list<MenuItem> Qt.labs.platform::Menu::items
-
- This property holds the list of items in the menu.
-*/
-QQmlListProperty<QQuickPlatformMenuItem> QQuickPlatformMenu::items()
-{
- return QQmlListProperty<QQuickPlatformMenuItem>(this, nullptr, items_append, items_count, items_at, items_clear);
-}
-
-/*!
- \readonly
- \qmlproperty MenuBar Qt.labs.platform::Menu::menuBar
-
- This property holds the menubar that the menu belongs to, or \c null if the
- menu is not in a menubar.
-*/
-QQuickPlatformMenuBar *QQuickPlatformMenu::menuBar() const
-{
- return m_menuBar;
-}
-
-void QQuickPlatformMenu::setMenuBar(QQuickPlatformMenuBar *menuBar)
-{
- if (m_menuBar == menuBar)
- return;
-
- m_menuBar = menuBar;
- destroy();
- emit menuBarChanged();
-}
-
-/*!
- \readonly
- \qmlproperty Menu Qt.labs.platform::Menu::parentMenu
-
- This property holds the parent menu that the menu belongs to, or \c null if the
- menu is not a sub-menu.
-*/
-QQuickPlatformMenu *QQuickPlatformMenu::parentMenu() const
-{
- return m_parentMenu;
-}
-
-void QQuickPlatformMenu::setParentMenu(QQuickPlatformMenu *menu)
-{
- if (m_parentMenu == menu)
- return;
-
- m_parentMenu = menu;
- destroy();
- emit parentMenuChanged();
-}
-
-/*!
- \readonly
- \qmlproperty SystemTrayIcon Qt.labs.platform::Menu::systemTrayIcon
-
- This property holds the system tray icon that the menu belongs to, or \c null
- if the menu is not in a system tray icon.
-*/
-QQuickPlatformSystemTrayIcon *QQuickPlatformMenu::systemTrayIcon() const
-{
- return m_systemTrayIcon;
-}
-
-void QQuickPlatformMenu::setSystemTrayIcon(QQuickPlatformSystemTrayIcon *icon)
-{
- if (m_systemTrayIcon == icon)
- return;
-
- m_systemTrayIcon = icon;
- destroy();
- emit systemTrayIconChanged();
-}
-
-/*!
- \readonly
- \qmlproperty MenuItem Qt.labs.platform::Menu::menuItem
-
- This property holds the item that presents the menu (in a parent menu).
-*/
-QQuickPlatformMenuItem *QQuickPlatformMenu::menuItem() const
-{
- if (!m_menuItem) {
- QQuickPlatformMenu *that = const_cast<QQuickPlatformMenu *>(this);
- m_menuItem = new QQuickPlatformMenuItem(that);
- m_menuItem->setSubMenu(that);
- m_menuItem->setText(m_title);
- m_menuItem->setIconName(iconName());
- m_menuItem->setIconSource(iconSource());
- m_menuItem->setVisible(m_visible);
- m_menuItem->setEnabled(m_enabled);
- m_menuItem->componentComplete();
- }
- return m_menuItem;
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::Menu::enabled
-
- This property holds whether the menu is enabled. The default value is \c true.
-*/
-bool QQuickPlatformMenu::isEnabled() const
-{
- return m_enabled;
-}
-
-void QQuickPlatformMenu::setEnabled(bool enabled)
-{
- if (m_enabled == enabled)
- return;
-
- if (m_menuItem)
- m_menuItem->setEnabled(enabled);
-
- m_enabled = enabled;
- sync();
- emit enabledChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::Menu::visible
-
- This property holds whether the menu is visible. The default value is \c true.
-*/
-bool QQuickPlatformMenu::isVisible() const
-{
- return m_visible;
-}
-
-void QQuickPlatformMenu::setVisible(bool visible)
-{
- if (m_visible == visible)
- return;
-
- if (m_menuItem)
- m_menuItem->setVisible(visible);
-
- m_visible = visible;
- sync();
- emit visibleChanged();
-}
-
-/*!
- \qmlproperty int Qt.labs.platform::Menu::minimumWidth
-
- This property holds the minimum width of the menu. The default value is \c -1 (no minimum width).
-*/
-int QQuickPlatformMenu::minimumWidth() const
-{
- return m_minimumWidth;
-}
-
-void QQuickPlatformMenu::setMinimumWidth(int width)
-{
- if (m_minimumWidth == width)
- return;
-
- m_minimumWidth = width;
- sync();
- emit minimumWidthChanged();
-}
-
-/*!
- \qmlproperty enumeration Qt.labs.platform::Menu::type
-
- This property holds the type of the menu.
-
- Available values:
- \value Menu.DefaultMenu A normal menu (default).
- \value Menu.EditMenu An edit menu with pre-populated cut, copy and paste items.
-*/
-QPlatformMenu::MenuType QQuickPlatformMenu::type() const
-{
- return m_type;
-}
-
-void QQuickPlatformMenu::setType(QPlatformMenu::MenuType type)
-{
- if (m_type == type)
- return;
-
- m_type = type;
- sync();
- emit typeChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::Menu::title
-
- This property holds the menu's title.
-*/
-QString QQuickPlatformMenu::title() const
-{
- return m_title;
-}
-
-void QQuickPlatformMenu::setTitle(const QString &title)
-{
- if (m_title == title)
- return;
-
- if (m_menuItem)
- m_menuItem->setText(title);
-
- m_title = title;
- sync();
- emit titleChanged();
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::Menu::iconSource
- \deprecated Use icon.source instead
-*/
-QUrl QQuickPlatformMenu::iconSource() const
-{
- return icon().source();
-}
-
-void QQuickPlatformMenu::setIconSource(const QUrl& source)
-{
- QQuickPlatformIcon newIcon = icon();
- if (source == newIcon.source())
- return;
-
- if (m_menuItem)
- m_menuItem->setIconSource(source);
-
- newIcon.setSource(source);
- iconLoader()->setIcon(newIcon);
- emit iconSourceChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::Menu::iconName
- \deprecated Use icon.name instead
-*/
-QString QQuickPlatformMenu::iconName() const
-{
- return icon().name();
-}
-
-void QQuickPlatformMenu::setIconName(const QString& name)
-{
- QQuickPlatformIcon newIcon = icon();
- if (name == newIcon.name())
- return;
-
- if (m_menuItem)
- m_menuItem->setIconName(name);
-
- newIcon.setName(name);
- iconLoader()->setIcon(newIcon);
- emit iconNameChanged();}
-
-/*!
- \qmlproperty font Qt.labs.platform::Menu::font
-
- This property holds the menu's font.
-
- \sa text
-*/
-QFont QQuickPlatformMenu::font() const
-{
- return m_font;
-}
-
-void QQuickPlatformMenu::setFont(const QFont& font)
-{
- if (m_font == font)
- return;
-
- m_font = font;
- sync();
- emit fontChanged();
-}
-
-/*!
- \since Qt.labs.platform 1.1 (Qt 5.12)
- \qmlpropertygroup Qt.labs.platform::MenuItem::icon
- \qmlproperty url Qt.labs.platform::MenuItem::icon.source
- \qmlproperty string Qt.labs.platform::MenuItem::icon.name
- \qmlproperty bool Qt.labs.platform::MenuItem::icon.mask
-
- This property holds the menu item's icon.
-*/
-QQuickPlatformIcon QQuickPlatformMenu::icon() const
-{
- if (!m_iconLoader)
- return QQuickPlatformIcon();
-
- return iconLoader()->icon();
-}
-
-void QQuickPlatformMenu::setIcon(const QQuickPlatformIcon &icon)
-{
- if (iconLoader()->icon() == icon)
- return;
-
- if (m_menuItem)
- m_menuItem->setIcon(icon);
-
- iconLoader()->setIcon(icon);
- emit iconChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::addItem(MenuItem item)
-
- Adds an \a item to the end of the menu.
-*/
-void QQuickPlatformMenu::addItem(QQuickPlatformMenuItem *item)
-{
- insertItem(m_items.count(), item);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::insertItem(int index, MenuItem item)
-
- Inserts an \a item at the specified \a index in the menu.
-*/
-void QQuickPlatformMenu::insertItem(int index, QQuickPlatformMenuItem *item)
-{
- if (!item || m_items.contains(item))
- return;
-
- m_items.insert(index, item);
- m_data.append(item);
- item->setMenu(this);
- if (m_handle && item->create()) {
- QQuickPlatformMenuItem *before = m_items.value(index + 1);
- m_handle->insertMenuItem(item->handle(), before ? before->create() : nullptr);
- }
- sync();
- emit itemsChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::removeItem(MenuItem item)
-
- Removes an \a item from the menu.
-*/
-void QQuickPlatformMenu::removeItem(QQuickPlatformMenuItem *item)
-{
- if (!item || !m_items.removeOne(item))
- return;
-
- m_data.removeOne(item);
- if (m_handle)
- m_handle->removeMenuItem(item->handle());
- item->setMenu(nullptr);
- sync();
- emit itemsChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::addMenu(Menu submenu)
-
- Adds a \a submenu to the end of the menu.
-*/
-void QQuickPlatformMenu::addMenu(QQuickPlatformMenu *menu)
-{
- insertMenu(m_items.count(), menu);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::insertMenu(int index, Menu submenu)
-
- Inserts a \a submenu at the specified \a index in the menu.
-*/
-void QQuickPlatformMenu::insertMenu(int index, QQuickPlatformMenu *menu)
-{
- if (!menu)
- return;
-
- menu->setParentMenu(this);
- insertItem(index, menu->menuItem());
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::removeMenu(Menu submenu)
-
- Removes a \a submenu from the menu.
-*/
-void QQuickPlatformMenu::removeMenu(QQuickPlatformMenu *menu)
-{
- if (!menu)
- return;
-
- menu->setParentMenu(nullptr);
- removeItem(menu->menuItem());
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::clear()
-
- Removes all items from the menu.
-*/
-void QQuickPlatformMenu::clear()
-{
- if (m_items.isEmpty())
- return;
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items)) {
- m_data.removeOne(item);
- if (m_handle)
- m_handle->removeMenuItem(item->handle());
- item->setMenu(nullptr);
- delete item;
- }
-
- m_items.clear();
- sync();
- emit itemsChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::open(MenuItem item)
-
- Opens the menu at the current mouse position, optionally aligned to a menu \a item.
-*/
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::open(Item target, MenuItem item)
-
- Opens the menu at the specified \a target item, optionally aligned to a menu \a item.
-*/
-void QQuickPlatformMenu::open(QQmlV4Function *args)
-{
- if (!m_handle)
- return;
-
- if (args->length() > 2) {
- args->v4engine()->throwTypeError();
- return;
- }
-
- QV4::ExecutionEngine *v4 = args->v4engine();
- QV4::Scope scope(v4);
-
- QQuickItem *targetItem = nullptr;
- if (args->length() > 0) {
- QV4::ScopedValue value(scope, (*args)[0]);
- QV4::Scoped<QV4::QObjectWrapper> object(scope, value->as<QV4::QObjectWrapper>());
- if (object)
- targetItem = qobject_cast<QQuickItem *>(object->object());
- }
-
- QQuickPlatformMenuItem *menuItem = nullptr;
- if (args->length() > 1) {
- QV4::ScopedValue value(scope, (*args)[1]);
- QV4::Scoped<QV4::QObjectWrapper> object(scope, value->as<QV4::QObjectWrapper>());
- if (object)
- menuItem = qobject_cast<QQuickPlatformMenuItem *>(object->object());
- }
-
- QPoint offset;
- QWindow *window = findWindow(targetItem, &offset);
-
- QRect targetRect;
- if (targetItem) {
- QRectF sceneBounds = targetItem->mapRectToScene(targetItem->boundingRect());
- targetRect = sceneBounds.toAlignedRect().translated(offset);
- } else {
-#if QT_CONFIG(cursor)
- QPoint pos = QCursor::pos();
- if (window)
- pos = window->mapFromGlobal(pos);
- targetRect.moveTo(pos);
-#endif
- }
- m_handle->showPopup(window,
- QHighDpi::toNativePixels(targetRect, window),
- menuItem ? menuItem->handle() : nullptr);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::Menu::close()
-
- Closes the menu.
-*/
-void QQuickPlatformMenu::close()
-{
- if (m_handle)
- m_handle->dismiss();
-}
-
-void QQuickPlatformMenu::classBegin()
-{
-}
-
-void QQuickPlatformMenu::componentComplete()
-{
- m_complete = true;
- if (m_handle && m_iconLoader)
- m_iconLoader->setEnabled(true);
- sync();
-}
-
-QQuickPlatformIconLoader *QQuickPlatformMenu::iconLoader() const
-{
- if (!m_iconLoader) {
- QQuickPlatformMenu *that = const_cast<QQuickPlatformMenu *>(this);
- static int slot = staticMetaObject.indexOfSlot("updateIcon()");
- m_iconLoader = new QQuickPlatformIconLoader(slot, that);
- m_iconLoader->setEnabled(m_complete);
- }
- return m_iconLoader;
-}
-
-static QWindow *effectiveWindow(QWindow *window, QPoint *offset)
-{
- QQuickWindow *quickWindow = qobject_cast<QQuickWindow *>(window);
- if (quickWindow) {
- QWindow *renderWindow = QQuickRenderControl::renderWindowFor(quickWindow, offset);
- if (renderWindow)
- return renderWindow;
- }
- return window;
-}
-
-QWindow *QQuickPlatformMenu::findWindow(QQuickItem *target, QPoint *offset) const
-{
- if (target)
- return effectiveWindow(target->window(), offset);
-
- if (m_menuBar && m_menuBar->window())
- return effectiveWindow(m_menuBar->window(), offset);
-
- QObject *obj = parent();
- while (obj) {
- QWindow *window = qobject_cast<QWindow *>(obj);
- if (window)
- return effectiveWindow(window, offset);
-
- QQuickItem *item = qobject_cast<QQuickItem *>(obj);
- if (item && item->window())
- return effectiveWindow(item->window(), offset);
-
- obj = obj->parent();
- }
- return nullptr;
-}
-
-void QQuickPlatformMenu::data_append(QQmlListProperty<QObject> *property, QObject *object)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- if (QQuickPlatformMenuItem *item = qobject_cast<QQuickPlatformMenuItem *>(object))
- menu->addItem(item);
- else if (QQuickPlatformMenu *subMenu = qobject_cast<QQuickPlatformMenu *>(object))
- menu->addMenu(subMenu);
- else
- menu->m_data.append(object);
-}
-
-int QQuickPlatformMenu::data_count(QQmlListProperty<QObject> *property)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- return menu->m_data.count();
-}
-
-QObject *QQuickPlatformMenu::data_at(QQmlListProperty<QObject> *property, int index)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- return menu->m_data.value(index);
-}
-
-void QQuickPlatformMenu::data_clear(QQmlListProperty<QObject> *property)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- menu->m_data.clear();
-}
-
-void QQuickPlatformMenu::items_append(QQmlListProperty<QQuickPlatformMenuItem> *property, QQuickPlatformMenuItem *item)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- menu->addItem(item);
-}
-
-int QQuickPlatformMenu::items_count(QQmlListProperty<QQuickPlatformMenuItem> *property)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- return menu->m_items.count();
-}
-
-QQuickPlatformMenuItem *QQuickPlatformMenu::items_at(QQmlListProperty<QQuickPlatformMenuItem> *property, int index)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- return menu->m_items.value(index);
-}
-
-void QQuickPlatformMenu::items_clear(QQmlListProperty<QQuickPlatformMenuItem> *property)
-{
- QQuickPlatformMenu *menu = static_cast<QQuickPlatformMenu *>(property->object);
- menu->clear();
-}
-
-void QQuickPlatformMenu::updateIcon()
-{
- if (!m_handle || !m_iconLoader)
- return;
-
- m_handle->setIcon(m_iconLoader->toQIcon());
- sync();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformmenu_p.h b/src/imports/platform/qquickplatformmenu_p.h
deleted file mode 100644
index eb18f66b..00000000
--- a/src/imports/platform/qquickplatformmenu_p.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMMENU_P_H
-#define QQUICKPLATFORMMENU_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qurl.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qpa/qplatformmenu.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqmllist.h>
-#include <QtQml/qqml.h>
-
-#include "qquickplatformicon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QIcon;
-class QWindow;
-class QQuickItem;
-class QPlatformMenu;
-class QQmlV4Function;
-class QQuickPlatformMenuBar;
-class QQuickPlatformMenuItem;
-class QQuickPlatformIconLoader;
-class QQuickPlatformSystemTrayIcon;
-
-class QQuickPlatformMenu : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QQmlListProperty<QObject> data READ data FINAL)
- Q_PROPERTY(QQmlListProperty<QQuickPlatformMenuItem> items READ items NOTIFY itemsChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenuBar *menuBar READ menuBar NOTIFY menuBarChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenu *parentMenu READ parentMenu NOTIFY parentMenuChanged FINAL)
- Q_PROPERTY(QQuickPlatformSystemTrayIcon *systemTrayIcon READ systemTrayIcon NOTIFY systemTrayIconChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenuItem *menuItem READ menuItem CONSTANT FINAL)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(int minimumWidth READ minimumWidth WRITE setMinimumWidth NOTIFY minimumWidthChanged FINAL)
- Q_PROPERTY(QPlatformMenu::MenuType type READ type WRITE setType NOTIFY typeChanged FINAL)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(QUrl iconSource READ iconSource WRITE setIconSource NOTIFY iconSourceChanged FINAL)
- Q_PROPERTY(QString iconName READ iconName WRITE setIconName NOTIFY iconNameChanged FINAL)
- Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged FINAL)
- Q_PROPERTY(QQuickPlatformIcon icon READ icon WRITE setIcon NOTIFY iconChanged FINAL REVISION 1)
- Q_ENUMS(QPlatformMenu::MenuType)
- Q_CLASSINFO("DefaultProperty", "data")
-
-public:
- explicit QQuickPlatformMenu(QObject *parent = nullptr);
- ~QQuickPlatformMenu();
-
- QPlatformMenu *handle() const;
- QPlatformMenu *create();
- void destroy();
- void sync();
-
- QQmlListProperty<QObject> data();
- QQmlListProperty<QQuickPlatformMenuItem> items();
-
- QQuickPlatformMenuBar *menuBar() const;
- void setMenuBar(QQuickPlatformMenuBar *menuBar);
-
- QQuickPlatformMenu *parentMenu() const;
- void setParentMenu(QQuickPlatformMenu *menu);
-
- QQuickPlatformSystemTrayIcon *systemTrayIcon() const;
- void setSystemTrayIcon(QQuickPlatformSystemTrayIcon *icon);
-
- QQuickPlatformMenuItem *menuItem() const;
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- int minimumWidth() const;
- void setMinimumWidth(int width);
-
- QPlatformMenu::MenuType type() const;
- void setType(QPlatformMenu::MenuType type);
-
- QString title() const;
- void setTitle(const QString &title);
-
- QUrl iconSource() const;
- void setIconSource(const QUrl &source);
-
- QString iconName() const;
- void setIconName(const QString &name);
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QQuickPlatformIcon icon() const;
- void setIcon(const QQuickPlatformIcon &icon);
-
- Q_INVOKABLE void addItem(QQuickPlatformMenuItem *item);
- Q_INVOKABLE void insertItem(int index, QQuickPlatformMenuItem *item);
- Q_INVOKABLE void removeItem(QQuickPlatformMenuItem *item);
-
- Q_INVOKABLE void addMenu(QQuickPlatformMenu *menu);
- Q_INVOKABLE void insertMenu(int index, QQuickPlatformMenu *menu);
- Q_INVOKABLE void removeMenu(QQuickPlatformMenu *menu);
-
- Q_INVOKABLE void clear();
-
-public Q_SLOTS:
- void open(QQmlV4Function *args);
- void close();
-
-Q_SIGNALS:
- void aboutToShow();
- void aboutToHide();
-
- void itemsChanged();
- void menuBarChanged();
- void parentMenuChanged();
- void systemTrayIconChanged();
- void titleChanged();
- void iconSourceChanged();
- void iconNameChanged();
- void enabledChanged();
- void visibleChanged();
- void minimumWidthChanged();
- void fontChanged();
- void typeChanged();
- Q_REVISION(1) void iconChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- QQuickPlatformIconLoader *iconLoader() const;
-
- QWindow *findWindow(QQuickItem *target, QPoint *offset) const;
-
- static void data_append(QQmlListProperty<QObject> *property, QObject *object);
- static int data_count(QQmlListProperty<QObject> *property);
- static QObject *data_at(QQmlListProperty<QObject> *property, int index);
- static void data_clear(QQmlListProperty<QObject> *property);
-
- static void items_append(QQmlListProperty<QQuickPlatformMenuItem> *property, QQuickPlatformMenuItem *item);
- static int items_count(QQmlListProperty<QQuickPlatformMenuItem> *property);
- static QQuickPlatformMenuItem *items_at(QQmlListProperty<QQuickPlatformMenuItem> *property, int index);
- static void items_clear(QQmlListProperty<QQuickPlatformMenuItem> *property);
-
-private Q_SLOTS:
- void updateIcon();
-
-private:
- void unparentSubmenus();
-
- bool m_complete;
- bool m_enabled;
- bool m_visible;
- int m_minimumWidth;
- QPlatformMenu::MenuType m_type;
- QString m_title;
- QFont m_font;
- QList<QObject *> m_data;
- QList<QQuickPlatformMenuItem *> m_items;
- QQuickPlatformMenuBar *m_menuBar;
- QQuickPlatformMenu *m_parentMenu;
- QQuickPlatformSystemTrayIcon *m_systemTrayIcon;
- mutable QQuickPlatformMenuItem *m_menuItem;
- mutable QQuickPlatformIconLoader *m_iconLoader;
- QPlatformMenu *m_handle;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformMenu)
-Q_DECLARE_METATYPE(QPlatformMenu::MenuType)
-
-#endif // QQUICKPLATFORMMENU_P_H
diff --git a/src/imports/platform/qquickplatformmenubar.cpp b/src/imports/platform/qquickplatformmenubar.cpp
deleted file mode 100644
index 4487b9a7..00000000
--- a/src/imports/platform/qquickplatformmenubar.cpp
+++ /dev/null
@@ -1,330 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformmenubar_p.h"
-#include "qquickplatformmenu_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/qpa/qplatformmenu.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuick/qquickitem.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuBar
- \inherits QtObject
- \instantiates QQuickPlatformMenuBar
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native menubar.
-
- The MenuBar type provides a QML API for native platform menubars.
-
- \image qtlabsplatform-menubar.png
-
- A menubar consists of a list of drop-down menus.
-
- \code
- MenuBar {
- id: menuBar
-
- Menu {
- id: fileMenu
- title: qsTr("File")
- // ...
- }
-
- Menu {
- id: editMenu
- title: qsTr("&Edit")
- // ...
- }
-
- Menu {
- id: viewMenu
- title: qsTr("&View")
- // ...
- }
-
- Menu {
- id: helpMenu
- title: qsTr("&Help")
- // ...
- }
- }
- \endcode
-
- MenuBar is currently available on the following platforms:
-
- \list
- \li macOS
- \li Android
- \li Linux (only available on desktop environments that provide a global D-Bus menu bar)
- \endlist
-
- \labs
-
- \sa Menu
-*/
-
-Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformMenus)
-
-QQuickPlatformMenuBar::QQuickPlatformMenuBar(QObject *parent)
- : QObject(parent),
- m_complete(false),
- m_window(nullptr),
- m_handle(nullptr)
-{
- m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformMenuBar();
- qCDebug(qtLabsPlatformMenus) << "MenuBar ->" << m_handle;
-}
-
-QQuickPlatformMenuBar::~QQuickPlatformMenuBar()
-{
- for (QQuickPlatformMenu *menu : qAsConst(m_menus))
- menu->setMenuBar(nullptr);
- delete m_handle;
- m_handle = nullptr;
-}
-
-QPlatformMenuBar *QQuickPlatformMenuBar::handle() const
-{
- return m_handle;
-}
-
-/*!
- \default
- \qmlproperty list<Object> Qt.labs.platform::MenuBar::data
-
- This default property holds the list of all objects declared as children of
- the menubar. The data property includes objects that are not \l Menu instances,
- such as \l Timer and \l QtObject.
-
- \sa menus
-*/
-QQmlListProperty<QObject> QQuickPlatformMenuBar::data()
-{
- return QQmlListProperty<QObject>(this, nullptr, data_append, data_count, data_at, data_clear);
-}
-
-/*!
- \qmlproperty list<Menu> Qt.labs.platform::MenuBar::menus
-
- This property holds the list of menus in the menubar.
-*/
-QQmlListProperty<QQuickPlatformMenu> QQuickPlatformMenuBar::menus()
-{
- return QQmlListProperty<QQuickPlatformMenu>(this, nullptr, menus_append, menus_count, menus_at, menus_clear);
-}
-
-/*!
- \qmlproperty Window Qt.labs.platform::MenuBar::window
-
- This property holds the menubar's window.
-
- Unless explicitly set, the window is automatically resolved by iterating
- the QML parent objects until a \l Window or an \l Item that has a window
- is found.
-*/
-QWindow *QQuickPlatformMenuBar::window() const
-{
- return m_window;
-}
-
-void QQuickPlatformMenuBar::setWindow(QWindow *window)
-{
- if (m_window == window)
- return;
-
- if (m_handle)
- m_handle->handleReparent(window);
-
- m_window = window;
- emit windowChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuBar::addMenu(Menu menu)
-
- Adds a \a menu to end of the menubar.
-*/
-void QQuickPlatformMenuBar::addMenu(QQuickPlatformMenu *menu)
-{
- insertMenu(m_menus.count(), menu);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuBar::insertMenu(int index, Menu menu)
-
- Inserts a \a menu at the specified \a index in the menubar.
-*/
-void QQuickPlatformMenuBar::insertMenu(int index, QQuickPlatformMenu *menu)
-{
- if (!menu || m_menus.contains(menu))
- return;
-
- QQuickPlatformMenu *before = m_menus.value(index);
- m_menus.insert(index, menu);
- m_data.append(menu);
- menu->setMenuBar(this);
- if (m_handle)
- m_handle->insertMenu(menu->create(), before ? before->handle() : nullptr);
- emit menusChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuBar::removeMenu(Menu menu)
-
- Removes a \a menu from the menubar.
-*/
-void QQuickPlatformMenuBar::removeMenu(QQuickPlatformMenu *menu)
-{
- if (!menu || !m_menus.removeOne(menu))
- return;
-
- m_data.removeOne(menu);
- if (m_handle)
- m_handle->removeMenu(menu->handle());
- menu->setMenuBar(nullptr);
- emit menusChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuBar::clear()
-
- Removes all menus from the menubar.
-*/
-void QQuickPlatformMenuBar::clear()
-{
- if (m_menus.isEmpty())
- return;
-
- for (QQuickPlatformMenu *menu : qAsConst(m_menus)) {
- m_data.removeOne(menu);
- if (m_handle)
- m_handle->removeMenu(menu->handle());
- menu->setMenuBar(nullptr);
- delete menu;
- }
-
- m_menus.clear();
- emit menusChanged();
-}
-
-void QQuickPlatformMenuBar::classBegin()
-{
-}
-
-void QQuickPlatformMenuBar::componentComplete()
-{
- m_complete = true;
- for (QQuickPlatformMenu *menu : qAsConst(m_menus))
- menu->sync();
- if (!m_window)
- setWindow(findWindow());
-}
-
-QWindow *QQuickPlatformMenuBar::findWindow() const
-{
- QObject *obj = parent();
- while (obj) {
- QWindow *window = qobject_cast<QWindow *>(obj);
- if (window)
- return window;
- QQuickItem *item = qobject_cast<QQuickItem *>(obj);
- if (item && item->window())
- return item->window();
- obj = obj->parent();
- }
- return nullptr;
-}
-
-void QQuickPlatformMenuBar::data_append(QQmlListProperty<QObject> *property, QObject *object)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- QQuickPlatformMenu *menu = qobject_cast<QQuickPlatformMenu *>(object);
- if (menu)
- menuBar->addMenu(menu);
- else
- menuBar->m_data.append(object);
-}
-
-int QQuickPlatformMenuBar::data_count(QQmlListProperty<QObject> *property)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- return menuBar->m_data.count();
-}
-
-QObject *QQuickPlatformMenuBar::data_at(QQmlListProperty<QObject> *property, int index)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- return menuBar->m_data.value(index);
-}
-
-void QQuickPlatformMenuBar::data_clear(QQmlListProperty<QObject> *property)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- menuBar->m_data.clear();
-}
-
-void QQuickPlatformMenuBar::menus_append(QQmlListProperty<QQuickPlatformMenu> *property, QQuickPlatformMenu *menu)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- menuBar->addMenu(menu);
-}
-
-int QQuickPlatformMenuBar::menus_count(QQmlListProperty<QQuickPlatformMenu> *property)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- return menuBar->m_menus.count();
-}
-
-QQuickPlatformMenu *QQuickPlatformMenuBar::menus_at(QQmlListProperty<QQuickPlatformMenu> *property, int index)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- return menuBar->m_menus.value(index);
-}
-
-void QQuickPlatformMenuBar::menus_clear(QQmlListProperty<QQuickPlatformMenu> *property)
-{
- QQuickPlatformMenuBar *menuBar = static_cast<QQuickPlatformMenuBar *>(property->object);
- menuBar->clear();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformmenubar_p.h b/src/imports/platform/qquickplatformmenubar_p.h
deleted file mode 100644
index d4573976..00000000
--- a/src/imports/platform/qquickplatformmenubar_p.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMMENUBAR_P_H
-#define QQUICKPLATFORMMENUBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqmllist.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWindow;
-class QPlatformMenuBar;
-class QQuickPlatformMenu;
-
-class QQuickPlatformMenuBar : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QQmlListProperty<QObject> data READ data FINAL)
- Q_PROPERTY(QQmlListProperty<QQuickPlatformMenu> menus READ menus NOTIFY menusChanged FINAL)
- Q_PROPERTY(QWindow *window READ window WRITE setWindow NOTIFY windowChanged FINAL)
- Q_CLASSINFO("DefaultProperty", "data")
-
-public:
- explicit QQuickPlatformMenuBar(QObject *parent = nullptr);
- ~QQuickPlatformMenuBar();
-
- QPlatformMenuBar *handle() const;
-
- QQmlListProperty<QObject> data();
- QQmlListProperty<QQuickPlatformMenu> menus();
-
- QWindow *window() const;
- void setWindow(QWindow *window);
-
- Q_INVOKABLE void addMenu(QQuickPlatformMenu *menu);
- Q_INVOKABLE void insertMenu(int index, QQuickPlatformMenu *menu);
- Q_INVOKABLE void removeMenu(QQuickPlatformMenu *menu);
- Q_INVOKABLE void clear();
-
-Q_SIGNALS:
- void menusChanged();
- void windowChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- QWindow *findWindow() const;
-
- static void data_append(QQmlListProperty<QObject> *property, QObject *object);
- static int data_count(QQmlListProperty<QObject> *property);
- static QObject *data_at(QQmlListProperty<QObject> *property, int index);
- static void data_clear(QQmlListProperty<QObject> *property);
-
- static void menus_append(QQmlListProperty<QQuickPlatformMenu> *property, QQuickPlatformMenu *menu);
- static int menus_count(QQmlListProperty<QQuickPlatformMenu> *property);
- static QQuickPlatformMenu *menus_at(QQmlListProperty<QQuickPlatformMenu> *property, int index);
- static void menus_clear(QQmlListProperty<QQuickPlatformMenu> *property);
-
-private:
- bool m_complete;
- QWindow *m_window;
- QList<QObject *> m_data;
- QList<QQuickPlatformMenu *> m_menus;
- QPlatformMenuBar *m_handle;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformMenuBar)
-
-#endif // QQUICKPLATFORMMENUBAR_P_H
diff --git a/src/imports/platform/qquickplatformmenuitem.cpp b/src/imports/platform/qquickplatformmenuitem.cpp
deleted file mode 100644
index d657fd12..00000000
--- a/src/imports/platform/qquickplatformmenuitem.cpp
+++ /dev/null
@@ -1,625 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformmenuitem_p.h"
-#include "qquickplatformmenu_p.h"
-#include "qquickplatformmenuitemgroup_p.h"
-#include "qquickplatformiconloader_p.h"
-
-#include <QtGui/qicon.h>
-#include <QtGui/qkeysequence.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/private/qguiapplication_p.h>
-
-#include "widgets/qwidgetplatform_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuItem
- \inherits QtObject
- \instantiates QQuickPlatformMenuItem
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native menu item.
-
- The MenuItem type provides a QML API for native platform menu items.
-
- \image qtlabsplatform-menu.png
-
- A menu item consists of an \l {iconSource}{icon}, \l text, and \l shortcut.
-
- \code
- Menu {
- id: zoomMenu
-
- MenuItem {
- text: qsTr("Zoom In")
- shortcut: StandardKey.ZoomIn
- onTriggered: zoomIn()
- }
-
- MenuItem {
- text: qsTr("Zoom Out")
- shortcut: StandardKey.ZoomOut
- onTriggered: zoomOut()
- }
- }
- \endcode
-
- \labs
-
- \sa Menu, MenuItemGroup
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MenuItem::triggered()
-
- This signal is emitted when the menu item is triggered by the user.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MenuItem::hovered()
-
- This signal is emitted when the menu item is hovered by the user.
-*/
-
-QQuickPlatformMenuItem::QQuickPlatformMenuItem(QObject *parent)
- : QObject(parent),
- m_complete(false),
- m_enabled(true),
- m_visible(true),
- m_separator(false),
- m_checkable(false),
- m_checked(false),
- m_role(QPlatformMenuItem::TextHeuristicRole),
- m_menu(nullptr),
- m_subMenu(nullptr),
- m_group(nullptr),
- m_iconLoader(nullptr),
- m_handle(nullptr)
-{
-}
-
-QQuickPlatformMenuItem::~QQuickPlatformMenuItem()
-{
- if (m_menu)
- m_menu->removeItem(this);
- if (m_group)
- m_group->removeItem(this);
- delete m_iconLoader;
- m_iconLoader = nullptr;
- delete m_handle;
- m_handle = nullptr;
-}
-
-QPlatformMenuItem *QQuickPlatformMenuItem::handle() const
-{
- return m_handle;
-}
-
-QPlatformMenuItem *QQuickPlatformMenuItem::create()
-{
- if (!m_handle && m_menu && m_menu->handle()) {
- m_handle = m_menu->handle()->createMenuItem();
-
- // TODO: implement QCocoaMenu::createMenuItem()
- if (!m_handle)
- m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformMenuItem();
-
- if (!m_handle)
- m_handle = QWidgetPlatform::createMenuItem();
-
- if (m_handle) {
- connect(m_handle, &QPlatformMenuItem::activated, this, &QQuickPlatformMenuItem::activate);
- connect(m_handle, &QPlatformMenuItem::hovered, this, &QQuickPlatformMenuItem::hovered);
- }
- }
- return m_handle;
-}
-
-void QQuickPlatformMenuItem::sync()
-{
- if (!m_complete || !create())
- return;
-
- m_handle->setEnabled(isEnabled());
- m_handle->setVisible(isVisible());
- m_handle->setIsSeparator(m_separator);
- m_handle->setCheckable(m_checkable);
- m_handle->setChecked(m_checked);
- m_handle->setRole(m_role);
- m_handle->setText(m_text);
- m_handle->setFont(m_font);
- m_handle->setHasExclusiveGroup(m_group && m_group->isExclusive());
- if (m_subMenu && m_subMenu->handle())
- m_handle->setMenu(m_subMenu->handle());
-
-#if QT_CONFIG(shortcut)
- QKeySequence sequence;
- if (m_shortcut.type() == QVariant::Int)
- sequence = QKeySequence(static_cast<QKeySequence::StandardKey>(m_shortcut.toInt()));
- else
- sequence = QKeySequence::fromString(m_shortcut.toString());
- m_handle->setShortcut(sequence.toString());
-#endif
-
- if (m_menu && m_menu->handle())
- m_menu->handle()->syncMenuItem(m_handle);
-}
-
-/*!
- \readonly
- \qmlproperty Menu Qt.labs.platform::MenuItem::menu
-
- This property holds the menu that the item belongs to, or \c null if the
- item is not in a menu.
-*/
-QQuickPlatformMenu *QQuickPlatformMenuItem::menu() const
-{
- return m_menu;
-}
-
-void QQuickPlatformMenuItem::setMenu(QQuickPlatformMenu *menu)
-{
- if (m_menu == menu)
- return;
-
- m_menu = menu;
- emit menuChanged();
-}
-
-/*!
- \readonly
- \qmlproperty Menu Qt.labs.platform::MenuItem::subMenu
-
- This property holds the sub-menu that the item contains, or \c null if
- the item is not a sub-menu item.
-*/
-QQuickPlatformMenu *QQuickPlatformMenuItem::subMenu() const
-{
- return m_subMenu;
-}
-
-void QQuickPlatformMenuItem::setSubMenu(QQuickPlatformMenu *menu)
-{
- if (m_subMenu == menu)
- return;
-
- m_subMenu = menu;
- sync();
- emit subMenuChanged();
-}
-
-/*!
- \qmlproperty MenuItemGroup Qt.labs.platform::MenuItem::group
-
- This property holds the group that the item belongs to, or \c null if the
- item is not in a group.
-*/
-QQuickPlatformMenuItemGroup *QQuickPlatformMenuItem::group() const
-{
- return m_group;
-}
-
-void QQuickPlatformMenuItem::setGroup(QQuickPlatformMenuItemGroup *group)
-{
- if (m_group == group)
- return;
-
- bool wasEnabled = isEnabled();
- bool wasVisible = isVisible();
-
- if (group)
- group->addItem(this);
-
- m_group = group;
- sync();
- emit groupChanged();
-
- if (isEnabled() != wasEnabled)
- emit enabledChanged();
- if (isVisible() != wasVisible)
- emit visibleChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItem::enabled
-
- This property holds whether the item is enabled. The default value is \c true.
-
- Disabled items cannot be triggered by the user. They do not disappear from menus,
- but they are displayed in a way which indicates that they are unavailable. For
- example, they might be displayed using only shades of gray.
-
- When an item is disabled, it is not possible to trigger it through its \l shortcut.
-*/
-bool QQuickPlatformMenuItem::isEnabled() const
-{
- return m_enabled && (!m_group || m_group->isEnabled());
-}
-
-void QQuickPlatformMenuItem::setEnabled(bool enabled)
-{
- if (m_enabled == enabled)
- return;
-
- bool wasEnabled = isEnabled();
- m_enabled = enabled;
- sync();
- if (isEnabled() != wasEnabled)
- emit enabledChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItem::visible
-
- This property holds whether the item is visible. The default value is \c true.
-*/
-bool QQuickPlatformMenuItem::isVisible() const
-{
- return m_visible && (!m_group || m_group->isVisible());
-}
-
-void QQuickPlatformMenuItem::setVisible(bool visible)
-{
- if (m_visible == visible)
- return;
-
- bool wasVisible = isVisible();
- m_visible = visible;
- sync();
- if (isVisible() != wasVisible)
- emit visibleChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItem::separator
-
- This property holds whether the item is a separator line. The default value
- is \c false.
-
- \sa MenuSeparator
-*/
-bool QQuickPlatformMenuItem::isSeparator() const
-{
- return m_separator;
-}
-
-void QQuickPlatformMenuItem::setSeparator(bool separator)
-{
- if (m_separator == separator)
- return;
-
- m_separator = separator;
- sync();
- emit separatorChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItem::checkable
-
- This property holds whether the item is checkable.
-
- A checkable menu item has an on/off state. For example, in a word processor,
- a "Bold" menu item may be either on or off. A menu item that is not checkable
- is a command item that is simply executed, e.g. file save.
-
- The default value is \c false.
-
- \sa checked, MenuItemGroup
-*/
-bool QQuickPlatformMenuItem::isCheckable() const
-{
- return m_checkable;
-}
-
-void QQuickPlatformMenuItem::setCheckable(bool checkable)
-{
- if (m_checkable == checkable)
- return;
-
- m_checkable = checkable;
- sync();
- emit checkableChanged();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItem::checked
-
- This property holds whether the item is checked (on) or unchecked (off).
- The default value is \c false.
-
- \sa checkable, MenuItemGroup
-*/
-bool QQuickPlatformMenuItem::isChecked() const
-{
- return m_checked;
-}
-
-void QQuickPlatformMenuItem::setChecked(bool checked)
-{
- if (m_checked == checked)
- return;
-
- if (checked && !m_checkable)
- setCheckable(true);
-
- m_checked = checked;
- sync();
- emit checkedChanged();
-}
-
-/*!
- \qmlproperty enumeration Qt.labs.platform::MenuItem::role
-
- This property holds the role of the item. The role determines whether
- the item should be placed into the application menu on macOS.
-
- Available values:
- \value MenuItem.NoRole The item should not be put into the application menu
- \value MenuItem.TextHeuristicRole The item should be put in the application menu based on the action's text (default)
- \value MenuItem.ApplicationSpecificRole The item should be put in the application menu with an application-specific role
- \value MenuItem.AboutQtRole The item handles the "About Qt" menu item.
- \value MenuItem.AboutRole The item should be placed where the "About" menu item is in the application menu. The text of
- the menu item will be set to "About <application name>". The application name is fetched from the
- \c{Info.plist} file in the application's bundle (See \l{Qt for macOS - Deployment}).
- \value MenuItem.PreferencesRole The item should be placed where the "Preferences..." menu item is in the application menu.
- \value MenuItem.QuitRole The item should be placed where the Quit menu item is in the application menu.
-
- Specifying the role only has effect on items that are in the immediate
- menus of a menubar, not in the submenus of those menus. For example, if
- you have a "File" menu in your menubar and the "File" menu has a submenu,
- specifying a role for the items in that submenu has no effect. They will
- never be moved to the application menu.
-*/
-QPlatformMenuItem::MenuRole QQuickPlatformMenuItem::role() const
-{
- return m_role;
-}
-
-void QQuickPlatformMenuItem::setRole(QPlatformMenuItem::MenuRole role)
-{
- if (m_role == role)
- return;
-
- m_role = role;
- sync();
- emit roleChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::MenuItem::text
-
- This property holds the menu item's text.
-*/
-QString QQuickPlatformMenuItem::text() const
-{
- return m_text;
-}
-
-void QQuickPlatformMenuItem::setText(const QString &text)
-{
- if (m_text == text)
- return;
-
- m_text = text;
- sync();
- emit textChanged();
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::MenuItem::iconSource
- \deprecated Use icon.source instead
-*/
-QUrl QQuickPlatformMenuItem::iconSource() const
-{
- return icon().source();
-}
-
-void QQuickPlatformMenuItem::setIconSource(const QUrl& source)
-{
- QQuickPlatformIcon newIcon = icon();
- if (source == newIcon.source())
- return;
-
- newIcon.setSource(source);
- iconLoader()->setIcon(newIcon);
- emit iconSourceChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::MenuItem::iconName
- \deprecated Use icon.name instead
-*/
-QString QQuickPlatformMenuItem::iconName() const
-{
- return icon().name();
-}
-
-void QQuickPlatformMenuItem::setIconName(const QString& name)
-{
- QQuickPlatformIcon newIcon = icon();
- if (name == newIcon.name())
- return;
-
- newIcon.setName(name);
- iconLoader()->setIcon(newIcon);
- emit iconNameChanged();
-}
-
-/*!
- \qmlproperty keysequence Qt.labs.platform::MenuItem::shortcut
-
- This property holds the menu item's shortcut.
-
- The shortcut key sequence can be set to one of the
- \l{QKeySequence::StandardKey}{standard keyboard shortcuts}, or it can be
- specified by a string containing a sequence of up to four key presses
- that are needed to \l{triggered}{trigger} the shortcut.
-
- The default value is an empty key sequence.
-
- \code
- MenuItem {
- shortcut: "Ctrl+E,Ctrl+W"
- onTriggered: edit.wrapMode = TextEdit.Wrap
- }
- \endcode
-*/
-QVariant QQuickPlatformMenuItem::shortcut() const
-{
- return m_shortcut;
-}
-
-void QQuickPlatformMenuItem::setShortcut(const QVariant& shortcut)
-{
- if (m_shortcut == shortcut)
- return;
-
- m_shortcut = shortcut;
- sync();
- emit shortcutChanged();
-}
-
-/*!
- \qmlproperty font Qt.labs.platform::MenuItem::font
-
- This property holds the menu item's font.
-
- \sa text
-*/
-QFont QQuickPlatformMenuItem::font() const
-{
- return m_font;
-}
-
-void QQuickPlatformMenuItem::setFont(const QFont& font)
-{
- if (m_font == font)
- return;
-
- m_font = font;
- sync();
- emit fontChanged();
-}
-
-/*!
- \since Qt.labs.platform 1.1 (Qt 5.12)
- \qmlpropertygroup Qt.labs.platform::MenuItem::icon
- \qmlproperty url Qt.labs.platform::MenuItem::icon.source
- \qmlproperty string Qt.labs.platform::MenuItem::icon.name
- \qmlproperty bool Qt.labs.platform::MenuItem::icon.mask
-
- This property holds the menu item's icon.
-
- \code
- MenuItem {
- icon.mask: true
- icon.name: "edit-undo"
- icon.source: "qrc:/images/undo.png"
- }
- \endcode
-
- \sa QIcon::fromTheme()
-*/
-QQuickPlatformIcon QQuickPlatformMenuItem::icon() const
-{
- if (!m_iconLoader)
- return QQuickPlatformIcon();
-
- return m_iconLoader->icon();
-}
-
-void QQuickPlatformMenuItem::setIcon(const QQuickPlatformIcon &icon)
-{
- if (iconLoader()->icon() == icon)
- return;
-
- iconLoader()->setIcon(icon);
- emit iconChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuItem::toggle()
-
- Toggles the \l checked state to its opposite state.
-*/
-void QQuickPlatformMenuItem::toggle()
-{
- if (m_checkable)
- setChecked(!m_checked);
-}
-
-void QQuickPlatformMenuItem::classBegin()
-{
-}
-
-void QQuickPlatformMenuItem::componentComplete()
-{
- if (m_handle && m_iconLoader)
- m_iconLoader->setEnabled(true);
- m_complete = true;
- sync();
-}
-
-QQuickPlatformIconLoader *QQuickPlatformMenuItem::iconLoader() const
-{
- if (!m_iconLoader) {
- QQuickPlatformMenuItem *that = const_cast<QQuickPlatformMenuItem *>(this);
- static int slot = staticMetaObject.indexOfSlot("updateIcon()");
- m_iconLoader = new QQuickPlatformIconLoader(slot, that);
- m_iconLoader->setEnabled(m_complete);
- }
- return m_iconLoader;
-}
-
-void QQuickPlatformMenuItem::activate()
-{
- toggle();
- emit triggered();
-}
-
-void QQuickPlatformMenuItem::updateIcon()
-{
- if (!m_handle || !m_iconLoader)
- return;
-
- m_handle->setIcon(m_iconLoader->toQIcon());
- sync();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformmenuitem_p.h b/src/imports/platform/qquickplatformmenuitem_p.h
deleted file mode 100644
index f1143e64..00000000
--- a/src/imports/platform/qquickplatformmenuitem_p.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMMENUITEM_P_H
-#define QQUICKPLATFORMMENUITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qurl.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qpa/qplatformmenu.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqml.h>
-
-#include "qquickplatformicon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QPlatformMenuItem;
-class QQuickPlatformMenu;
-class QQuickPlatformIconLoader;
-class QQuickPlatformMenuItemGroup;
-
-class QQuickPlatformMenuItem : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QQuickPlatformMenu *menu READ menu NOTIFY menuChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenu *subMenu READ subMenu NOTIFY subMenuChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenuItemGroup *group READ group WRITE setGroup NOTIFY groupChanged FINAL)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(bool separator READ isSeparator WRITE setSeparator NOTIFY separatorChanged FINAL)
- Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable NOTIFY checkableChanged FINAL)
- Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY checkedChanged FINAL)
- Q_PROPERTY(QPlatformMenuItem::MenuRole role READ role WRITE setRole NOTIFY roleChanged FINAL)
- Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
- Q_PROPERTY(QUrl iconSource READ iconSource WRITE setIconSource NOTIFY iconSourceChanged FINAL)
- Q_PROPERTY(QString iconName READ iconName WRITE setIconName NOTIFY iconNameChanged FINAL)
- Q_PROPERTY(QVariant shortcut READ shortcut WRITE setShortcut NOTIFY shortcutChanged FINAL)
- Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged FINAL)
- Q_PROPERTY(QQuickPlatformIcon icon READ icon WRITE setIcon NOTIFY iconChanged FINAL REVISION 1)
- Q_ENUMS(QPlatformMenuItem::MenuRole)
-
-public:
- explicit QQuickPlatformMenuItem(QObject *parent = nullptr);
- ~QQuickPlatformMenuItem();
-
- QPlatformMenuItem *handle() const;
- QPlatformMenuItem *create();
- void sync();
-
- QQuickPlatformMenu *menu() const;
- void setMenu(QQuickPlatformMenu* menu);
-
- QQuickPlatformMenu *subMenu() const;
- void setSubMenu(QQuickPlatformMenu *menu);
-
- QQuickPlatformMenuItemGroup *group() const;
- void setGroup(QQuickPlatformMenuItemGroup *group);
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- bool isSeparator() const;
- void setSeparator(bool separator);
-
- bool isCheckable() const;
- void setCheckable(bool checkable);
-
- bool isChecked() const;
- void setChecked(bool checked);
-
- QPlatformMenuItem::MenuRole role() const;
- void setRole(QPlatformMenuItem::MenuRole role);
-
- QString text() const;
- void setText(const QString &text);
-
- QUrl iconSource() const;
- void setIconSource(const QUrl &source);
-
- QString iconName() const;
- void setIconName(const QString &name);
-
- QVariant shortcut() const;
- void setShortcut(const QVariant& shortcut);
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QQuickPlatformIcon icon() const;
- void setIcon(const QQuickPlatformIcon &icon);
-
-public Q_SLOTS:
- void toggle();
-
-Q_SIGNALS:
- void triggered();
- void hovered();
-
- void menuChanged();
- void subMenuChanged();
- void groupChanged();
- void enabledChanged();
- void visibleChanged();
- void separatorChanged();
- void checkableChanged();
- void checkedChanged();
- void roleChanged();
- void textChanged();
- void iconSourceChanged();
- void iconNameChanged();
- void shortcutChanged();
- void fontChanged();
- Q_REVISION(1) void iconChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- QQuickPlatformIconLoader *iconLoader() const;
-
-private Q_SLOTS:
- void activate();
- void updateIcon();
-
-private:
- bool m_complete;
- bool m_enabled;
- bool m_visible;
- bool m_separator;
- bool m_checkable;
- bool m_checked;
- QPlatformMenuItem::MenuRole m_role;
- QString m_text;
- QVariant m_shortcut;
- QFont m_font;
- QQuickPlatformMenu *m_menu;
- QQuickPlatformMenu *m_subMenu;
- QQuickPlatformMenuItemGroup *m_group;
- mutable QQuickPlatformIconLoader *m_iconLoader;
- QPlatformMenuItem *m_handle;
-
- friend class QQuickPlatformMenu;
- friend class QQuickPlatformMenuItemGroup;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformMenuItem)
-
-#endif // QQUICKPLATFORMMENUITEM_P_H
diff --git a/src/imports/platform/qquickplatformmenuitemgroup.cpp b/src/imports/platform/qquickplatformmenuitemgroup.cpp
deleted file mode 100644
index f07d0a1b..00000000
--- a/src/imports/platform/qquickplatformmenuitemgroup.cpp
+++ /dev/null
@@ -1,390 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Templates module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformmenuitemgroup_p.h"
-#include "qquickplatformmenuitem_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuItemGroup
- \inherits QtObject
- \instantiates QQuickPlatformMenuItemGroup
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A group for managing native menu items.
-
- The MenuItemGroup groups native menu items together.
-
- MenuItemGroup is exclusive by default. In an exclusive menu item
- group, only one item can be checked at any time; checking another
- item automatically unchecks the previously checked one. MenuItemGroup
- can be configured as non-exclusive, which is particularly useful for
- showing, hiding, enabling and disabling items together as a group.
-
- The most straight-forward way to use MenuItemGroup is to assign
- a list of items.
-
- \code
- Menu {
- id: verticalMenu
- title: qsTr("Vertical")
-
- MenuItemGroup {
- id: verticalGroup
- items: verticalMenu.items
- }
-
- MenuItem { text: qsTr("Top"); checkable: true }
- MenuItem { text: qsTr("Center"); checked: true }
- MenuItem { text: qsTr("Bottom"); checkable: true }
- }
- \endcode
-
- The same menu may sometimes contain items that should not be included
- in the same exclusive group. Such cases are best handled using the
- \l {MenuItem::group}{group} property.
-
- \code
- Menu {
- id: horizontalMenu
- title: qsTr("Horizontal")
-
- MenuItemGroup {
- id: horizontalGroup
- }
-
- MenuItem {
- checked: true
- text: qsTr("Left")
- group: horizontalGroup
- }
- MenuItem {
- checkable: true
- text: qsTr("Center")
- group: horizontalGroup
- }
- MenuItem {
- text: qsTr("Right")
- checkable: true
- group: horizontalGroup
- }
-
- MenuItem { separator: true }
- MenuItem { text: qsTr("Justify"); checkable: true }
- MenuItem { text: qsTr("Absolute"); checkable: true }
- }
- \endcode
-
- More advanced use cases can be handled using the addItem() and
- removeItem() methods.
-
- \labs
-
- \sa MenuItem
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MenuItemGroup::triggered(MenuItem item)
-
- This signal is emitted when an \a item in the group is triggered by the user.
-
- \sa MenuItem::triggered()
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MenuItemGroup::hovered(MenuItem item)
-
- This signal is emitted when an \a item in the group is hovered by the user.
-
- \sa MenuItem::hovered()
-*/
-
-QQuickPlatformMenuItemGroup::QQuickPlatformMenuItemGroup(QObject *parent)
- : QObject(parent), m_enabled(true), m_visible(true), m_exclusive(true), m_checkedItem(nullptr)
-{
-}
-
-QQuickPlatformMenuItemGroup::~QQuickPlatformMenuItemGroup()
-{
- clear();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItemGroup::enabled
-
- This property holds whether the group is enabled. The default value is \c true.
-
- The enabled state of the group affects the enabled state of each item in the group,
- except that explicitly disabled items are not enabled even if the group is enabled.
-*/
-bool QQuickPlatformMenuItemGroup::isEnabled() const
-{
- return m_enabled;
-}
-
-void QQuickPlatformMenuItemGroup::setEnabled(bool enabled)
-{
- if (m_enabled == enabled)
- return;
-
- m_enabled = enabled;
- emit enabledChanged();
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items)) {
- if (item->m_enabled) {
- item->sync();
- emit item->enabledChanged();
- }
- }
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItemGroup::visible
-
- This property holds whether the group is visible. The default value is \c true.
-
- The visibility of the group affects the visibility of each item in the group,
- except that explicitly hidden items are not visible even if the group is visible.
-*/
-bool QQuickPlatformMenuItemGroup::isVisible() const
-{
- return m_visible;
-}
-
-void QQuickPlatformMenuItemGroup::setVisible(bool visible)
-{
- if (m_visible == visible)
- return;
-
- m_visible = visible;
- emit visibleChanged();
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items)) {
- if (item->m_visible) {
- item->sync();
- emit item->visibleChanged();
- }
- }
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::MenuItemGroup::exclusive
-
- This property holds whether the group is exclusive. The default value is \c true.
-
- In an exclusive menu item group, only one item can be checked at any time;
- checking another item automatically unchecks the previously checked one.
-*/
-bool QQuickPlatformMenuItemGroup::isExclusive() const
-{
- return m_exclusive;
-}
-
-void QQuickPlatformMenuItemGroup::setExclusive(bool exclusive)
-{
- if (m_exclusive == exclusive)
- return;
-
- m_exclusive = exclusive;
- emit exclusiveChanged();
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items))
- item->sync();
-}
-
-/*!
- \qmlproperty MenuItem Qt.labs.platform::MenuItemGroup::checkedItem
-
- This property holds the currently checked item in the group, or \c null if no item is checked.
-*/
-QQuickPlatformMenuItem *QQuickPlatformMenuItemGroup::checkedItem() const
-{
- return m_checkedItem;
-}
-
-void QQuickPlatformMenuItemGroup::setCheckedItem(QQuickPlatformMenuItem *item)
-{
- if (m_checkedItem == item)
- return;
-
- if (m_checkedItem)
- m_checkedItem->setChecked(false);
-
- m_checkedItem = item;
- emit checkedItemChanged();
-
- if (item)
- item->setChecked(true);
-}
-
-/*!
- \qmlproperty list<MenuItem> Qt.labs.platform::MenuItemGroup::items
-
- This property holds the list of items in the group.
-*/
-QQmlListProperty<QQuickPlatformMenuItem> QQuickPlatformMenuItemGroup::items()
-{
- return QQmlListProperty<QQuickPlatformMenuItem>(this, nullptr, items_append, items_count, items_at, items_clear);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuItemGroup::addItem(MenuItem item)
-
- Adds an \a item to the group.
-*/
-void QQuickPlatformMenuItemGroup::addItem(QQuickPlatformMenuItem *item)
-{
- if (!item || m_items.contains(item))
- return;
-
- m_items.append(item);
- item->setGroup(this);
-
- connect(item, &QQuickPlatformMenuItem::checkedChanged, this, &QQuickPlatformMenuItemGroup::updateCurrent);
- connect(item, &QQuickPlatformMenuItem::triggered, this, &QQuickPlatformMenuItemGroup::activateItem);
- connect(item, &QQuickPlatformMenuItem::hovered, this, &QQuickPlatformMenuItemGroup::hoverItem);
-
- if (m_exclusive && item->isChecked())
- setCheckedItem(item);
-
- emit itemsChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuItemGroup::removeItem(MenuItem item)
-
- Removes an \a item from the group.
-*/
-void QQuickPlatformMenuItemGroup::removeItem(QQuickPlatformMenuItem *item)
-{
- if (!item || !m_items.contains(item))
- return;
-
- m_items.removeOne(item);
- item->setGroup(nullptr);
-
- disconnect(item, &QQuickPlatformMenuItem::checkedChanged, this, &QQuickPlatformMenuItemGroup::updateCurrent);
- disconnect(item, &QQuickPlatformMenuItem::triggered, this, &QQuickPlatformMenuItemGroup::activateItem);
- disconnect(item, &QQuickPlatformMenuItem::hovered, this, &QQuickPlatformMenuItemGroup::hoverItem);
-
- if (m_checkedItem == item)
- setCheckedItem(nullptr);
-
- emit itemsChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::MenuItemGroup::clear()
-
- Removes all items from the group.
-*/
-void QQuickPlatformMenuItemGroup::clear()
-{
- if (m_items.isEmpty())
- return;
-
- for (QQuickPlatformMenuItem *item : qAsConst(m_items)) {
- item->setGroup(nullptr);
- disconnect(item, &QQuickPlatformMenuItem::checkedChanged, this, &QQuickPlatformMenuItemGroup::updateCurrent);
- disconnect(item, &QQuickPlatformMenuItem::triggered, this, &QQuickPlatformMenuItemGroup::activateItem);
- disconnect(item, &QQuickPlatformMenuItem::hovered, this, &QQuickPlatformMenuItemGroup::hoverItem);
- }
-
- setCheckedItem(nullptr);
-
- m_items.clear();
- emit itemsChanged();
-}
-
-QQuickPlatformMenuItem *QQuickPlatformMenuItemGroup::findCurrent() const
-{
- for (QQuickPlatformMenuItem *item : m_items) {
- if (item->isChecked())
- return item;
- }
- return nullptr;
-}
-
-void QQuickPlatformMenuItemGroup::updateCurrent()
-{
- if (!m_exclusive)
- return;
-
- QQuickPlatformMenuItem *item = qobject_cast<QQuickPlatformMenuItem*>(sender());
- if (item && item->isChecked())
- setCheckedItem(item);
-}
-
-void QQuickPlatformMenuItemGroup::activateItem()
-{
- QQuickPlatformMenuItem *item = qobject_cast<QQuickPlatformMenuItem*>(sender());
- if (item)
- emit triggered(item);
-}
-
-void QQuickPlatformMenuItemGroup::hoverItem()
-{
- QQuickPlatformMenuItem *item = qobject_cast<QQuickPlatformMenuItem*>(sender());
- if (item)
- emit hovered(item);
-}
-
-void QQuickPlatformMenuItemGroup::items_append(QQmlListProperty<QQuickPlatformMenuItem> *prop, QQuickPlatformMenuItem *item)
-{
- QQuickPlatformMenuItemGroup *group = static_cast<QQuickPlatformMenuItemGroup *>(prop->object);
- group->addItem(item);
-}
-
-int QQuickPlatformMenuItemGroup::items_count(QQmlListProperty<QQuickPlatformMenuItem> *prop)
-{
- QQuickPlatformMenuItemGroup *group = static_cast<QQuickPlatformMenuItemGroup *>(prop->object);
- return group->m_items.count();
-}
-
-QQuickPlatformMenuItem *QQuickPlatformMenuItemGroup::items_at(QQmlListProperty<QQuickPlatformMenuItem> *prop, int index)
-{
- QQuickPlatformMenuItemGroup *group = static_cast<QQuickPlatformMenuItemGroup *>(prop->object);
- return group->m_items.value(index);
-}
-
-void QQuickPlatformMenuItemGroup::items_clear(QQmlListProperty<QQuickPlatformMenuItem> *prop)
-{
- QQuickPlatformMenuItemGroup *group = static_cast<QQuickPlatformMenuItemGroup *>(prop->object);
- group->clear();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformmenuitemgroup_p.h b/src/imports/platform/qquickplatformmenuitemgroup_p.h
deleted file mode 100644
index 8b3531d9..00000000
--- a/src/imports/platform/qquickplatformmenuitemgroup_p.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Templates module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMMENUITEMGROUP_P_H
-#define QQUICKPLATFORMMENUITEMGROUP_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qvector.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformMenuItem;
-class QQuickPlatformMenuItemGroupPrivate;
-
-class QQuickPlatformMenuItemGroup : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(bool exclusive READ isExclusive WRITE setExclusive NOTIFY exclusiveChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenuItem *checkedItem READ checkedItem WRITE setCheckedItem NOTIFY checkedItemChanged FINAL)
- Q_PROPERTY(QQmlListProperty<QQuickPlatformMenuItem> items READ items NOTIFY itemsChanged FINAL)
-
-public:
- explicit QQuickPlatformMenuItemGroup(QObject *parent = nullptr);
- ~QQuickPlatformMenuItemGroup();
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- bool isExclusive() const;
- void setExclusive(bool exclusive);
-
- QQuickPlatformMenuItem *checkedItem() const;
- void setCheckedItem(QQuickPlatformMenuItem *item);
-
- QQmlListProperty<QQuickPlatformMenuItem> items();
-
- Q_INVOKABLE void addItem(QQuickPlatformMenuItem *item);
- Q_INVOKABLE void removeItem(QQuickPlatformMenuItem *item);
- Q_INVOKABLE void clear();
-
-Q_SIGNALS:
- void triggered(QQuickPlatformMenuItem *item);
- void hovered(QQuickPlatformMenuItem *item);
-
- void enabledChanged();
- void visibleChanged();
- void exclusiveChanged();
- void checkedItemChanged();
- void itemsChanged();
-
-private:
- QQuickPlatformMenuItem *findCurrent() const;
- void updateCurrent();
- void activateItem();
- void hoverItem();
-
- static void items_append(QQmlListProperty<QQuickPlatformMenuItem> *prop, QQuickPlatformMenuItem *obj);
- static int items_count(QQmlListProperty<QQuickPlatformMenuItem> *prop);
- static QQuickPlatformMenuItem *items_at(QQmlListProperty<QQuickPlatformMenuItem> *prop, int index);
- static void items_clear(QQmlListProperty<QQuickPlatformMenuItem> *prop);
-
- bool m_enabled;
- bool m_visible;
- bool m_exclusive;
- QQuickPlatformMenuItem *m_checkedItem;
- QVector<QQuickPlatformMenuItem*> m_items;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformMenuItemGroup)
-
-#endif // QQUICKPLATFORMMENUITEMGROUP_P_H
diff --git a/src/imports/platform/qquickplatformmenuseparator.cpp b/src/imports/platform/qquickplatformmenuseparator.cpp
deleted file mode 100644
index 34767ff6..00000000
--- a/src/imports/platform/qquickplatformmenuseparator.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformmenuseparator_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuSeparator
- \inherits MenuItem
- \instantiates QQuickPlatformMenuSeparator
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native menu separator.
-
- The MenuSeparator type is provided for convenience. It is a MenuItem
- that has the \l {MenuItem::}{separator} property set to \c true by default.
-
- \image qtlabsplatform-menubar.png
-
- \labs
-
- \sa Menu, MenuItem
-*/
-
-QQuickPlatformMenuSeparator::QQuickPlatformMenuSeparator(QObject *parent)
- : QQuickPlatformMenuItem(parent)
-{
- setSeparator(true);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformmenuseparator_p.h b/src/imports/platform/qquickplatformmenuseparator_p.h
deleted file mode 100644
index 9fe973c5..00000000
--- a/src/imports/platform/qquickplatformmenuseparator_p.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMMENUSEPARATOR_P_H
-#define QQUICKPLATFORMMENUSEPARATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickplatformmenuitem_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformMenuSeparator : public QQuickPlatformMenuItem
-{
- Q_OBJECT
-
-public:
- explicit QQuickPlatformMenuSeparator(QObject *parent = nullptr);
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformMenuSeparator)
-
-#endif // QQUICKPLATFORMMENUSEPARATOR_P_H
diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp
deleted file mode 100644
index ffc4b296..00000000
--- a/src/imports/platform/qquickplatformmessagedialog.cpp
+++ /dev/null
@@ -1,383 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformmessagedialog_p.h"
-
-#include <QtQml/qqmlinfo.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MessageDialog
- \inherits Dialog
- \instantiates QQuickPlatformMessageDialog
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A native message dialog.
-
- The MessageDialog type provides a QML API for native platform message dialogs.
-
- \image qtlabsplatform-messagedialog-android.png
-
- A message dialog is used to inform the user, or ask the user a question.
- A message dialog displays a primary \l text to alert the user to a situation,
- an \l {informativeText}{informative text} to further explain the alert or to
- ask the user a question, and an optional \l {detailedText}{detailed text} to
- provide even more data if the user requests it. A message box can also display
- a configurable set of \l buttons for accepting a user response.
-
- To show a message dialog, construct an instance of MessageDialog, set the
- desired properties, and call \l {Dialog::}{open()}.
-
- \code
- MessageDialog {
- buttons: MessageDialog.Ok
- text: "The document has been modified."
- }
- \endcode
-
- The user must click the \uicontrol OK button to dismiss the message dialog.
- A modal message dialog blocks the rest of the GUI until the message is
- dismissed.
-
- A more elaborate approach than just alerting the user to an event is to
- also ask the user what to do about it. Store the question in the
- \l {informativeText}{informative text} property, and specify the \l buttons
- property to the set of buttons you want as the set of user responses. The
- buttons are specified by combining values using the bitwise OR operator. The
- display order for the buttons is platform dependent.
-
- \code
- MessageDialog {
- text: "The document has been modified."
- informativeText: "Do you want to save your changes?"
- buttons: MessageDialog.Ok | MessageDialog.Cancel
-
- onAccepted: document.save()
- }
- \endcode
-
- \image qtlabsplatform-messagedialog-informative-android.png
-
- The \l clicked() signal passes the information of which button was clicked.
-
- A native platform message dialog is currently available on the following platforms:
-
- \list
- \li iOS
- \li Android
- \li WinRT
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::clicked(button)
-
- This signal is emitted when a dialog \a button is clicked.
-
- \sa buttons
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::okClicked()
-
- This signal is emitted when \uicontrol Ok is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::saveClicked()
-
- This signal is emitted when \uicontrol Save is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::saveAllClicked()
-
- This signal is emitted when \uicontrol {Save All} is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::openClicked()
-
- This signal is emitted when \uicontrol Open is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::yesClicked()
-
- This signal is emitted when \uicontrol Yes is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::yesToAllClicked()
-
- This signal is emitted when \uicontrol {Yes To All} is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::noClicked()
-
- This signal is emitted when \uicontrol No is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::noToAllClicked()
-
- This signal is emitted when \uicontrol {No To All} is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::abortClicked()
-
- This signal is emitted when \uicontrol Abort is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::retryClicked()
-
- This signal is emitted when \uicontrol Retry is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::ignoreClicked()
-
- This signal is emitted when \uicontrol Ignore is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::closeClicked()
-
- This signal is emitted when \uicontrol Close is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::cancelClicked()
-
- This signal is emitted when \uicontrol Cancel is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::discardClicked()
-
- This signal is emitted when \uicontrol Discard is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::helpClicked()
-
- This signal is emitted when \uicontrol Help is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::applyClicked()
-
- This signal is emitted when \uicontrol Apply is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::resetClicked()
-
- This signal is emitted when \uicontrol Reset is clicked.
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::MessageDialog::restoreDefaultsClicked()
-
- This signal is emitted when \uicontrol {Restore Defaults} is clicked.
-*/
-
-QQuickPlatformMessageDialog::QQuickPlatformMessageDialog(QObject *parent)
- : QQuickPlatformDialog(QPlatformTheme::MessageDialog, parent),
- m_options(QMessageDialogOptions::create())
-{
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::MessageDialog::text
-
- This property holds the text to be displayed on the message dialog.
-
- \sa informativeText, detailedText
-*/
-QString QQuickPlatformMessageDialog::text() const
-{
- return m_options->text();
-}
-
-void QQuickPlatformMessageDialog::setText(const QString &text)
-{
- if (m_options->text() == text)
- return;
-
- m_options->setText(text);
- emit textChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::MessageDialog::informativeText
-
- This property holds the informative text that provides a fuller description for the message.
-
- Informative text can be used to expand upon the \l text to give more information to the user.
-
- \sa text, detailedText
-*/
-QString QQuickPlatformMessageDialog::informativeText() const
-{
- return m_options->informativeText();
-}
-
-void QQuickPlatformMessageDialog::setInformativeText(const QString &text)
-{
- if (m_options->informativeText() == text)
- return;
-
- m_options->setInformativeText(text);
- emit informativeTextChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::MessageDialog::detailedText
-
- This property holds the text to be displayed in the details area.
-
- \sa text, informativeText
-*/
-QString QQuickPlatformMessageDialog::detailedText() const
-{
- return m_options->detailedText();
-}
-
-void QQuickPlatformMessageDialog::setDetailedText(const QString &text)
-{
- if (m_options->detailedText() == text)
- return;
-
- m_options->setDetailedText(text);
- emit detailedTextChanged();
-}
-
-/*!
- \qmlproperty flags Qt.labs.platform::MessageDialog::buttons
-
- This property holds a combination of buttons that are used by the message dialog.
- The default value is \c MessageDialog.NoButton.
-
- Possible flags:
- \value MessageDialog.Ok An "OK" button defined with the \c AcceptRole.
- \value MessageDialog.Open An "Open" button defined with the \c AcceptRole.
- \value MessageDialog.Save A "Save" button defined with the \c AcceptRole.
- \value MessageDialog.Cancel A "Cancel" button defined with the \c RejectRole.
- \value MessageDialog.Close A "Close" button defined with the \c RejectRole.
- \value MessageDialog.Discard A "Discard" or "Don't Save" button, depending on the platform, defined with the \c DestructiveRole.
- \value MessageDialog.Apply An "Apply" button defined with the \c ApplyRole.
- \value MessageDialog.Reset A "Reset" button defined with the \c ResetRole.
- \value MessageDialog.RestoreDefaults A "Restore Defaults" button defined with the \c ResetRole.
- \value MessageDialog.Help A "Help" button defined with the \c HelpRole.
- \value MessageDialog.SaveAll A "Save All" button defined with the \c AcceptRole.
- \value MessageDialog.Yes A "Yes" button defined with the \c YesRole.
- \value MessageDialog.YesToAll A "Yes to All" button defined with the \c YesRole.
- \value MessageDialog.No A "No" button defined with the \c NoRole.
- \value MessageDialog.NoToAll A "No to All" button defined with the \c NoRole.
- \value MessageDialog.Abort An "Abort" button defined with the \c RejectRole.
- \value MessageDialog.Retry A "Retry" button defined with the \c AcceptRole.
- \value MessageDialog.Ignore An "Ignore" button defined with the \c AcceptRole.
- \value MessageDialog.NoButton The dialog has no buttons.
-
- \sa clicked()
-*/
-QPlatformDialogHelper::StandardButtons QQuickPlatformMessageDialog::buttons() const
-{
- return m_options->standardButtons();
-}
-
-void QQuickPlatformMessageDialog::setButtons(QPlatformDialogHelper::StandardButtons buttons)
-{
- if (m_options->standardButtons() == buttons)
- return;
-
- m_options->setStandardButtons(buttons);
- emit buttonsChanged();
-}
-
-void QQuickPlatformMessageDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformMessageDialogHelper *messageDialog = qobject_cast<QPlatformMessageDialogHelper *>(dialog)) {
- connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformMessageDialog::handleClick);
- messageDialog->setOptions(m_options);
- }
-}
-
-void QQuickPlatformMessageDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformMessageDialogHelper *messageDialog = qobject_cast<QPlatformMessageDialogHelper *>(dialog))
- messageDialog->setOptions(m_options);
-}
-
-void QQuickPlatformMessageDialog::handleClick(QPlatformDialogHelper::StandardButton button)
-{
- done(button);
- emit clicked(button);
-
- switch (button) {
- case QPlatformDialogHelper::Ok: emit okClicked(); break;
- case QPlatformDialogHelper::Save: emit saveClicked(); break;
- case QPlatformDialogHelper::SaveAll: emit saveAllClicked(); break;
- case QPlatformDialogHelper::Open: emit openClicked(); break;
- case QPlatformDialogHelper::Yes: emit yesClicked(); break;
- case QPlatformDialogHelper::YesToAll: emit yesToAllClicked(); break;
- case QPlatformDialogHelper::No: emit noClicked(); break;
- case QPlatformDialogHelper::NoToAll: emit noToAllClicked(); break;
- case QPlatformDialogHelper::Abort: emit abortClicked(); break;
- case QPlatformDialogHelper::Retry: emit retryClicked(); break;
- case QPlatformDialogHelper::Ignore: emit ignoreClicked(); break;
- case QPlatformDialogHelper::Close: emit closeClicked(); break;
- case QPlatformDialogHelper::Cancel: emit cancelClicked(); break;
- case QPlatformDialogHelper::Discard: emit discardClicked(); break;
- case QPlatformDialogHelper::Help: emit helpClicked(); break;
- case QPlatformDialogHelper::Apply: emit applyClicked(); break;
- case QPlatformDialogHelper::Reset: emit resetClicked(); break;
- case QPlatformDialogHelper::RestoreDefaults: emit restoreDefaultsClicked(); break;
- default: qmlWarning(this) << "unknown button" << int(button); break;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformmessagedialog_p.h b/src/imports/platform/qquickplatformmessagedialog_p.h
deleted file mode 100644
index 9434a927..00000000
--- a/src/imports/platform/qquickplatformmessagedialog_p.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMMESSAGEDIALOG_P_H
-#define QQUICKPLATFORMMESSAGEDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickplatformdialog_p.h"
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformMessageDialog : public QQuickPlatformDialog
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
- Q_PROPERTY(QString informativeText READ informativeText WRITE setInformativeText NOTIFY informativeTextChanged FINAL)
- Q_PROPERTY(QString detailedText READ detailedText WRITE setDetailedText NOTIFY detailedTextChanged FINAL)
- Q_PROPERTY(QPlatformDialogHelper::StandardButtons buttons READ buttons WRITE setButtons NOTIFY buttonsChanged FINAL)
- Q_FLAGS(QPlatformDialogHelper::StandardButtons)
-
-public:
- explicit QQuickPlatformMessageDialog(QObject *parent = nullptr);
-
- QString text() const;
- void setText(const QString &text);
-
- QString informativeText() const;
- void setInformativeText(const QString &text);
-
- QString detailedText() const;
- void setDetailedText(const QString &text);
-
- QPlatformDialogHelper::StandardButtons buttons() const;
- void setButtons(QPlatformDialogHelper::StandardButtons buttons);
-
-Q_SIGNALS:
- void textChanged();
- void informativeTextChanged();
- void detailedTextChanged();
- void buttonsChanged();
- void clicked(QPlatformDialogHelper::StandardButton button);
-
- void okClicked();
- void saveClicked();
- void saveAllClicked();
- void openClicked();
- void yesClicked();
- void yesToAllClicked();
- void noClicked();
- void noToAllClicked();
- void abortClicked();
- void retryClicked();
- void ignoreClicked();
- void closeClicked();
- void cancelClicked();
- void discardClicked();
- void helpClicked();
- void applyClicked();
- void resetClicked();
- void restoreDefaultsClicked();
-
-protected:
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
-
-private Q_SLOTS:
- void handleClick(QPlatformDialogHelper::StandardButton button);
-
-private:
- QSharedPointer<QMessageDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformMessageDialog)
-
-#endif // QQUICKPLATFORMMESSAGEDIALOG_P_H
diff --git a/src/imports/platform/qquickplatformstandardpaths.cpp b/src/imports/platform/qquickplatformstandardpaths.cpp
deleted file mode 100644
index 4687ba69..00000000
--- a/src/imports/platform/qquickplatformstandardpaths.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformstandardpaths_p.h"
-
-#include <QtQml/qqmlengine.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype StandardPaths
- \inherits QtObject
- \instantiates QQuickPlatformStandardPaths
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief Provides access to the standard system paths.
-
- The StandardPaths singleton type provides methods for querying the standard
- system paths. The standard paths are mostly useful in conjunction with the
- FileDialog and FolderDialog types.
-
- \qml
- FileDialog {
- folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
- }
- \endqml
-
- \labs
-
- \sa FileDialog, FolderDialog, QStandardPaths
-*/
-
-static QList<QUrl> toUrlList(const QStringList &paths)
-{
- QList<QUrl> urls;
- urls.reserve(paths.size());
- for (const QString &path : paths)
- urls += QUrl::fromLocalFile(path);
- return urls;
-}
-
-QQuickPlatformStandardPaths::QQuickPlatformStandardPaths(QObject *parent)
- : QObject(parent)
-{
-}
-
-QObject *QQuickPlatformStandardPaths::create(QQmlEngine *engine, QJSEngine *scriptEngine)
-{
- Q_UNUSED(scriptEngine);
- return new QQuickPlatformStandardPaths(engine);
-}
-
-/*!
- \qmlmethod string Qt.labs.platform::StandardPaths::displayName(StandardLocation type)
-
- \sa QStandardPaths::displayName()
-*/
-QString QQuickPlatformStandardPaths::displayName(QStandardPaths::StandardLocation type)
-{
- return QStandardPaths::displayName(type);
-}
-
-/*!
- \qmlmethod url Qt.labs.platform::StandardPaths::findExecutable(string executableName, list<string> paths)
-
- \sa QStandardPaths::findExecutable()
-*/
-QUrl QQuickPlatformStandardPaths::findExecutable(const QString &executableName, const QStringList &paths)
-{
- return QUrl::fromLocalFile(QStandardPaths::findExecutable(executableName, paths));
-}
-
-/*!
- \qmlmethod url Qt.labs.platform::StandardPaths::locate(StandardLocation type, string fileName, LocateOptions options = LocateFile)
-
- \sa QStandardPaths::locate()
-*/
-QUrl QQuickPlatformStandardPaths::locate(QStandardPaths::StandardLocation type, const QString &fileName, QStandardPaths::LocateOptions options)
-{
- return QUrl::fromLocalFile(QStandardPaths::locate(type, fileName, options));
-}
-
-/*!
- \qmlmethod list<url> Qt.labs.platform::StandardPaths::locateAll(StandardLocation type, string fileName, LocateOptions options = LocateFile)
-
- \sa QStandardPaths::locateAll()
-*/
-QList<QUrl> QQuickPlatformStandardPaths::locateAll(QStandardPaths::StandardLocation type, const QString &fileName, QStandardPaths::LocateOptions options)
-{
- return toUrlList(QStandardPaths::locateAll(type, fileName, options));
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::StandardPaths::setTestModeEnabled(bool testMode)
-
- \sa QStandardPaths::setTestModeEnabled()
-*/
-void QQuickPlatformStandardPaths::setTestModeEnabled(bool testMode)
-{
- QStandardPaths::setTestModeEnabled(testMode);
-}
-
-/*!
- \qmlmethod list<url> Qt.labs.platform::StandardPaths::standardLocations(StandardLocation type)
-
- \sa QStandardPaths::standardLocations()
-*/
-QList<QUrl> QQuickPlatformStandardPaths::standardLocations(QStandardPaths::StandardLocation type)
-{
- return toUrlList(QStandardPaths::standardLocations(type));
-}
-
-/*!
- \qmlmethod url Qt.labs.platform::StandardPaths::writableLocation(StandardLocation type)
-
- \sa QStandardPaths::writableLocation()
-*/
-QUrl QQuickPlatformStandardPaths::writableLocation(QStandardPaths::StandardLocation type)
-{
- return QUrl::fromLocalFile(QStandardPaths::writableLocation(type));
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformstandardpaths_p.h b/src/imports/platform/qquickplatformstandardpaths_p.h
deleted file mode 100644
index e2f4e11e..00000000
--- a/src/imports/platform/qquickplatformstandardpaths_p.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMSTANDARDPATHS_P_H
-#define QQUICKPLATFORMSTANDARDPATHS_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qstandardpaths.h>
-#include <QtCore/qurl.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlEngine;
-class QJSEngine;
-
-class QQuickPlatformStandardPaths : public QObject
-{
- Q_OBJECT
- Q_ENUMS(QStandardPaths::StandardLocation QStandardPaths::LocateOptions)
-
-public:
- explicit QQuickPlatformStandardPaths(QObject *parent = nullptr);
-
- static QObject *create(QQmlEngine *engine, QJSEngine *scriptEngine);
-
- Q_INVOKABLE static QString displayName(QStandardPaths::StandardLocation type);
- Q_INVOKABLE static QUrl findExecutable(const QString &executableName, const QStringList &paths = QStringList());
- Q_INVOKABLE static QUrl locate(QStandardPaths::StandardLocation type, const QString &fileName, QStandardPaths::LocateOptions options = QStandardPaths::LocateFile);
- Q_INVOKABLE static QList<QUrl> locateAll(QStandardPaths::StandardLocation type, const QString &fileName, QStandardPaths::LocateOptions options = QStandardPaths::LocateFile);
- Q_INVOKABLE static void setTestModeEnabled(bool testMode);
- Q_INVOKABLE static QList<QUrl> standardLocations(QStandardPaths::StandardLocation type);
- Q_INVOKABLE static QUrl writableLocation(QStandardPaths::StandardLocation type);
-
-private:
- Q_DISABLE_COPY(QQuickPlatformStandardPaths)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformStandardPaths)
-Q_DECLARE_METATYPE(QStandardPaths::StandardLocation)
-Q_DECLARE_METATYPE(QStandardPaths::LocateOptions)
-
-#endif // QQUICKPLATFORMSTANDARDPATHS_P_H
diff --git a/src/imports/platform/qquickplatformsystemtrayicon.cpp b/src/imports/platform/qquickplatformsystemtrayicon.cpp
deleted file mode 100644
index 202bc3bf..00000000
--- a/src/imports/platform/qquickplatformsystemtrayicon.cpp
+++ /dev/null
@@ -1,484 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplatformsystemtrayicon_p.h"
-#include "qquickplatformmenu_p.h"
-#include "qquickplatformiconloader_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/private/qguiapplication_p.h>
-
-#include "widgets/qwidgetplatform_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype SystemTrayIcon
- \inherits QtObject
- \instantiates QQuickPlatformSystemTrayIcon
- \inqmlmodule Qt.labs.platform
- \since 5.8
- \brief A system tray icon.
-
- The SystemTrayIcon type provides an icon for an application in the system tray.
-
- Many desktop platforms provide a special system tray or notification area,
- where applications can display icons and notification messages.
-
- \image qtlabsplatform-systemtrayicon.png
-
- The following example shows how to create a system tray icon, and how to make
- use of the \l activated() signal:
-
- \code
- SystemTrayIcon {
- visible: true
- icon.source: "qrc:/images/tray-icon.png"
-
- onActivated: {
- window.show()
- window.raise()
- window.requestActivate()
- }
- }
- \endcode
-
- \section2 Tray menu
-
- SystemTrayIcon can have a menu that opens when the icon is activated.
-
- \image qtlabsplatform-systemtrayicon-menu.png
-
- The following example illustrates how to assign a \l Menu to a system tray icon:
-
- \code
- SystemTrayIcon {
- visible: true
- icon.source: "qrc:/images/tray-icon.png"
-
- menu: Menu {
- MenuItem {
- text: qsTr("Quit")
- onTriggered: Qt.quit()
- }
- }
- }
- \endcode
-
- \section2 Notification messages
-
- SystemTrayIcon can display notification messages.
-
- \image qtlabsplatform-systemtrayicon-message.png
-
- The following example presents how to show a notification message using
- \l showMessage(), and how to make use of the \l messageClicked() signal:
-
- \code
- SystemTrayIcon {
- visible: true
- icon.source: "qrc:/images/tray-icon.png"
-
- onMessageClicked: console.log("Message clicked")
- Component.onCompleted: showMessage("Message title", "Something important came up. Click this to know more.")
- }
- \endcode
-
- \section2 Availability
-
- A native system tray icon is currently \l available on the following platforms:
-
- \list
- \li All window managers and independent tray implementations for X11 that implement the
- \l{http://standards.freedesktop.org/systemtray-spec/systemtray-spec-0.2.html}
- {freedesktop.org XEmbed system tray specification}.
- \li All desktop environments that implement the
- \l{http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem}
- {freedesktop.org D-Bus StatusNotifierItem specification}, including recent versions of KDE and Unity.
- \li All supported versions of macOS. Note that the Growl notification system must be installed
- for showMessage() to display messages on OS X prior to 10.8 (Mountain Lion).
- \endlist
-
- \input includes/widgets.qdocinc 1
-
- \labs
-
- \sa Menu
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::SystemTrayIcon::activated(ActivationReason reason)
-
- This signal is emitted when the system tray icon is activated by the user. The
- \a reason argument specifies how the system tray icon was activated.
-
- Available reasons:
-
- \value SystemTrayIcon.Unknown Unknown reason
- \value SystemTrayIcon.Context The context menu for the system tray icon was requested
- \value SystemTrayIcon.DoubleClick The system tray icon was double clicked
- \value SystemTrayIcon.Trigger The system tray icon was clicked
- \value SystemTrayIcon.MiddleClick The system tray icon was clicked with the middle mouse button
-*/
-
-/*!
- \qmlsignal Qt.labs.platform::SystemTrayIcon::messageClicked()
-
- This signal is emitted when a notification message is clicked by the user.
-
- \sa showMessage()
-*/
-
-Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformTray)
-
-QQuickPlatformSystemTrayIcon::QQuickPlatformSystemTrayIcon(QObject *parent)
- : QObject(parent),
- m_complete(false),
- m_visible(false),
- m_menu(nullptr),
- m_iconLoader(nullptr),
- m_handle(nullptr)
-{
- m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon();
- if (!m_handle)
- m_handle = QWidgetPlatform::createSystemTrayIcon(this);
- qCDebug(qtLabsPlatformTray) << "SystemTrayIcon ->" << m_handle;
-
- if (m_handle) {
- connect(m_handle, &QPlatformSystemTrayIcon::activated, this, &QQuickPlatformSystemTrayIcon::activated);
- connect(m_handle, &QPlatformSystemTrayIcon::messageClicked, this, &QQuickPlatformSystemTrayIcon::messageClicked);
- }
-}
-
-QQuickPlatformSystemTrayIcon::~QQuickPlatformSystemTrayIcon()
-{
- if (m_menu)
- m_menu->setSystemTrayIcon(nullptr);
- cleanup();
- delete m_iconLoader;
- m_iconLoader = nullptr;
- delete m_handle;
- m_handle = nullptr;
-}
-
-QPlatformSystemTrayIcon *QQuickPlatformSystemTrayIcon::handle() const
-{
- return m_handle;
-}
-
-/*!
- \readonly
- \qmlproperty bool Qt.labs.platform::SystemTrayIcon::available
-
- This property holds whether the system tray is available.
-*/
-bool QQuickPlatformSystemTrayIcon::isAvailable() const
-{
- return m_handle && m_handle->isSystemTrayAvailable();
-}
-
-/*!
- \readonly
- \qmlproperty bool Qt.labs.platform::SystemTrayIcon::supportsMessages
-
- This property holds whether the system tray icon supports notification messages.
-
- \sa showMessage()
-*/
-bool QQuickPlatformSystemTrayIcon::supportsMessages() const
-{
- return m_handle && m_handle->supportsMessages();
-}
-
-/*!
- \qmlproperty bool Qt.labs.platform::SystemTrayIcon::visible
-
- This property holds whether the system tray icon is visible.
-
- The default value is \c false.
-*/
-bool QQuickPlatformSystemTrayIcon::isVisible() const
-{
- return m_visible;
-}
-
-void QQuickPlatformSystemTrayIcon::setVisible(bool visible)
-{
- if (m_visible == visible)
- return;
-
- if (m_handle && m_complete) {
- if (visible)
- init();
- else
- cleanup();
- }
-
- m_visible = visible;
- emit visibleChanged();
-}
-
-/*!
- \qmlproperty url Qt.labs.platform::SystemTrayIcon::iconSource
- \deprecated Use icon.source instead.
- \sa icon
-*/
-QUrl QQuickPlatformSystemTrayIcon::iconSource() const
-{
- return icon().source();
-}
-
-void QQuickPlatformSystemTrayIcon::setIconSource(const QUrl& source)
-{
- QQuickPlatformIcon newIcon = icon();
- if (source == newIcon.source())
- return;
-
- newIcon.setSource(source);
- iconLoader()->setIcon(newIcon);
- emit iconSourceChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::SystemTrayIcon::iconName
- \deprecated Use icon.name instead.
- \sa icon
-*/
-QString QQuickPlatformSystemTrayIcon::iconName() const
-{
- return icon().name();
-}
-
-void QQuickPlatformSystemTrayIcon::setIconName(const QString& name)
-{
- QQuickPlatformIcon newIcon = icon();
- if (name == newIcon.name())
- return;
-
- newIcon.setName(name);
- iconLoader()->setIcon(newIcon);
- emit iconNameChanged();
-}
-
-/*!
- \qmlproperty string Qt.labs.platform::SystemTrayIcon::tooltip
-
- This property holds the tooltip of the system tray icon.
-*/
-QString QQuickPlatformSystemTrayIcon::tooltip() const
-{
- return m_tooltip;
-}
-
-void QQuickPlatformSystemTrayIcon::setTooltip(const QString &tooltip)
-{
- if (m_tooltip == tooltip)
- return;
-
- if (m_handle && m_complete)
- m_handle->updateToolTip(tooltip);
-
- m_tooltip = tooltip;
- emit tooltipChanged();
-}
-
-/*!
- \qmlproperty Menu Qt.labs.platform::SystemTrayIcon::menu
-
- This property holds a menu for the system tray icon.
-*/
-QQuickPlatformMenu *QQuickPlatformSystemTrayIcon::menu() const
-{
- return m_menu;
-}
-
-void QQuickPlatformSystemTrayIcon::setMenu(QQuickPlatformMenu *menu)
-{
- if (m_menu == menu)
- return;
-
- if (m_menu)
- m_menu->setSystemTrayIcon(nullptr);
- if (menu) {
- menu->setSystemTrayIcon(this);
- if (m_handle && m_complete && menu->create())
- m_handle->updateMenu(menu->handle());
- }
-
- m_menu = menu;
- emit menuChanged();
-}
-
-/*!
- \since Qt.labs.platform 1.1 (Qt 5.12)
- \qmlproperty rect Qt.labs.platform::SystemTrayIcon::geometry
-
- This property holds the geometry of the system tray icon.
-*/
-QRect QQuickPlatformSystemTrayIcon::geometry() const
-{
- return m_handle ? m_handle->geometry() : QRect();
-}
-
-/*!
- \since Qt.labs.platform 1.1 (Qt 5.12)
- \qmlpropertygroup Qt.labs.platform::SystemTrayIcon::icon
- \qmlproperty url Qt.labs.platform::SystemTrayIcon::icon.source
- \qmlproperty string Qt.labs.platform::SystemTrayIcon::icon.name
- \qmlproperty bool Qt.labs.platform::SystemTrayIcon::icon.mask
-
- This property holds the system tray icon.
-
- \code
- SystemTrayIcon {
- icon.mask: true
- icon.source: "qrc:/images/tray-icon.png"
- }
- \endcode
-*/
-QQuickPlatformIcon QQuickPlatformSystemTrayIcon::icon() const
-{
- if (!m_iconLoader)
- return QQuickPlatformIcon();
-
- return m_iconLoader->icon();
-}
-
-void QQuickPlatformSystemTrayIcon::setIcon(const QQuickPlatformIcon &icon)
-{
- if (iconLoader()->icon() == icon)
- return;
-
- iconLoader()->setIcon(icon);
- emit iconChanged();
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::SystemTrayIcon::show()
-
- Shows the system tray icon.
-*/
-void QQuickPlatformSystemTrayIcon::show()
-{
- setVisible(true);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::SystemTrayIcon::hide()
-
- Hides the system tray icon.
-*/
-void QQuickPlatformSystemTrayIcon::hide()
-{
- setVisible(false);
-}
-
-/*!
- \qmlmethod void Qt.labs.platform::SystemTrayIcon::showMessage(string title, string message, MessageIcon icon, int msecs)
-
- Shows a system tray message with the given \a title, \a message and \a icon
- for the time specified in \a msecs.
-
- \note System tray messages are dependent on the system configuration and user preferences,
- and may not appear at all. Therefore, it should not be relied upon as the sole means for providing
- critical information.
-
- \sa supportsMessages, messageClicked()
-*/
-void QQuickPlatformSystemTrayIcon::showMessage(const QString &title, const QString &msg, QPlatformSystemTrayIcon::MessageIcon icon, int msecs)
-{
- if (m_handle)
- m_handle->showMessage(title, msg, QIcon(), icon, msecs);
-}
-
-void QQuickPlatformSystemTrayIcon::init()
-{
- if (!m_handle)
- return;
-
- m_handle->init();
- if (m_menu && m_menu->create())
- m_handle->updateMenu(m_menu->handle());
- m_handle->updateToolTip(m_tooltip);
- if (m_iconLoader)
- m_iconLoader->setEnabled(true);
-}
-
-void QQuickPlatformSystemTrayIcon::cleanup()
-{
- if (m_handle)
- m_handle->cleanup();
- if (m_iconLoader)
- m_iconLoader->setEnabled(false);
-}
-
-void QQuickPlatformSystemTrayIcon::classBegin()
-{
-}
-
-void QQuickPlatformSystemTrayIcon::componentComplete()
-{
- m_complete = true;
- if (m_visible)
- init();
-}
-
-QQuickPlatformIconLoader *QQuickPlatformSystemTrayIcon::iconLoader() const
-{
- if (!m_iconLoader) {
- QQuickPlatformSystemTrayIcon *that = const_cast<QQuickPlatformSystemTrayIcon *>(this);
- static int slot = staticMetaObject.indexOfSlot("updateIcon()");
- m_iconLoader = new QQuickPlatformIconLoader(slot, that);
- m_iconLoader->setEnabled(m_complete);
- }
- return m_iconLoader;
-}
-
-void QQuickPlatformSystemTrayIcon::updateIcon()
-{
- if (!m_handle || !m_iconLoader)
- return;
-
- const QRect oldGeometry = m_handle->geometry();
-
- m_handle->updateIcon(m_iconLoader->toQIcon());
-
- if (oldGeometry != m_handle->geometry())
- emit geometryChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/qquickplatformsystemtrayicon_p.h b/src/imports/platform/qquickplatformsystemtrayicon_p.h
deleted file mode 100644
index e43366cb..00000000
--- a/src/imports/platform/qquickplatformsystemtrayicon_p.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMSYSTEMTRAYICON_P_H
-#define QQUICKPLATFORMSYSTEMTRAYICON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qrect.h>
-#include <QtGui/qpa/qplatformsystemtrayicon.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqml.h>
-
-#include "qquickplatformicon_p.h"
-
-QT_REQUIRE_CONFIG(systemtrayicon);
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPlatformMenu;
-class QQuickPlatformIconLoader;
-
-class QQuickPlatformSystemTrayIcon : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(bool available READ isAvailable CONSTANT FINAL)
- Q_PROPERTY(bool supportsMessages READ supportsMessages CONSTANT FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(QUrl iconSource READ iconSource WRITE setIconSource NOTIFY iconSourceChanged FINAL)
- Q_PROPERTY(QString iconName READ iconName WRITE setIconName NOTIFY iconNameChanged FINAL)
- Q_PROPERTY(QString tooltip READ tooltip WRITE setTooltip NOTIFY tooltipChanged FINAL)
- Q_PROPERTY(QQuickPlatformMenu *menu READ menu WRITE setMenu NOTIFY menuChanged FINAL)
- Q_PROPERTY(QRect geometry READ geometry NOTIFY geometryChanged FINAL REVISION 1)
- Q_PROPERTY(QQuickPlatformIcon icon READ icon WRITE setIcon NOTIFY iconChanged FINAL REVISION 1)
- Q_ENUMS(QPlatformSystemTrayIcon::ActivationReason QPlatformSystemTrayIcon::MessageIcon)
-
-public:
- explicit QQuickPlatformSystemTrayIcon(QObject *parent = nullptr);
- ~QQuickPlatformSystemTrayIcon();
-
- QPlatformSystemTrayIcon *handle() const;
-
- bool isAvailable() const;
- bool supportsMessages() const;
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- QUrl iconSource() const;
- void setIconSource(const QUrl &source);
-
- QString iconName() const;
- void setIconName(const QString &name);
-
- QString tooltip() const;
- void setTooltip(const QString &tooltip);
-
- QQuickPlatformMenu *menu() const;
- void setMenu(QQuickPlatformMenu *menu);
-
- QRect geometry() const;
-
- QQuickPlatformIcon icon() const;
- void setIcon(const QQuickPlatformIcon &icon);
-
-public Q_SLOTS:
- void show();
- void hide();
-
- void showMessage(const QString &title, const QString &message,
- QPlatformSystemTrayIcon::MessageIcon iconType = QPlatformSystemTrayIcon::Information, int msecs = 10000);
-
-Q_SIGNALS:
- void activated(QPlatformSystemTrayIcon::ActivationReason reason);
- void messageClicked();
- void visibleChanged();
- void iconSourceChanged();
- void iconNameChanged();
- void tooltipChanged();
- void menuChanged();
- Q_REVISION(1) void geometryChanged();
- Q_REVISION(1) void iconChanged();
-
-protected:
- void init();
- void cleanup();
-
- void classBegin() override;
- void componentComplete() override;
-
- QQuickPlatformIconLoader *iconLoader() const;
-
-private Q_SLOTS:
- void updateIcon();
-
-private:
- bool m_complete;
- bool m_visible;
- QString m_tooltip;
- QQuickPlatformMenu *m_menu;
- mutable QQuickPlatformIconLoader *m_iconLoader;
- QPlatformSystemTrayIcon *m_handle;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlatformSystemTrayIcon)
-Q_DECLARE_METATYPE(QPlatformSystemTrayIcon::ActivationReason)
-Q_DECLARE_METATYPE(QPlatformSystemTrayIcon::MessageIcon)
-
-#endif // QQUICKPLATFORMSYSTEMTRAYICON_P_H
diff --git a/src/imports/platform/qtlabsplatformplugin.cpp b/src/imports/platform/qtlabsplatformplugin.cpp
deleted file mode 100644
index 98d5dcc4..00000000
--- a/src/imports/platform/qtlabsplatformplugin.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Templates module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml/qqmlextensionplugin.h>
-#include <QtQml/qqml.h>
-#include <QtCore/qloggingcategory.h>
-
-#include "qquickplatformdialog_p.h"
-#include "qquickplatformcolordialog_p.h"
-#include "qquickplatformfiledialog_p.h"
-#include "qquickplatformfolderdialog_p.h"
-#include "qquickplatformfontdialog_p.h"
-#include "qquickplatformmessagedialog_p.h"
-
-#include "qquickplatformmenu_p.h"
-#include "qquickplatformmenubar_p.h"
-#include "qquickplatformmenuitem_p.h"
-#include "qquickplatformmenuitemgroup_p.h"
-#include "qquickplatformmenuseparator_p.h"
-
-#include "qquickplatformstandardpaths_p.h"
-#if QT_CONFIG(systemtrayicon)
-# include "qquickplatformsystemtrayicon_p.h"
-#endif
-
-#include "qquickplatformicon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(qtLabsPlatformDialogs, "qt.labs.platform.dialogs")
-Q_LOGGING_CATEGORY(qtLabsPlatformMenus, "qt.labs.platform.menus")
-Q_LOGGING_CATEGORY(qtLabsPlatformTray, "qt.labs.platform.tray")
-
-class QtLabsPlatformPlugin: public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtLabsPlatformPlugin(QObject *parent = nullptr);
- void registerTypes(const char *uri) override;
-};
-
-QtLabsPlatformPlugin::QtLabsPlatformPlugin(QObject *parent) : QQmlExtensionPlugin(parent)
-{
-}
-
-void QtLabsPlatformPlugin::registerTypes(const char *uri)
-{
- qmlRegisterUncreatableType<QQuickPlatformDialog>(uri, 1, 0, "Dialog", QQuickPlatformDialog::tr("Dialog is an abstract base class"));
- qmlRegisterType<QQuickPlatformColorDialog>(uri, 1, 0, "ColorDialog");
- qmlRegisterType<QQuickPlatformFileDialog>(uri, 1, 0, "FileDialog");
- qmlRegisterAnonymousType<QQuickPlatformFileNameFilter>(uri, 1);
- qmlRegisterType<QQuickPlatformFolderDialog>(uri, 1, 0, "FolderDialog");
- qmlRegisterType<QQuickPlatformFontDialog>(uri, 1, 0, "FontDialog");
- qmlRegisterType<QQuickPlatformMessageDialog>(uri, 1, 0, "MessageDialog");
-
- qmlRegisterType<QQuickPlatformMenu>(uri, 1, 0, "Menu");
- qmlRegisterType<QQuickPlatformMenuBar>(uri, 1, 0, "MenuBar");
- qmlRegisterType<QQuickPlatformMenuItem>(uri, 1, 0, "MenuItem");
- qmlRegisterType<QQuickPlatformMenuItemGroup>(uri, 1, 0, "MenuItemGroup");
- qmlRegisterType<QQuickPlatformMenuSeparator>(uri, 1, 0, "MenuSeparator");
- qRegisterMetaType<QPlatformMenu::MenuType>();
-
- qmlRegisterUncreatableType<QPlatformDialogHelper>(uri, 1, 0, "StandardButton", QQuickPlatformDialog::tr("Cannot create an instance of StandardButton"));
- qmlRegisterSingletonType<QQuickPlatformStandardPaths>(uri, 1, 0, "StandardPaths", QQuickPlatformStandardPaths::create);
- qRegisterMetaType<QStandardPaths::StandardLocation>();
- qRegisterMetaType<QStandardPaths::LocateOptions>();
-
-#if QT_CONFIG(systemtrayicon)
- qmlRegisterType<QQuickPlatformSystemTrayIcon>(uri, 1, 0, "SystemTrayIcon");
- qmlRegisterType<QQuickPlatformSystemTrayIcon, 1>(uri, 1, 1, "SystemTrayIcon");
- qRegisterMetaType<QPlatformSystemTrayIcon::ActivationReason>();
- qRegisterMetaType<QPlatformSystemTrayIcon::MessageIcon>();
-#endif
-
- qmlRegisterAnonymousType<QQuickPlatformIcon>(uri, 1);
- qRegisterMetaType<QQuickPlatformIcon>();
-}
-
-QT_END_NAMESPACE
-
-#include "qtlabsplatformplugin.moc"
diff --git a/src/imports/platform/widgets/qwidgetplatform_p.h b/src/imports/platform/widgets/qwidgetplatform_p.h
deleted file mode 100644
index c203406c..00000000
--- a/src/imports/platform/widgets/qwidgetplatform_p.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORM_P_H
-#define QWIDGETPLATFORM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreapplication.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-#include <QtGui/qpa/qplatformsystemtrayicon.h>
-#include <QtGui/qpa/qplatformmenu.h>
-
-#ifdef QT_WIDGETS_LIB
-#include <QtWidgets/qtwidgetsglobal.h>
-#if QT_CONFIG(colordialog)
-#include "qwidgetplatformcolordialog_p.h"
-#endif
-#if QT_CONFIG(filedialog)
-#include "qwidgetplatformfiledialog_p.h"
-#endif
-#if QT_CONFIG(fontdialog)
-#include "qwidgetplatformfontdialog_p.h"
-#endif
-#if QT_CONFIG(messagebox)
-#include "qwidgetplatformmessagedialog_p.h"
-#endif
-#if QT_CONFIG(menu)
-#include "qwidgetplatformmenu_p.h"
-#include "qwidgetplatformmenuitem_p.h"
-#endif
-#ifndef QT_NO_SYSTEMTRAYICON
-#include "qwidgetplatformsystemtrayicon_p.h"
-#endif
-#endif
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_WIDGETS_LIB
-typedef QPlatformMenu QWidgetPlatformMenu;
-typedef QPlatformMenuItem QWidgetPlatformMenuItem;
-typedef QPlatformColorDialogHelper QWidgetPlatformColorDialog;
-typedef QPlatformFileDialogHelper QWidgetPlatformFileDialog;
-typedef QPlatformFontDialogHelper QWidgetPlatformFontDialog;
-typedef QPlatformMessageDialogHelper QWidgetPlatformMessageDialog;
-typedef QPlatformSystemTrayIcon QWidgetPlatformSystemTrayIcon;
-#endif
-
-namespace QWidgetPlatform
-{
- static inline bool isAvailable(const char *type)
- {
- if (!qApp->inherits("QApplication")) {
- qCritical("\nERROR: No native %s implementation available."
- "\nQt Labs Platform requires Qt Widgets on this setup."
- "\nAdd 'QT += widgets' to .pro and create QApplication in main().\n", type);
- return false;
- }
- return true;
- }
-
- template<typename T>
- static inline T *createWidget(const char *name, QObject *parent)
- {
- static bool available = isAvailable(name);
-#ifdef QT_WIDGETS_LIB
- if (available)
- return new T(parent);
-#else
- Q_UNUSED(parent)
- Q_UNUSED(available)
-#endif
- return nullptr;
- }
-
- static inline QPlatformMenu *createMenu(QObject *parent = nullptr) {
-#if defined(QT_WIDGETS_LIB) && QT_CONFIG(menu)
- return createWidget<QWidgetPlatformMenu>("Menu", parent);
-#else
- Q_UNUSED(parent);
- return nullptr;
-#endif
- }
- static inline QPlatformMenuItem *createMenuItem(QObject *parent = nullptr) {
-#if defined(QT_WIDGETS_LIB) && QT_CONFIG(menu)
- return createWidget<QWidgetPlatformMenuItem>("MenuItem", parent);
-#else
- Q_UNUSED(parent);
- return nullptr;
-#endif
- }
- static inline QPlatformSystemTrayIcon *createSystemTrayIcon(QObject *parent = nullptr) {
-#ifndef QT_NO_SYSTEMTRAYICON
- return createWidget<QWidgetPlatformSystemTrayIcon>("SystemTrayIcon", parent);
-#else
- Q_UNUSED(parent);
- return nullptr;
-#endif
- }
- static inline QPlatformDialogHelper *createDialog(QPlatformTheme::DialogType type, QObject *parent = nullptr)
- {
-#if !defined(QT_WIDGETS_LIB) || !(QT_CONFIG(colordialog) || QT_CONFIG(filedialog) || QT_CONFIG(fontdialog) || QT_CONFIG(messagebox))
- Q_UNUSED(parent);
-#endif
- switch (type) {
-#if defined(QT_WIDGETS_LIB) && QT_CONFIG(colordialog)
- case QPlatformTheme::ColorDialog: return createWidget<QWidgetPlatformColorDialog>("ColorDialog", parent);
-#endif
-#if defined(QT_WIDGETS_LIB) && QT_CONFIG(filedialog)
- case QPlatformTheme::FileDialog: return createWidget<QWidgetPlatformFileDialog>("FileDialog", parent);
-#endif
-#if defined(QT_WIDGETS_LIB) && QT_CONFIG(fontdialog)
- case QPlatformTheme::FontDialog: return createWidget<QWidgetPlatformFontDialog>("FontDialog", parent);
-#endif
-#if defined(QT_WIDGETS_LIB) && QT_CONFIG(messagebox)
- case QPlatformTheme::MessageDialog: return createWidget<QWidgetPlatformMessageDialog>("MessageDialog", parent);
-#endif
- default: break;
- }
- return nullptr;
- }
-}
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORM_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformcolordialog.cpp b/src/imports/platform/widgets/qwidgetplatformcolordialog.cpp
deleted file mode 100644
index 6c0043ae..00000000
--- a/src/imports/platform/widgets/qwidgetplatformcolordialog.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformcolordialog_p.h"
-#include "qwidgetplatformdialog_p.h"
-
-#include <QtWidgets/qcolordialog.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformColorDialog::QWidgetPlatformColorDialog(QObject *parent)
- : m_dialog(new QColorDialog)
-{
- setParent(parent);
-
- connect(m_dialog.data(), &QColorDialog::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog.data(), &QColorDialog::rejected, this, &QPlatformDialogHelper::reject);
- connect(m_dialog.data(), &QColorDialog::currentColorChanged, this, &QPlatformColorDialogHelper::currentColorChanged);
-}
-
-QWidgetPlatformColorDialog::~QWidgetPlatformColorDialog()
-{
-}
-
-QColor QWidgetPlatformColorDialog::currentColor() const
-{
- return m_dialog->currentColor();
-}
-
-void QWidgetPlatformColorDialog::setCurrentColor(const QColor &color)
-{
- m_dialog->setCurrentColor(color);
-}
-
-void QWidgetPlatformColorDialog::exec()
-{
- m_dialog->exec();
-}
-
-bool QWidgetPlatformColorDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
-{
- QSharedPointer<QColorDialogOptions> options = QPlatformColorDialogHelper::options();
- m_dialog->setWindowTitle(options->windowTitle());
- m_dialog->setOptions(static_cast<QColorDialog::ColorDialogOptions>(int(options->options())) | QColorDialog::DontUseNativeDialog);
-
- return QWidgetPlatformDialog::show(m_dialog.data(), flags, modality, parent);
-}
-
-void QWidgetPlatformColorDialog::hide()
-{
- m_dialog->hide();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformcolordialog_p.h b/src/imports/platform/widgets/qwidgetplatformcolordialog_p.h
deleted file mode 100644
index 09ed5a1e..00000000
--- a/src/imports/platform/widgets/qwidgetplatformcolordialog_p.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMCOLORDIALOG_P_H
-#define QWIDGETPLATFORMCOLORDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QColorDialog;
-
-class QWidgetPlatformColorDialog : public QPlatformColorDialogHelper
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformColorDialog(QObject *parent = nullptr);
- ~QWidgetPlatformColorDialog();
-
- QColor currentColor() const override;
- void setCurrentColor(const QColor &color) override;
-
- void exec() override;
- bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) override;
- void hide() override;
-
-private:
- QScopedPointer<QColorDialog> m_dialog;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMCOLORDIALOG_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformdialog.cpp b/src/imports/platform/widgets/qwidgetplatformdialog.cpp
deleted file mode 100644
index 3a206839..00000000
--- a/src/imports/platform/widgets/qwidgetplatformdialog.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformdialog_p.h"
-
-#include <QtGui/qwindow.h>
-#include <QtWidgets/qdialog.h>
-
-QT_BEGIN_NAMESPACE
-
-bool QWidgetPlatformDialog::show(QDialog *dialog, Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
-{
- dialog->setWindowFlags(flags);
- dialog->setWindowModality(modality);
-
- dialog->createWinId();
- QWindow *handle = dialog->windowHandle();
- Q_ASSERT(handle);
- handle->setTransientParent(const_cast<QWindow *>(parent));
-
- dialog->show();
- return true;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformdialog_p.h b/src/imports/platform/widgets/qwidgetplatformdialog_p.h
deleted file mode 100644
index d4f27655..00000000
--- a/src/imports/platform/widgets/qwidgetplatformdialog_p.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMDIALOG_P_H
-#define QWIDGETPLATFORMDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qnamespace.h>
-
-QT_BEGIN_NAMESPACE
-
-class QDialog;
-class QWindow;
-
-class QWidgetPlatformDialog
-{
-public:
- static bool show(QDialog *dialog, Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent);
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMDIALOG_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp b/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
deleted file mode 100644
index 21ac6527..00000000
--- a/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformfiledialog_p.h"
-#include "qwidgetplatformdialog_p.h"
-
-#include <QtWidgets/qfiledialog.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformFileDialog::QWidgetPlatformFileDialog(QObject *parent)
- : m_dialog(new QFileDialog)
-{
- setParent(parent);
-
- connect(m_dialog.data(), &QDialog::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog.data(), &QDialog::rejected, this, &QPlatformDialogHelper::reject);
-
- connect(m_dialog.data(), &QFileDialog::fileSelected, [this](const QString &file) {
- emit fileSelected(QUrl::fromLocalFile(file));
- });
- connect(m_dialog.data(), &QFileDialog::filesSelected, [this](const QList<QString> &files) {
- QList<QUrl> urls;
- urls.reserve(files.count());
- for (const QString &file : files)
- urls += QUrl::fromLocalFile(file);
- emit filesSelected(urls);
- });
- connect(m_dialog.data(), &QFileDialog::currentChanged, [this](const QString &path) {
- emit currentChanged(QUrl::fromLocalFile(path));
- });
- connect(m_dialog.data(), &QFileDialog::directoryEntered, this, &QWidgetPlatformFileDialog::directoryEntered);
- connect(m_dialog.data(), &QFileDialog::filterSelected, this, &QWidgetPlatformFileDialog::filterSelected);
-}
-
-QWidgetPlatformFileDialog::~QWidgetPlatformFileDialog()
-{
-}
-
-bool QWidgetPlatformFileDialog::defaultNameFilterDisables() const
-{
- return false; // TODO: ?
-}
-
-void QWidgetPlatformFileDialog::setDirectory(const QUrl &directory)
-{
- m_dialog->setDirectory(directory.toLocalFile());
-}
-
-QUrl QWidgetPlatformFileDialog::directory() const
-{
- return m_dialog->directoryUrl();
-}
-
-void QWidgetPlatformFileDialog::selectFile(const QUrl &filename)
-{
- m_dialog->selectUrl(filename);
-}
-
-QList<QUrl> QWidgetPlatformFileDialog::selectedFiles() const
-{
- return m_dialog->selectedUrls();
-}
-
-void QWidgetPlatformFileDialog::setFilter()
-{
- // TODO: ?
-}
-
-void QWidgetPlatformFileDialog::selectNameFilter(const QString &filter)
-{
- m_dialog->selectNameFilter(filter);
-}
-
-QString QWidgetPlatformFileDialog::selectedNameFilter() const
-{
- return m_dialog->selectedNameFilter();
-}
-
-void QWidgetPlatformFileDialog::exec()
-{
- m_dialog->exec();
-}
-
-bool QWidgetPlatformFileDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
-{
- QSharedPointer<QFileDialogOptions> options = QPlatformFileDialogHelper::options();
- m_dialog->setWindowTitle(options->windowTitle());
- m_dialog->setAcceptMode(static_cast<QFileDialog::AcceptMode>(options->acceptMode()));
- m_dialog->setFileMode(static_cast<QFileDialog::FileMode>(options->fileMode()));
- m_dialog->setOptions(static_cast<QFileDialog::Options>(int(options->options())) | QFileDialog::DontUseNativeDialog);
- m_dialog->setNameFilters(options->nameFilters());
- m_dialog->setDefaultSuffix(options->defaultSuffix());
- if (options->isLabelExplicitlySet(QFileDialogOptions::Accept))
- m_dialog->setLabelText(QFileDialog::Accept, options->labelText(QFileDialogOptions::Accept));
- if (options->isLabelExplicitlySet(QFileDialogOptions::Reject))
- m_dialog->setLabelText(QFileDialog::Reject, options->labelText(QFileDialogOptions::Reject));
-
- return QWidgetPlatformDialog::show(m_dialog.data(), flags, modality, parent);
-}
-
-void QWidgetPlatformFileDialog::hide()
-{
- m_dialog->hide();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformfiledialog_p.h b/src/imports/platform/widgets/qwidgetplatformfiledialog_p.h
deleted file mode 100644
index 3dba6038..00000000
--- a/src/imports/platform/widgets/qwidgetplatformfiledialog_p.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMFILEDIALOG_P_H
-#define QWIDGETPLATFORMFILEDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QFileDialog;
-
-class QWidgetPlatformFileDialog : public QPlatformFileDialogHelper
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformFileDialog(QObject *parent = nullptr);
- ~QWidgetPlatformFileDialog();
-
- bool defaultNameFilterDisables() const override;
- void setDirectory(const QUrl &directory) override;
- QUrl directory() const override;
- void selectFile(const QUrl &filename) override;
- QList<QUrl> selectedFiles() const override;
- void setFilter() override;
- void selectNameFilter(const QString &filter) override;
- QString selectedNameFilter() const override;
-
- void exec() override;
- bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) override;
- void hide() override;
-
-private:
- QScopedPointer<QFileDialog> m_dialog;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMFILEDIALOG_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformfontdialog.cpp b/src/imports/platform/widgets/qwidgetplatformfontdialog.cpp
deleted file mode 100644
index 315e7c73..00000000
--- a/src/imports/platform/widgets/qwidgetplatformfontdialog.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformfontdialog_p.h"
-#include "qwidgetplatformdialog_p.h"
-
-#include <QtWidgets/qfontdialog.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformFontDialog::QWidgetPlatformFontDialog(QObject *parent)
- : m_dialog(new QFontDialog)
-{
- setParent(parent);
-
- connect(m_dialog.data(), &QFontDialog::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog.data(), &QFontDialog::rejected, this, &QPlatformDialogHelper::reject);
- connect(m_dialog.data(), &QFontDialog::currentFontChanged, this, &QPlatformFontDialogHelper::currentFontChanged);
-}
-
-QWidgetPlatformFontDialog::~QWidgetPlatformFontDialog()
-{
-}
-
-QFont QWidgetPlatformFontDialog::currentFont() const
-{
- return m_dialog->currentFont();
-}
-
-void QWidgetPlatformFontDialog::setCurrentFont(const QFont &font)
-{
- m_dialog->setCurrentFont(font);
-}
-
-void QWidgetPlatformFontDialog::exec()
-{
- m_dialog->exec();
-}
-
-bool QWidgetPlatformFontDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
-{
- QSharedPointer<QFontDialogOptions> options = QPlatformFontDialogHelper::options();
- m_dialog->setWindowTitle(options->windowTitle());
- m_dialog->setOptions(static_cast<QFontDialog::FontDialogOptions>(int(options->options())) | QFontDialog::DontUseNativeDialog);
-
- return QWidgetPlatformDialog::show(m_dialog.data(), flags, modality, parent);
-}
-
-void QWidgetPlatformFontDialog::hide()
-{
- m_dialog->hide();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformfontdialog_p.h b/src/imports/platform/widgets/qwidgetplatformfontdialog_p.h
deleted file mode 100644
index e5d13b31..00000000
--- a/src/imports/platform/widgets/qwidgetplatformfontdialog_p.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMFONTDIALOG_P_H
-#define QWIDGETPLATFORMFONTDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QFontDialog;
-
-class QWidgetPlatformFontDialog : public QPlatformFontDialogHelper
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformFontDialog(QObject *parent = nullptr);
- ~QWidgetPlatformFontDialog();
-
- QFont currentFont() const override;
- void setCurrentFont(const QFont &font) override;
-
- void exec() override;
- bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override;
- void hide() override;
-
-private:
- QScopedPointer<QFontDialog> m_dialog;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMFONTDIALOG_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformmenu.cpp b/src/imports/platform/widgets/qwidgetplatformmenu.cpp
deleted file mode 100644
index e5fe734f..00000000
--- a/src/imports/platform/widgets/qwidgetplatformmenu.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformmenu_p.h"
-#include "qwidgetplatformmenuitem_p.h"
-
-#include <QtGui/qwindow.h>
-#include <QtWidgets/qmenu.h>
-#include <QtWidgets/qaction.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformMenu::QWidgetPlatformMenu(QObject *parent)
- : m_menu(new QMenu)
-{
- setParent(parent);
-
- connect(m_menu.data(), &QMenu::aboutToShow, this, &QPlatformMenu::aboutToShow);
- connect(m_menu.data(), &QMenu::aboutToHide, this, &QPlatformMenu::aboutToHide);
-}
-
-QWidgetPlatformMenu::~QWidgetPlatformMenu()
-{
-}
-
-QMenu *QWidgetPlatformMenu::menu() const
-{
- return m_menu.data();
-}
-
-void QWidgetPlatformMenu::insertMenuItem(QPlatformMenuItem *item, QPlatformMenuItem *before)
-{
- QWidgetPlatformMenuItem *widgetItem = qobject_cast<QWidgetPlatformMenuItem *>(item);
- if (!widgetItem)
- return;
-
- QWidgetPlatformMenuItem *widgetBefore = qobject_cast<QWidgetPlatformMenuItem *>(before);
- m_menu->insertAction(widgetBefore ? widgetBefore->action() : nullptr, widgetItem->action());
- int index = m_items.indexOf(widgetBefore);
- if (index < 0)
- index = m_items.count();
- m_items.insert(index, widgetItem);
-}
-
-void QWidgetPlatformMenu::removeMenuItem(QPlatformMenuItem *item)
-{
- QWidgetPlatformMenuItem *widgetItem = qobject_cast<QWidgetPlatformMenuItem *>(item);
- if (!widgetItem)
- return;
-
- m_items.removeOne(widgetItem);
- m_menu->removeAction(widgetItem->action());
-}
-
-void QWidgetPlatformMenu::syncMenuItem(QPlatformMenuItem *item)
-{
- Q_UNUSED(item);
-}
-
-void QWidgetPlatformMenu::syncSeparatorsCollapsible(bool enable)
-{
- m_menu->setSeparatorsCollapsible(enable);
-}
-
-void QWidgetPlatformMenu::setText(const QString &text)
-{
- m_menu->setTitle(text);
-}
-
-void QWidgetPlatformMenu::setIcon(const QIcon &icon)
-{
- m_menu->setIcon(icon);
-}
-
-void QWidgetPlatformMenu::setEnabled(bool enabled)
-{
- m_menu->menuAction()->setEnabled(enabled);
-}
-
-bool QWidgetPlatformMenu::isEnabled() const
-{
- return m_menu->menuAction()->isEnabled();
-}
-
-void QWidgetPlatformMenu::setVisible(bool visible)
-{
- m_menu->menuAction()->setVisible(visible);
-}
-
-void QWidgetPlatformMenu::setMinimumWidth(int width)
-{
- if (width > 0)
- m_menu->setMinimumWidth(width);
-}
-
-void QWidgetPlatformMenu::setFont(const QFont &font)
-{
- m_menu->setFont(font);
-}
-
-void QWidgetPlatformMenu::setMenuType(MenuType type)
-{
- Q_UNUSED(type);
-}
-
-void QWidgetPlatformMenu::showPopup(const QWindow *window, const QRect &targetRect, const QPlatformMenuItem *item)
-{
- m_menu->createWinId();
- QWindow *handle = m_menu->windowHandle();
- Q_ASSERT(handle);
- handle->setTransientParent(const_cast<QWindow *>(window));
-
- QPoint targetPos = targetRect.bottomLeft();
- if (window)
- targetPos = window->mapToGlobal(targetPos);
-
- const QWidgetPlatformMenuItem *widgetItem = qobject_cast<const QWidgetPlatformMenuItem *>(item);
- m_menu->popup(targetPos, widgetItem ? widgetItem->action() : nullptr);
-}
-
-void QWidgetPlatformMenu::dismiss()
-{
- m_menu->close();
-}
-
-QPlatformMenuItem *QWidgetPlatformMenu::menuItemAt(int position) const
-{
- return m_items.value(position);
-}
-
-QPlatformMenuItem *QWidgetPlatformMenu::menuItemForTag(quintptr tag) const
-{
- for (QWidgetPlatformMenuItem *item : m_items) {
- if (item->tag() == tag)
- return item;
- }
- return nullptr;
-}
-
-QPlatformMenuItem *QWidgetPlatformMenu::createMenuItem() const
-{
- return new QWidgetPlatformMenuItem;
-}
-
-QPlatformMenu *QWidgetPlatformMenu::createSubMenu() const
-{
- return new QWidgetPlatformMenu;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformmenu_p.h b/src/imports/platform/widgets/qwidgetplatformmenu_p.h
deleted file mode 100644
index 4d58f528..00000000
--- a/src/imports/platform/widgets/qwidgetplatformmenu_p.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMMENU_P_H
-#define QWIDGETPLATFORMMENU_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformmenu.h>
-
-QT_BEGIN_NAMESPACE
-
-class QMenu;
-class QWidgetPlatformMenuItem;
-
-class QWidgetPlatformMenu : public QPlatformMenu
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformMenu(QObject *parent = nullptr);
- ~QWidgetPlatformMenu();
-
- QMenu *menu() const;
-
- void insertMenuItem(QPlatformMenuItem *item, QPlatformMenuItem *before) override;
- void removeMenuItem(QPlatformMenuItem *item) override;
- void syncMenuItem(QPlatformMenuItem *item) override;
- void syncSeparatorsCollapsible(bool enable) override;
-
- void setText(const QString &text) override;
- void setIcon(const QIcon &icon) override;
- void setEnabled(bool enabled) override;
- bool isEnabled() const override;
- void setVisible(bool visible) override;
- void setMinimumWidth(int width) override;
- void setFont(const QFont &font) override;
- void setMenuType(MenuType type) override;
-
- void showPopup(const QWindow *window, const QRect &targetRect, const QPlatformMenuItem *item) override;
- void dismiss() override;
-
- QPlatformMenuItem *menuItemAt(int position) const override;
- QPlatformMenuItem *menuItemForTag(quintptr tag) const override;
-
- QPlatformMenuItem *createMenuItem() const override;
- QPlatformMenu *createSubMenu() const override;
-
-private:
- QScopedPointer<QMenu> m_menu;
- QVector<QWidgetPlatformMenuItem *> m_items;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMMENU_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformmenuitem.cpp b/src/imports/platform/widgets/qwidgetplatformmenuitem.cpp
deleted file mode 100644
index 9de899f2..00000000
--- a/src/imports/platform/widgets/qwidgetplatformmenuitem.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformmenuitem_p.h"
-#include "qwidgetplatformmenu_p.h"
-
-#include <QtWidgets/qmenu.h>
-#include <QtWidgets/qaction.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformMenuItem::QWidgetPlatformMenuItem(QObject *parent)
- : m_action(new QAction)
-{
- setParent(parent);
- connect(m_action.data(), &QAction::hovered, this, &QPlatformMenuItem::hovered);
- connect(m_action.data(), &QAction::triggered, this, &QPlatformMenuItem::activated);
-}
-
-QWidgetPlatformMenuItem::~QWidgetPlatformMenuItem()
-{
-}
-
-QAction *QWidgetPlatformMenuItem::action() const
-{
- return m_action.data();
-}
-
-void QWidgetPlatformMenuItem::setText(const QString &text)
-{
- m_action->setText(text);
-}
-
-void QWidgetPlatformMenuItem::setIcon(const QIcon &icon)
-{
- m_action->setIcon(icon);
-}
-
-void QWidgetPlatformMenuItem::setMenu(QPlatformMenu *menu)
-{
- QWidgetPlatformMenu *widgetMenu = qobject_cast<QWidgetPlatformMenu *>(menu);
- m_action->setMenu(widgetMenu ? widgetMenu->menu() : nullptr);
-}
-
-void QWidgetPlatformMenuItem::setVisible(bool visible)
-{
- m_action->setVisible(visible);
-}
-
-void QWidgetPlatformMenuItem::setIsSeparator(bool separator)
-{
- m_action->setSeparator(separator);
-}
-
-void QWidgetPlatformMenuItem::setFont(const QFont &font)
-{
- m_action->setFont(font);
-}
-
-void QWidgetPlatformMenuItem::setRole(MenuRole role)
-{
- m_action->setMenuRole(static_cast<QAction::MenuRole>(role));
-}
-
-void QWidgetPlatformMenuItem::setCheckable(bool checkable)
-{
- m_action->setCheckable(checkable);
-}
-
-void QWidgetPlatformMenuItem::setChecked(bool checked)
-{
- m_action->setChecked(checked);
-}
-
-#if QT_CONFIG(shortcut)
-void QWidgetPlatformMenuItem::setShortcut(const QKeySequence &shortcut)
-{
- m_action->setShortcut(shortcut);
-}
-#endif
-
-void QWidgetPlatformMenuItem::setEnabled(bool enabled)
-{
- m_action->setEnabled(enabled);
-}
-
-void QWidgetPlatformMenuItem::setIconSize(int size)
-{
- Q_UNUSED(size);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformmenuitem_p.h b/src/imports/platform/widgets/qwidgetplatformmenuitem_p.h
deleted file mode 100644
index 43b3fc17..00000000
--- a/src/imports/platform/widgets/qwidgetplatformmenuitem_p.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMMENUITEM_P_H
-#define QWIDGETPLATFORMMENUITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformmenu.h>
-
-QT_BEGIN_NAMESPACE
-
-class QAction;
-
-class QWidgetPlatformMenuItem : public QPlatformMenuItem
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformMenuItem(QObject *parent = nullptr);
- ~QWidgetPlatformMenuItem();
-
- QAction *action() const;
-
- void setText(const QString &text) override;
- void setIcon(const QIcon &icon) override;
- void setMenu(QPlatformMenu *menu) override;
- void setVisible(bool visible) override;
- void setIsSeparator(bool separator) override;
- void setFont(const QFont &font) override;
- void setRole(MenuRole role) override;
- void setCheckable(bool checkable) override;
- void setChecked(bool checked) override;
-#if QT_CONFIG(shortcut)
- void setShortcut(const QKeySequence& shortcut) override;
-#endif
- void setEnabled(bool enabled) override;
- void setIconSize(int size) override;
-
-private:
- QScopedPointer<QAction> m_action;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMMENUITEM_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformmessagedialog.cpp b/src/imports/platform/widgets/qwidgetplatformmessagedialog.cpp
deleted file mode 100644
index 365692dc..00000000
--- a/src/imports/platform/widgets/qwidgetplatformmessagedialog.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformmessagedialog_p.h"
-#include "qwidgetplatformdialog_p.h"
-
-#include <QtWidgets/qmessagebox.h>
-#include <QtWidgets/qabstractbutton.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformMessageDialog::QWidgetPlatformMessageDialog(QObject *parent)
- : m_dialog(new QMessageBox)
-{
- setParent(parent);
-
- connect(m_dialog.data(), &QMessageBox::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog.data(), &QMessageBox::rejected, this, &QPlatformDialogHelper::reject);
- connect(m_dialog.data(), &QMessageBox::buttonClicked, [this](QAbstractButton *button) {
- QMessageBox::ButtonRole role = m_dialog->buttonRole(button);
- QMessageBox::StandardButton standardButton = m_dialog->standardButton(button);
- emit clicked(static_cast<StandardButton>(standardButton), static_cast<ButtonRole>(role));
- });
-}
-
-QWidgetPlatformMessageDialog::~QWidgetPlatformMessageDialog()
-{
-}
-void QWidgetPlatformMessageDialog::exec()
-{
- m_dialog->exec();
-}
-
-bool QWidgetPlatformMessageDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
-{
- QSharedPointer<QMessageDialogOptions> options = QPlatformMessageDialogHelper::options();
- m_dialog->setWindowTitle(options->windowTitle());
- m_dialog->setIcon(static_cast<QMessageBox::Icon>(options->icon()));
- m_dialog->setText(options->text());
- m_dialog->setInformativeText(options->informativeText());
-#if QT_CONFIG(textedit)
- m_dialog->setDetailedText(options->detailedText());
-#endif
- m_dialog->setStandardButtons(static_cast<QMessageBox::StandardButtons>(int(options->standardButtons())));
-
- return QWidgetPlatformDialog::show(m_dialog.data(), flags, modality, parent);
-}
-
-void QWidgetPlatformMessageDialog::hide()
-{
- m_dialog->hide();
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformmessagedialog_p.h b/src/imports/platform/widgets/qwidgetplatformmessagedialog_p.h
deleted file mode 100644
index 6581337a..00000000
--- a/src/imports/platform/widgets/qwidgetplatformmessagedialog_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMMESSAGEDIALOG_P_H
-#define QWIDGETPLATFORMMESSAGEDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QMessageBox;
-
-class QWidgetPlatformMessageDialog : public QPlatformMessageDialogHelper
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformMessageDialog(QObject *parent = nullptr);
- ~QWidgetPlatformMessageDialog();
-
- void exec() override;
- bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) override;
- void hide() override;
-
-private:
- QScopedPointer<QMessageBox> m_dialog;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMMESSAGEDIALOG_P_H
diff --git a/src/imports/platform/widgets/qwidgetplatformsystemtrayicon.cpp b/src/imports/platform/widgets/qwidgetplatformsystemtrayicon.cpp
deleted file mode 100644
index e406ff03..00000000
--- a/src/imports/platform/widgets/qwidgetplatformsystemtrayicon.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwidgetplatformsystemtrayicon_p.h"
-#include "qwidgetplatformmenu_p.h"
-
-#include <QtWidgets/qsystemtrayicon.h>
-
-QT_BEGIN_NAMESPACE
-
-QWidgetPlatformSystemTrayIcon::QWidgetPlatformSystemTrayIcon(QObject *parent)
- : m_systray(new QSystemTrayIcon)
-{
- setParent(parent);
-
- connect(m_systray.data(), &QSystemTrayIcon::messageClicked, this, &QPlatformSystemTrayIcon::messageClicked);
- connect(m_systray.data(), &QSystemTrayIcon::activated, [this](QSystemTrayIcon::ActivationReason reason) {
- emit activated(static_cast<ActivationReason>(reason));
- });
-}
-
-QWidgetPlatformSystemTrayIcon::~QWidgetPlatformSystemTrayIcon()
-{
-}
-
-void QWidgetPlatformSystemTrayIcon::init()
-{
- m_systray->show();
-}
-
-void QWidgetPlatformSystemTrayIcon::cleanup()
-{
- m_systray->hide();
-}
-
-void QWidgetPlatformSystemTrayIcon::updateIcon(const QIcon &icon)
-{
- m_systray->setIcon(icon);
-}
-
-void QWidgetPlatformSystemTrayIcon::updateToolTip(const QString &tooltip)
-{
- m_systray->setToolTip(tooltip);
-}
-
-void QWidgetPlatformSystemTrayIcon::updateMenu(QPlatformMenu *menu)
-{
-#if QT_CONFIG(menu)
- QWidgetPlatformMenu *widgetMenu = qobject_cast<QWidgetPlatformMenu *>(menu);
- if (!widgetMenu)
- return;
-
- m_systray->setContextMenu(widgetMenu->menu());
-#else
- Q_UNUSED(menu);
-#endif
-}
-
-QRect QWidgetPlatformSystemTrayIcon::geometry() const
-{
- return m_systray->geometry();
-}
-
-void QWidgetPlatformSystemTrayIcon::showMessage(const QString &title, const QString &msg, const QIcon &icon, MessageIcon iconType, int msecs)
-{
- Q_UNUSED(icon);
- m_systray->showMessage(title, msg, static_cast<QSystemTrayIcon::MessageIcon>(iconType), msecs);
-}
-
-bool QWidgetPlatformSystemTrayIcon::isSystemTrayAvailable() const
-{
- return QSystemTrayIcon::isSystemTrayAvailable();
-}
-
-bool QWidgetPlatformSystemTrayIcon::supportsMessages() const
-{
- return QSystemTrayIcon::supportsMessages();
-}
-
-QPlatformMenu *QWidgetPlatformSystemTrayIcon::createMenu() const
-{
- return new QWidgetPlatformMenu;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h b/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h
deleted file mode 100644
index 11ea5377..00000000
--- a/src/imports/platform/widgets/qwidgetplatformsystemtrayicon_p.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Platform module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETPLATFORMSYSTEMTRAYICON_P_H
-#define QWIDGETPLATFORMSYSTEMTRAYICON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformsystemtrayicon.h>
-
-QT_REQUIRE_CONFIG(systemtrayicon);
-
-QT_BEGIN_NAMESPACE
-
-class QSystemTrayIcon;
-
-class QWidgetPlatformSystemTrayIcon : public QPlatformSystemTrayIcon
-{
- Q_OBJECT
-
-public:
- explicit QWidgetPlatformSystemTrayIcon(QObject *parent = nullptr);
- ~QWidgetPlatformSystemTrayIcon();
-
- void init() override;
- void cleanup() override;
- void updateIcon(const QIcon &icon) override;
- void updateToolTip(const QString &tooltip) override;
- void updateMenu(QPlatformMenu *menu) override;
- QRect geometry() const override;
- void showMessage(const QString &title, const QString &msg,
- const QIcon &icon, MessageIcon iconType, int msecs) override;
-
- bool isSystemTrayAvailable() const override;
- bool supportsMessages() const override;
-
- QPlatformMenu *createMenu() const override;
-
-private:
- QScopedPointer<QSystemTrayIcon> m_systray;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWIDGETPLATFORMSYSTEMTRAYICON_P_H
diff --git a/src/imports/platform/widgets/widgets.pri b/src/imports/platform/widgets/widgets.pri
deleted file mode 100644
index 54ad7187..00000000
--- a/src/imports/platform/widgets/widgets.pri
+++ /dev/null
@@ -1,56 +0,0 @@
-QT += widgets
-DEPENDPATH += $$PWD
-
-HEADERS += \
- $$PWD/qwidgetplatform_p.h
-
-qtConfig(systemtrayicon) {
- HEADERS += \
- $$PWD/qwidgetplatformsystemtrayicon_p.h
- SOURCES += \
- $$PWD/qwidgetplatformsystemtrayicon.cpp
-}
-
-qtConfig(colordialog) | qtConfig(filedialog) | qtConfig(fontdialog) | qtConfig(messagebox) {
- HEADERS += \
- $$PWD/qwidgetplatformdialog_p.h
- SOURCES += \
- $$PWD/qwidgetplatformdialog.cpp
-}
-
-qtConfig(colordialog) {
- HEADERS += \
- $$PWD/qwidgetplatformcolordialog_p.h
- SOURCES += \
- $$PWD/qwidgetplatformcolordialog.cpp
-}
-
-qtConfig(filedialog) {
- HEADERS += \
- $$PWD/qwidgetplatformfiledialog_p.h
- SOURCES += \
- $$PWD/qwidgetplatformfiledialog.cpp
-}
-
-qtConfig(fontdialog) {
- HEADERS += \
- $$PWD/qwidgetplatformfontdialog_p.h
- SOURCES += \
- $$PWD/qwidgetplatformfontdialog.cpp
-}
-
-qtConfig(menu) {
- HEADERS += \
- $$PWD/qwidgetplatformmenu_p.h \
- $$PWD/qwidgetplatformmenuitem_p.h
- SOURCES += \
- $$PWD/qwidgetplatformmenu.cpp \
- $$PWD/qwidgetplatformmenuitem.cpp
-}
-
-qtConfig(messagebox) {
- HEADERS += \
- $$PWD/qwidgetplatformmessagedialog_p.h
- SOURCES += \
- $$PWD/qwidgetplatformmessagedialog.cpp
-}
diff --git a/src/imports/templates/dependencies.json b/src/imports/templates/dependencies.json
deleted file mode 100644
index a66ab72c..00000000
--- a/src/imports/templates/dependencies.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
- {
- "name": "QtQuick",
- "type": "module",
- "version": "2.9"
- },
- {
- "name": "QtQuick.Window",
- "type": "module",
- "version": "2.2"
- }
-]
diff --git a/src/imports/templates/doc/src/qtquicktemplates2-index.qdoc b/src/imports/templates/doc/src/qtquicktemplates2-index.qdoc
deleted file mode 100644
index 492785a4..00000000
--- a/src/imports/templates/doc/src/qtquicktemplates2-index.qdoc
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtquicktemplates2-index.html
- \title Qt Quick Templates 2
- \brief A set of templates to create user interface controls in Qt Quick
-
- Qt Quick Templates are the foundations of \l {Qt Quick Controls}. Templates
- are non-visual implementations of controls' logic and behavior. They offer
- an interface to visualize the controls in QML using \l {Qt Quick}.
-
- Even though the templates aim to be as style-agnostic as possible, in some
- cases they have to make certain assumptions about the visual structure of
- a control. For example, a spinbox has buttons that increment and decrement
- the value of the spinbox. In order to implement the behavior of a spinbox,
- the spinbox template needs to know if the user is interacting with the up
- or down button. A visual implementation of the spinbox template merely needs
- to position the up and down buttons and visualize them in normal, pressed,
- and disabled states. Any input event handling and state processing is taken
- care of by the underlying template.
-
- \section1 Related Information
-
- \list
- \li \l{Qt Quick}
- \li \l{Qt Quick Controls}
- \li \l{Qt Quick Templates 2 QML Types}
- \endlist
-*/
diff --git a/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc b/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc
deleted file mode 100644
index 1288e937..00000000
--- a/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlmodule QtQuick.Templates 2.5
- \title Qt Quick Templates 2 QML Types
- \ingroup qmlmodules
- \brief Provides QML types for templates (Qt Quick Templates).
-
- The \l {Qt Quick Templates 2} module provides a set of non-visual templates
- that can be used to build user interface controls in QML using \l {Qt Quick}.
-
- The QML types can be imported using the following import statement in your
- \c .qml file:
-
- \badcode
- import QtQuick.Templates 2.12 as T
- \endcode
-
- For the sake of clarity, there is a one-to-one mapping between the types
- provided by the \c QtQuick.Templates and \c QtQuick.Controls imports. For
- every type available in the \c QtQuick.Controls import, a non-visual template
- type by the same name exists in the \c QtQuick.Templates import.
-
- \note It is recommended to use a namespace for the templates import to avoid
- overlap with the types provided by the \c QtQuick.Controls import.
-
- \section1 QML Types
-
- \generatelist {qmltypesbymodule QtQuick.Controls}
-
- \section1 Related Information
-
- \list
- \li \l {Qt Quick Controls QML Types}
- \endlist
-
- \noautolist
-*/
diff --git a/src/imports/templates/plugins.qmltypes b/src/imports/templates/plugins.qmltypes
deleted file mode 100644
index 48e23edd..00000000
--- a/src/imports/templates/plugins.qmltypes
+++ /dev/null
@@ -1,1876 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Templates 2.13'
-
-Module {
- dependencies: ["QtQuick 2.9", "QtQuick.Window 2.2"]
- Component {
- name: "QQuickAbstractButton"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/AbstractButton 2.0",
- "QtQuick.Templates/AbstractButton 2.2",
- "QtQuick.Templates/AbstractButton 2.3",
- "QtQuick.Templates/AbstractButton 2.4",
- "QtQuick.Templates/AbstractButton 2.5"
- ]
- exportMetaObjectRevisions: [0, 2, 3, 4, 5]
- Enum {
- name: "Display"
- values: {
- "IconOnly": 0,
- "TextOnly": 1,
- "TextBesideIcon": 2,
- "TextUnderIcon": 3
- }
- }
- Property { name: "text"; type: "string" }
- Property { name: "down"; type: "bool" }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Property { name: "checked"; type: "bool" }
- Property { name: "checkable"; type: "bool" }
- Property { name: "autoExclusive"; type: "bool" }
- Property { name: "autoRepeat"; type: "bool" }
- Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
- Property { name: "icon"; revision: 3; type: "QQuickIcon" }
- Property { name: "display"; revision: 3; type: "Display" }
- Property { name: "action"; revision: 3; type: "QQuickAction"; isPointer: true }
- Property { name: "autoRepeatDelay"; revision: 4; type: "int" }
- Property { name: "autoRepeatInterval"; revision: 4; type: "int" }
- Property { name: "pressX"; revision: 4; type: "double"; isReadonly: true }
- Property { name: "pressY"; revision: 4; type: "double"; isReadonly: true }
- Property { name: "implicitIndicatorWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitIndicatorHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal { name: "pressed" }
- Signal { name: "released" }
- Signal { name: "canceled" }
- Signal { name: "clicked" }
- Signal { name: "pressAndHold" }
- Signal { name: "doubleClicked" }
- Signal { name: "toggled"; revision: 2 }
- Signal { name: "iconChanged"; revision: 3 }
- Signal { name: "displayChanged"; revision: 3 }
- Signal { name: "actionChanged"; revision: 3 }
- Signal { name: "autoRepeatDelayChanged"; revision: 4 }
- Signal { name: "autoRepeatIntervalChanged"; revision: 4 }
- Signal { name: "pressXChanged"; revision: 4 }
- Signal { name: "pressYChanged"; revision: 4 }
- Signal { name: "implicitIndicatorWidthChanged"; revision: 5 }
- Signal { name: "implicitIndicatorHeightChanged"; revision: 5 }
- Method { name: "toggle" }
- }
- Component {
- name: "QQuickAction"
- prototype: "QObject"
- exports: ["QtQuick.Templates/Action 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "text"; type: "string" }
- Property { name: "icon"; type: "QQuickIcon" }
- Property { name: "enabled"; type: "bool" }
- Property { name: "checked"; type: "bool" }
- Property { name: "checkable"; type: "bool" }
- Property { name: "shortcut"; type: "QVariant" }
- Signal {
- name: "textChanged"
- Parameter { name: "text"; type: "string" }
- }
- Signal {
- name: "iconChanged"
- Parameter { name: "icon"; type: "QQuickIcon" }
- }
- Signal {
- name: "enabledChanged"
- Parameter { name: "enabled"; type: "bool" }
- }
- Signal {
- name: "checkedChanged"
- Parameter { name: "checked"; type: "bool" }
- }
- Signal {
- name: "checkableChanged"
- Parameter { name: "checkable"; type: "bool" }
- }
- Signal {
- name: "shortcutChanged"
- Parameter { name: "shortcut"; type: "QKeySequence" }
- }
- Signal {
- name: "toggled"
- Parameter { name: "source"; type: "QObject"; isPointer: true }
- }
- Signal { name: "toggled" }
- Signal {
- name: "triggered"
- Parameter { name: "source"; type: "QObject"; isPointer: true }
- }
- Signal { name: "triggered" }
- Method {
- name: "toggle"
- Parameter { name: "source"; type: "QObject"; isPointer: true }
- }
- Method { name: "toggle" }
- Method {
- name: "trigger"
- Parameter { name: "source"; type: "QObject"; isPointer: true }
- }
- Method { name: "trigger" }
- }
- Component {
- name: "QQuickActionGroup"
- defaultProperty: "actions"
- prototype: "QObject"
- exports: ["QtQuick.Templates/ActionGroup 2.3"]
- exportMetaObjectRevisions: [0]
- attachedType: "QQuickActionGroupAttached"
- Property { name: "checkedAction"; type: "QQuickAction"; isPointer: true }
- Property { name: "actions"; type: "QQuickAction"; isList: true; isReadonly: true }
- Property { name: "exclusive"; type: "bool" }
- Property { name: "enabled"; type: "bool" }
- Signal {
- name: "triggered"
- Parameter { name: "action"; type: "QQuickAction"; isPointer: true }
- }
- Method {
- name: "addAction"
- Parameter { name: "action"; type: "QQuickAction"; isPointer: true }
- }
- Method {
- name: "removeAction"
- Parameter { name: "action"; type: "QQuickAction"; isPointer: true }
- }
- }
- Component {
- name: "QQuickActionGroupAttached"
- prototype: "QObject"
- Property { name: "group"; type: "QQuickActionGroup"; isPointer: true }
- }
- Component {
- name: "QQuickApplicationWindow"
- defaultProperty: "contentData"
- prototype: "QQuickWindowQmlImpl"
- exports: [
- "QtQuick.Templates/ApplicationWindow 2.0",
- "QtQuick.Templates/ApplicationWindow 2.3"
- ]
- exportMetaObjectRevisions: [0, 3]
- attachedType: "QQuickApplicationWindowAttached"
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "activeFocusControl"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "header"; type: "QQuickItem"; isPointer: true }
- Property { name: "footer"; type: "QQuickItem"; isPointer: true }
- Property { name: "overlay"; type: "QQuickOverlay"; isReadonly: true; isPointer: true }
- Property { name: "font"; type: "QFont" }
- Property { name: "locale"; type: "QLocale" }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "menuBar"; revision: 3; type: "QQuickItem"; isPointer: true }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "menuBarChanged"; revision: 3 }
- }
- Component {
- name: "QQuickApplicationWindowAttached"
- prototype: "QObject"
- Property { name: "window"; type: "QQuickApplicationWindow"; isReadonly: true; isPointer: true }
- Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "activeFocusControl"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "header"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "footer"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "overlay"; type: "QQuickOverlay"; isReadonly: true; isPointer: true }
- Property { name: "menuBar"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- }
- Component {
- name: "QQuickBusyIndicator"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["QtQuick.Templates/BusyIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "running"; type: "bool" }
- }
- Component {
- name: "QQuickButton"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/Button 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "highlighted"; type: "bool" }
- Property { name: "flat"; type: "bool" }
- }
- Component {
- name: "QQuickButtonGroup"
- prototype: "QObject"
- exports: [
- "QtQuick.Templates/ButtonGroup 2.0",
- "QtQuick.Templates/ButtonGroup 2.1",
- "QtQuick.Templates/ButtonGroup 2.3",
- "QtQuick.Templates/ButtonGroup 2.4"
- ]
- exportMetaObjectRevisions: [0, 1, 3, 4]
- attachedType: "QQuickButtonGroupAttached"
- Property { name: "checkedButton"; type: "QQuickAbstractButton"; isPointer: true }
- Property { name: "buttons"; type: "QQuickAbstractButton"; isList: true; isReadonly: true }
- Property { name: "exclusive"; revision: 3; type: "bool" }
- Property { name: "checkState"; revision: 4; type: "Qt::CheckState" }
- Signal {
- name: "clicked"
- revision: 1
- Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
- }
- Signal { name: "exclusiveChanged"; revision: 3 }
- Signal { name: "checkStateChanged"; revision: 4 }
- Method {
- name: "addButton"
- Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
- }
- Method {
- name: "removeButton"
- Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
- }
- }
- Component {
- name: "QQuickButtonGroupAttached"
- prototype: "QObject"
- Property { name: "group"; type: "QQuickButtonGroup"; isPointer: true }
- }
- Component {
- name: "QQuickCheckBox"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: [
- "QtQuick.Templates/CheckBox 2.0",
- "QtQuick.Templates/CheckBox 2.4"
- ]
- exportMetaObjectRevisions: [0, 4]
- Property { name: "tristate"; type: "bool" }
- Property { name: "checkState"; type: "Qt::CheckState" }
- Property { name: "nextCheckState"; revision: 4; type: "QJSValue" }
- Signal { name: "nextCheckStateChanged"; revision: 4 }
- }
- Component {
- name: "QQuickCheckDelegate"
- defaultProperty: "data"
- prototype: "QQuickItemDelegate"
- exports: [
- "QtQuick.Templates/CheckDelegate 2.0",
- "QtQuick.Templates/CheckDelegate 2.4"
- ]
- exportMetaObjectRevisions: [0, 4]
- Property { name: "tristate"; type: "bool" }
- Property { name: "checkState"; type: "Qt::CheckState" }
- Property { name: "nextCheckState"; revision: 4; type: "QJSValue" }
- Signal { name: "nextCheckStateChanged"; revision: 4 }
- }
- Component {
- name: "QQuickComboBox"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/ComboBox 2.0",
- "QtQuick.Templates/ComboBox 2.1",
- "QtQuick.Templates/ComboBox 2.2",
- "QtQuick.Templates/ComboBox 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 2, 5]
- Property { name: "count"; type: "int"; isReadonly: true }
- Property { name: "model"; type: "QVariant" }
- Property { name: "delegateModel"; type: "QQmlInstanceModel"; isReadonly: true; isPointer: true }
- Property { name: "pressed"; type: "bool" }
- Property { name: "highlightedIndex"; type: "int"; isReadonly: true }
- Property { name: "currentIndex"; type: "int" }
- Property { name: "currentText"; type: "string"; isReadonly: true }
- Property { name: "displayText"; type: "string" }
- Property { name: "textRole"; type: "string" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
- Property { name: "popup"; type: "QQuickPopup"; isPointer: true }
- Property { name: "flat"; revision: 1; type: "bool" }
- Property { name: "down"; revision: 2; type: "bool" }
- Property { name: "editable"; revision: 2; type: "bool" }
- Property { name: "editText"; revision: 2; type: "string" }
- Property { name: "validator"; revision: 2; type: "QValidator"; isPointer: true }
- Property { name: "inputMethodHints"; revision: 2; type: "Qt::InputMethodHints" }
- Property { name: "inputMethodComposing"; revision: 2; type: "bool"; isReadonly: true }
- Property { name: "acceptableInput"; revision: 2; type: "bool"; isReadonly: true }
- Property { name: "implicitIndicatorWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitIndicatorHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal {
- name: "activated"
- Parameter { name: "index"; type: "int" }
- }
- Signal {
- name: "highlighted"
- Parameter { name: "index"; type: "int" }
- }
- Signal { name: "flatChanged"; revision: 1 }
- Signal { name: "accepted"; revision: 2 }
- Signal { name: "downChanged"; revision: 2 }
- Signal { name: "editableChanged"; revision: 2 }
- Signal { name: "editTextChanged"; revision: 2 }
- Signal { name: "validatorChanged"; revision: 2 }
- Signal { name: "inputMethodHintsChanged"; revision: 2 }
- Signal { name: "inputMethodComposingChanged"; revision: 2 }
- Signal { name: "acceptableInputChanged"; revision: 2 }
- Signal { name: "implicitIndicatorWidthChanged"; revision: 5 }
- Signal { name: "implicitIndicatorHeightChanged"; revision: 5 }
- Method { name: "incrementCurrentIndex" }
- Method { name: "decrementCurrentIndex" }
- Method { name: "selectAll"; revision: 2 }
- Method {
- name: "textAt"
- type: "string"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "find"
- type: "int"
- Parameter { name: "text"; type: "string" }
- Parameter { name: "flags"; type: "Qt::MatchFlags" }
- }
- Method {
- name: "find"
- type: "int"
- Parameter { name: "text"; type: "string" }
- }
- }
- Component {
- name: "QQuickContainer"
- defaultProperty: "contentData"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/Container 2.0",
- "QtQuick.Templates/Container 2.1",
- "QtQuick.Templates/Container 2.3",
- "QtQuick.Templates/Container 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 3, 5]
- Property { name: "count"; type: "int"; isReadonly: true }
- Property { name: "contentModel"; type: "QVariant"; isReadonly: true }
- Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
- Property { name: "currentIndex"; type: "int" }
- Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "contentWidth"; revision: 5; type: "double" }
- Property { name: "contentHeight"; revision: 5; type: "double" }
- Signal { name: "contentWidthChanged"; revision: 5 }
- Signal { name: "contentHeightChanged"; revision: 5 }
- Method {
- name: "setCurrentIndex"
- Parameter { name: "index"; type: "int" }
- }
- Method { name: "incrementCurrentIndex"; revision: 1 }
- Method { name: "decrementCurrentIndex"; revision: 1 }
- Method {
- name: "itemAt"
- type: "QQuickItem*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "addItem"
- Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
- }
- Method {
- name: "insertItem"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
- }
- Method {
- name: "moveItem"
- Parameter { name: "from"; type: "int" }
- Parameter { name: "to"; type: "int" }
- }
- Method {
- name: "removeItem"
- Parameter { name: "item"; type: "QVariant" }
- }
- Method {
- name: "takeItem"
- revision: 3
- type: "QQuickItem*"
- Parameter { name: "index"; type: "int" }
- }
- }
- Component { name: "QQuickContentItem"; defaultProperty: "data"; prototype: "QQuickItem" }
- Component {
- name: "QQuickControl"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: [
- "QtQuick.Templates/Control 2.0",
- "QtQuick.Templates/Control 2.3",
- "QtQuick.Templates/Control 2.5"
- ]
- exportMetaObjectRevisions: [0, 3, 5]
- Property { name: "font"; type: "QFont" }
- Property { name: "availableWidth"; type: "double"; isReadonly: true }
- Property { name: "availableHeight"; type: "double"; isReadonly: true }
- Property { name: "padding"; type: "double" }
- Property { name: "topPadding"; type: "double" }
- Property { name: "leftPadding"; type: "double" }
- Property { name: "rightPadding"; type: "double" }
- Property { name: "bottomPadding"; type: "double" }
- Property { name: "spacing"; type: "double" }
- Property { name: "locale"; type: "QLocale" }
- Property { name: "mirrored"; type: "bool"; isReadonly: true }
- Property { name: "focusPolicy"; type: "Qt::FocusPolicy" }
- Property { name: "focusReason"; type: "Qt::FocusReason" }
- Property { name: "visualFocus"; type: "bool"; isReadonly: true }
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Property { name: "hoverEnabled"; type: "bool" }
- Property { name: "wheelEnabled"; type: "bool" }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
- Property { name: "baselineOffset"; type: "double" }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "horizontalPadding"; revision: 5; type: "double" }
- Property { name: "verticalPadding"; revision: 5; type: "double" }
- Property { name: "implicitContentWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitContentHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "topInset"; revision: 5; type: "double" }
- Property { name: "leftInset"; revision: 5; type: "double" }
- Property { name: "rightInset"; revision: 5; type: "double" }
- Property { name: "bottomInset"; revision: 5; type: "double" }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "horizontalPaddingChanged"; revision: 5 }
- Signal { name: "verticalPaddingChanged"; revision: 5 }
- Signal { name: "implicitContentWidthChanged"; revision: 5 }
- Signal { name: "implicitContentHeightChanged"; revision: 5 }
- Signal { name: "implicitBackgroundWidthChanged"; revision: 5 }
- Signal { name: "implicitBackgroundHeightChanged"; revision: 5 }
- Signal { name: "topInsetChanged"; revision: 5 }
- Signal { name: "leftInsetChanged"; revision: 5 }
- Signal { name: "rightInsetChanged"; revision: 5 }
- Signal { name: "bottomInsetChanged"; revision: 5 }
- }
- Component {
- name: "QQuickDelayButton"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/DelayButton 2.2"]
- exportMetaObjectRevisions: [0]
- Property { name: "delay"; type: "int" }
- Property { name: "progress"; type: "double" }
- Property { name: "transition"; type: "QQuickTransition"; isPointer: true }
- Signal { name: "activated" }
- }
- Component {
- name: "QQuickDial"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/Dial 2.0",
- "QtQuick.Templates/Dial 2.2",
- "QtQuick.Templates/Dial 2.5"
- ]
- exportMetaObjectRevisions: [0, 2, 5]
- Enum {
- name: "SnapMode"
- values: {
- "NoSnap": 0,
- "SnapAlways": 1,
- "SnapOnRelease": 2
- }
- }
- Enum {
- name: "InputMode"
- values: {
- "Circular": 0,
- "Horizontal": 1,
- "Vertical": 2
- }
- }
- Property { name: "from"; type: "double" }
- Property { name: "to"; type: "double" }
- Property { name: "value"; type: "double" }
- Property { name: "position"; type: "double"; isReadonly: true }
- Property { name: "angle"; type: "double"; isReadonly: true }
- Property { name: "stepSize"; type: "double" }
- Property { name: "snapMode"; type: "SnapMode" }
- Property { name: "wrap"; type: "bool" }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Property { name: "handle"; type: "QQuickItem"; isPointer: true }
- Property { name: "live"; revision: 2; type: "bool" }
- Property { name: "inputMode"; revision: 5; type: "InputMode" }
- Signal { name: "moved"; revision: 2 }
- Signal { name: "liveChanged"; revision: 2 }
- Signal { name: "inputModeChanged"; revision: 5 }
- Method { name: "increase" }
- Method { name: "decrease" }
- }
- Component {
- name: "QQuickDialog"
- defaultProperty: "contentData"
- prototype: "QQuickPopup"
- exports: [
- "QtQuick.Templates/Dialog 2.1",
- "QtQuick.Templates/Dialog 2.3",
- "QtQuick.Templates/Dialog 2.5"
- ]
- exportMetaObjectRevisions: [0, 3, 5]
- Enum {
- name: "StandardCode"
- values: {
- "Rejected": 0,
- "Accepted": 1
- }
- }
- Property { name: "title"; type: "string" }
- Property { name: "header"; type: "QQuickItem"; isPointer: true }
- Property { name: "footer"; type: "QQuickItem"; isPointer: true }
- Property { name: "standardButtons"; type: "QPlatformDialogHelper::StandardButtons" }
- Property { name: "result"; revision: 3; type: "int" }
- Property { name: "implicitHeaderWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitHeaderHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitFooterWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitFooterHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal { name: "accepted" }
- Signal { name: "rejected" }
- Signal { name: "applied"; revision: 3 }
- Signal { name: "reset"; revision: 3 }
- Signal { name: "discarded"; revision: 3 }
- Signal { name: "helpRequested"; revision: 3 }
- Signal { name: "resultChanged"; revision: 3 }
- Method { name: "accept" }
- Method { name: "reject" }
- Method {
- name: "done"
- Parameter { name: "result"; type: "int" }
- }
- Method {
- name: "standardButton"
- revision: 3
- type: "QQuickAbstractButton*"
- Parameter { name: "button"; type: "QPlatformDialogHelper::StandardButton" }
- }
- }
- Component {
- name: "QQuickDialogButtonBox"
- defaultProperty: "contentData"
- prototype: "QQuickContainer"
- exports: [
- "QtQuick.Templates/DialogButtonBox 2.1",
- "QtQuick.Templates/DialogButtonBox 2.3",
- "QtQuick.Templates/DialogButtonBox 2.5"
- ]
- exportMetaObjectRevisions: [0, 3, 5]
- attachedType: "QQuickDialogButtonBoxAttached"
- Enum {
- name: "Position"
- values: {
- "Header": 0,
- "Footer": 1
- }
- }
- Property { name: "position"; type: "Position" }
- Property { name: "alignment"; type: "Qt::Alignment" }
- Property { name: "standardButtons"; type: "QPlatformDialogHelper::StandardButtons" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- Property { name: "buttonLayout"; revision: 5; type: "QPlatformDialogHelper::ButtonLayout" }
- Signal { name: "accepted" }
- Signal { name: "rejected" }
- Signal { name: "helpRequested" }
- Signal {
- name: "clicked"
- Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
- }
- Signal { name: "applied"; revision: 3 }
- Signal { name: "reset"; revision: 3 }
- Signal { name: "discarded"; revision: 3 }
- Signal { name: "buttonLayoutChanged"; revision: 5 }
- Method {
- name: "standardButton"
- type: "QQuickAbstractButton*"
- Parameter { name: "button"; type: "QPlatformDialogHelper::StandardButton" }
- }
- }
- Component {
- name: "QQuickDialogButtonBoxAttached"
- prototype: "QObject"
- Property { name: "buttonBox"; type: "QQuickDialogButtonBox"; isReadonly: true; isPointer: true }
- Property { name: "buttonRole"; type: "QPlatformDialogHelper::ButtonRole" }
- }
- Component {
- name: "QQuickDrawer"
- defaultProperty: "contentData"
- prototype: "QQuickPopup"
- exports: [
- "QtQuick.Templates/Drawer 2.0",
- "QtQuick.Templates/Drawer 2.2"
- ]
- exportMetaObjectRevisions: [0, 2]
- Property { name: "edge"; type: "Qt::Edge" }
- Property { name: "position"; type: "double" }
- Property { name: "dragMargin"; type: "double" }
- Property { name: "interactive"; revision: 2; type: "bool" }
- Signal { name: "interactiveChanged"; revision: 2 }
- }
- Component {
- name: "QQuickFrame"
- defaultProperty: "contentData"
- prototype: "QQuickPane"
- exports: ["QtQuick.Templates/Frame 2.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickGroupBox"
- defaultProperty: "contentData"
- prototype: "QQuickFrame"
- exports: [
- "QtQuick.Templates/GroupBox 2.0",
- "QtQuick.Templates/GroupBox 2.5"
- ]
- exportMetaObjectRevisions: [0, 5]
- Property { name: "title"; type: "string" }
- Property { name: "label"; type: "QQuickItem"; isPointer: true }
- Property { name: "implicitLabelWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitLabelHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal { name: "implicitLabelWidthChanged"; revision: 5 }
- Signal { name: "implicitLabelHeightChanged"; revision: 5 }
- }
- Component {
- name: "QQuickIcon"
- Property { name: "name"; type: "string" }
- Property { name: "source"; type: "QUrl" }
- Property { name: "width"; type: "int" }
- Property { name: "height"; type: "int" }
- Property { name: "color"; type: "QColor" }
- Property { name: "cache"; type: "bool" }
- }
- Component {
- name: "QQuickItemDelegate"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/ItemDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "highlighted"; type: "bool" }
- }
- Component {
- name: "QQuickLabel"
- defaultProperty: "data"
- prototype: "QQuickText"
- exports: [
- "QtQuick.Templates/Label 2.0",
- "QtQuick.Templates/Label 2.3",
- "QtQuick.Templates/Label 2.5"
- ]
- exportMetaObjectRevisions: [0, 3, 5]
- Property { name: "font"; type: "QFont" }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "topInset"; revision: 5; type: "double" }
- Property { name: "leftInset"; revision: 5; type: "double" }
- Property { name: "rightInset"; revision: 5; type: "double" }
- Property { name: "bottomInset"; revision: 5; type: "double" }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "implicitBackgroundWidthChanged"; revision: 5 }
- Signal { name: "implicitBackgroundHeightChanged"; revision: 5 }
- Signal { name: "topInsetChanged"; revision: 5 }
- Signal { name: "leftInsetChanged"; revision: 5 }
- Signal { name: "rightInsetChanged"; revision: 5 }
- Signal { name: "bottomInsetChanged"; revision: 5 }
- }
- Component {
- name: "QQuickMenu"
- defaultProperty: "contentData"
- prototype: "QQuickPopup"
- exports: ["QtQuick.Templates/Menu 2.0", "QtQuick.Templates/Menu 2.3"]
- exportMetaObjectRevisions: [0, 3]
- Property { name: "contentModel"; type: "QVariant"; isReadonly: true }
- Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "title"; type: "string" }
- Property { name: "count"; revision: 3; type: "int"; isReadonly: true }
- Property { name: "cascade"; revision: 3; type: "bool" }
- Property { name: "overlap"; revision: 3; type: "double" }
- Property { name: "delegate"; revision: 3; type: "QQmlComponent"; isPointer: true }
- Property { name: "currentIndex"; revision: 3; type: "int" }
- Signal {
- name: "titleChanged"
- Parameter { name: "title"; type: "string" }
- }
- Signal { name: "countChanged"; revision: 3 }
- Signal {
- name: "cascadeChanged"
- revision: 3
- Parameter { name: "cascade"; type: "bool" }
- }
- Signal { name: "overlapChanged"; revision: 3 }
- Signal { name: "delegateChanged"; revision: 3 }
- Signal { name: "currentIndexChanged"; revision: 3 }
- Method {
- name: "itemAt"
- type: "QQuickItem*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "addItem"
- Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
- }
- Method {
- name: "insertItem"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
- }
- Method {
- name: "moveItem"
- Parameter { name: "from"; type: "int" }
- Parameter { name: "to"; type: "int" }
- }
- Method {
- name: "removeItem"
- Parameter { name: "item"; type: "QVariant" }
- }
- Method {
- name: "takeItem"
- revision: 3
- type: "QQuickItem*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "menuAt"
- revision: 3
- type: "QQuickMenu*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "addMenu"
- revision: 3
- Parameter { name: "menu"; type: "QQuickMenu"; isPointer: true }
- }
- Method {
- name: "insertMenu"
- revision: 3
- Parameter { name: "index"; type: "int" }
- Parameter { name: "menu"; type: "QQuickMenu"; isPointer: true }
- }
- Method {
- name: "removeMenu"
- revision: 3
- Parameter { name: "menu"; type: "QQuickMenu"; isPointer: true }
- }
- Method {
- name: "takeMenu"
- revision: 3
- type: "QQuickMenu*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "actionAt"
- revision: 3
- type: "QQuickAction*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "addAction"
- revision: 3
- Parameter { name: "action"; type: "QQuickAction"; isPointer: true }
- }
- Method {
- name: "insertAction"
- revision: 3
- Parameter { name: "index"; type: "int" }
- Parameter { name: "action"; type: "QQuickAction"; isPointer: true }
- }
- Method {
- name: "removeAction"
- revision: 3
- Parameter { name: "action"; type: "QQuickAction"; isPointer: true }
- }
- Method {
- name: "takeAction"
- revision: 3
- type: "QQuickAction*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "popup"
- revision: 3
- Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
- }
- Method { name: "dismiss"; revision: 3 }
- }
- Component {
- name: "QQuickMenuBar"
- defaultProperty: "contentData"
- prototype: "QQuickContainer"
- exports: ["QtQuick.Templates/MenuBar 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- Property { name: "contentWidth"; type: "double" }
- Property { name: "contentHeight"; type: "double" }
- Property { name: "menus"; type: "QQuickMenu"; isList: true; isReadonly: true }
- Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
- Method {
- name: "menuAt"
- type: "QQuickMenu*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "addMenu"
- Parameter { name: "menu"; type: "QQuickMenu"; isPointer: true }
- }
- Method {
- name: "insertMenu"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "menu"; type: "QQuickMenu"; isPointer: true }
- }
- Method {
- name: "removeMenu"
- Parameter { name: "menu"; type: "QQuickMenu"; isPointer: true }
- }
- Method {
- name: "takeMenu"
- type: "QQuickMenu*"
- Parameter { name: "index"; type: "int" }
- }
- }
- Component {
- name: "QQuickMenuBarItem"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/MenuBarItem 2.3"]
- exportMetaObjectRevisions: [0]
- Property { name: "menuBar"; type: "QQuickMenuBar"; isReadonly: true; isPointer: true }
- Property { name: "menu"; type: "QQuickMenu"; isPointer: true }
- Property { name: "highlighted"; type: "bool" }
- Signal { name: "triggered" }
- }
- Component {
- name: "QQuickMenuItem"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: [
- "QtQuick.Templates/MenuItem 2.0",
- "QtQuick.Templates/MenuItem 2.3"
- ]
- exportMetaObjectRevisions: [0, 3]
- Property { name: "highlighted"; type: "bool" }
- Property { name: "arrow"; revision: 3; type: "QQuickItem"; isPointer: true }
- Property { name: "menu"; revision: 3; type: "QQuickMenu"; isReadonly: true; isPointer: true }
- Property { name: "subMenu"; revision: 3; type: "QQuickMenu"; isReadonly: true; isPointer: true }
- Signal { name: "triggered" }
- Signal { name: "arrowChanged"; revision: 3 }
- Signal { name: "menuChanged"; revision: 3 }
- Signal { name: "subMenuChanged"; revision: 3 }
- }
- Component {
- name: "QQuickMenuSeparator"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["QtQuick.Templates/MenuSeparator 2.1"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickOverlay"
- defaultProperty: "data"
- prototype: "QQuickItem"
- exports: ["QtQuick.Templates/Overlay 2.3"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- attachedType: "QQuickOverlayAttached"
- Property { name: "modal"; type: "QQmlComponent"; isPointer: true }
- Property { name: "modeless"; type: "QQmlComponent"; isPointer: true }
- Signal { name: "pressed" }
- Signal { name: "released" }
- }
- Component {
- name: "QQuickOverlayAttached"
- prototype: "QObject"
- Property { name: "overlay"; type: "QQuickOverlay"; isReadonly: true; isPointer: true }
- Property { name: "modal"; type: "QQmlComponent"; isPointer: true }
- Property { name: "modeless"; type: "QQmlComponent"; isPointer: true }
- Signal { name: "pressed" }
- Signal { name: "released" }
- }
- Component {
- name: "QQuickPage"
- defaultProperty: "contentData"
- prototype: "QQuickPane"
- exports: [
- "QtQuick.Templates/Page 2.0",
- "QtQuick.Templates/Page 2.1",
- "QtQuick.Templates/Page 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 5]
- Property { name: "title"; type: "string" }
- Property { name: "header"; type: "QQuickItem"; isPointer: true }
- Property { name: "footer"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentWidth"; revision: 1; type: "double" }
- Property { name: "contentHeight"; revision: 1; type: "double" }
- Property { name: "implicitHeaderWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitHeaderHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitFooterWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitFooterHeight"; revision: 5; type: "double"; isReadonly: true }
- }
- Component {
- name: "QQuickPageIndicator"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["QtQuick.Templates/PageIndicator 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "count"; type: "int" }
- Property { name: "currentIndex"; type: "int" }
- Property { name: "interactive"; type: "bool" }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- }
- Component {
- name: "QQuickPane"
- defaultProperty: "contentData"
- prototype: "QQuickControl"
- exports: ["QtQuick.Templates/Pane 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "contentWidth"; type: "double" }
- Property { name: "contentHeight"; type: "double" }
- Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
- }
- Component {
- name: "QQuickPopup"
- defaultProperty: "contentData"
- prototype: "QObject"
- exports: [
- "QtQuick.Templates/Popup 2.0",
- "QtQuick.Templates/Popup 2.1",
- "QtQuick.Templates/Popup 2.3",
- "QtQuick.Templates/Popup 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 3, 5]
- Enum {
- name: "ClosePolicy"
- values: {
- "NoAutoClose": 0,
- "CloseOnPressOutside": 1,
- "CloseOnPressOutsideParent": 2,
- "CloseOnReleaseOutside": 4,
- "CloseOnReleaseOutsideParent": 8,
- "CloseOnEscape": 16
- }
- }
- Enum {
- name: "TransformOrigin"
- values: {
- "TopLeft": 0,
- "Top": 1,
- "TopRight": 2,
- "Left": 3,
- "Center": 4,
- "Right": 5,
- "BottomLeft": 6,
- "Bottom": 7,
- "BottomRight": 8
- }
- }
- Property { name: "x"; type: "double" }
- Property { name: "y"; type: "double" }
- Property { name: "z"; type: "double" }
- Property { name: "width"; type: "double" }
- Property { name: "height"; type: "double" }
- Property { name: "implicitWidth"; type: "double" }
- Property { name: "implicitHeight"; type: "double" }
- Property { name: "contentWidth"; type: "double" }
- Property { name: "contentHeight"; type: "double" }
- Property { name: "availableWidth"; type: "double"; isReadonly: true }
- Property { name: "availableHeight"; type: "double"; isReadonly: true }
- Property { name: "margins"; type: "double" }
- Property { name: "topMargin"; type: "double" }
- Property { name: "leftMargin"; type: "double" }
- Property { name: "rightMargin"; type: "double" }
- Property { name: "bottomMargin"; type: "double" }
- Property { name: "padding"; type: "double" }
- Property { name: "topPadding"; type: "double" }
- Property { name: "leftPadding"; type: "double" }
- Property { name: "rightPadding"; type: "double" }
- Property { name: "bottomPadding"; type: "double" }
- Property { name: "locale"; type: "QLocale" }
- Property { name: "font"; type: "QFont" }
- Property { name: "parent"; type: "QQuickItem"; isPointer: true }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
- Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
- Property { name: "clip"; type: "bool" }
- Property { name: "focus"; type: "bool" }
- Property { name: "activeFocus"; type: "bool"; isReadonly: true }
- Property { name: "modal"; type: "bool" }
- Property { name: "dim"; type: "bool" }
- Property { name: "visible"; type: "bool" }
- Property { name: "opacity"; type: "double" }
- Property { name: "scale"; type: "double" }
- Property { name: "closePolicy"; type: "ClosePolicy" }
- Property { name: "transformOrigin"; type: "TransformOrigin" }
- Property { name: "enter"; type: "QQuickTransition"; isPointer: true }
- Property { name: "exit"; type: "QQuickTransition"; isPointer: true }
- Property { name: "spacing"; revision: 1; type: "double" }
- Property { name: "opened"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "mirrored"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "enabled"; revision: 3; type: "bool" }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "horizontalPadding"; type: "double" }
- Property { name: "verticalPadding"; type: "double" }
- Property {
- name: "anchors"
- revision: 5
- type: "QQuickPopupAnchors"
- isReadonly: true
- isPointer: true
- }
- Property { name: "implicitContentWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitContentHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "topInset"; revision: 5; type: "double" }
- Property { name: "leftInset"; revision: 5; type: "double" }
- Property { name: "rightInset"; revision: 5; type: "double" }
- Property { name: "bottomInset"; revision: 5; type: "double" }
- Signal { name: "opened" }
- Signal { name: "closed" }
- Signal { name: "aboutToShow" }
- Signal { name: "aboutToHide" }
- Signal {
- name: "windowChanged"
- Parameter { name: "window"; type: "QQuickWindow"; isPointer: true }
- }
- Signal { name: "spacingChanged"; revision: 1 }
- Signal { name: "openedChanged"; revision: 3 }
- Signal { name: "mirroredChanged"; revision: 3 }
- Signal { name: "enabledChanged"; revision: 3 }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "horizontalPaddingChanged"; revision: 5 }
- Signal { name: "verticalPaddingChanged"; revision: 5 }
- Signal { name: "implicitContentWidthChanged"; revision: 5 }
- Signal { name: "implicitContentHeightChanged"; revision: 5 }
- Signal { name: "implicitBackgroundWidthChanged"; revision: 5 }
- Signal { name: "implicitBackgroundHeightChanged"; revision: 5 }
- Signal { name: "topInsetChanged"; revision: 5 }
- Signal { name: "leftInsetChanged"; revision: 5 }
- Signal { name: "rightInsetChanged"; revision: 5 }
- Signal { name: "bottomInsetChanged"; revision: 5 }
- Method { name: "open" }
- Method { name: "close" }
- Method {
- name: "forceActiveFocus"
- Parameter { name: "reason"; type: "Qt::FocusReason" }
- }
- Method { name: "forceActiveFocus" }
- }
- Component {
- name: "QQuickPopupAnchors"
- prototype: "QObject"
- Property { name: "centerIn"; type: "QQuickItem"; isPointer: true }
- }
- Component {
- name: "QQuickProgressBar"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["QtQuick.Templates/ProgressBar 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "from"; type: "double" }
- Property { name: "to"; type: "double" }
- Property { name: "value"; type: "double" }
- Property { name: "position"; type: "double"; isReadonly: true }
- Property { name: "visualPosition"; type: "double"; isReadonly: true }
- Property { name: "indeterminate"; type: "bool" }
- }
- Component {
- name: "QQuickRadioButton"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/RadioButton 2.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickRadioDelegate"
- defaultProperty: "data"
- prototype: "QQuickItemDelegate"
- exports: ["QtQuick.Templates/RadioDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickRangeSlider"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/RangeSlider 2.0",
- "QtQuick.Templates/RangeSlider 2.1",
- "QtQuick.Templates/RangeSlider 2.2",
- "QtQuick.Templates/RangeSlider 2.3",
- "QtQuick.Templates/RangeSlider 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 2, 3, 5]
- Enum {
- name: "SnapMode"
- values: {
- "NoSnap": 0,
- "SnapAlways": 1,
- "SnapOnRelease": 2
- }
- }
- Property { name: "from"; type: "double" }
- Property { name: "to"; type: "double" }
- Property { name: "first"; type: "QQuickRangeSliderNode"; isReadonly: true; isPointer: true }
- Property { name: "second"; type: "QQuickRangeSliderNode"; isReadonly: true; isPointer: true }
- Property { name: "stepSize"; type: "double" }
- Property { name: "snapMode"; type: "SnapMode" }
- Property { name: "orientation"; type: "Qt::Orientation" }
- Property { name: "live"; revision: 2; type: "bool" }
- Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "touchDragThreshold"; revision: 5; type: "double" }
- Signal { name: "liveChanged"; revision: 2 }
- Signal { name: "touchDragThresholdChanged"; revision: 5 }
- Method {
- name: "setValues"
- Parameter { name: "firstValue"; type: "double" }
- Parameter { name: "secondValue"; type: "double" }
- }
- Method {
- name: "valueAt"
- revision: 5
- type: "double"
- Parameter { name: "position"; type: "double" }
- }
- }
- Component {
- name: "QQuickRangeSliderNode"
- prototype: "QObject"
- Property { name: "value"; type: "double" }
- Property { name: "position"; type: "double"; isReadonly: true }
- Property { name: "visualPosition"; type: "double"; isReadonly: true }
- Property { name: "handle"; type: "QQuickItem"; isPointer: true }
- Property { name: "pressed"; type: "bool" }
- Property { name: "hovered"; revision: 1; type: "bool" }
- Property { name: "implicitHandleWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitHandleHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal { name: "hoveredChanged"; revision: 1 }
- Signal { name: "moved" }
- Method { name: "increase" }
- Method { name: "decrease" }
- }
- Component {
- name: "QQuickRoundButton"
- defaultProperty: "data"
- prototype: "QQuickButton"
- exports: ["QtQuick.Templates/RoundButton 2.1"]
- exportMetaObjectRevisions: [0]
- Property { name: "radius"; type: "double" }
- }
- Component {
- name: "QQuickScrollBar"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/ScrollBar 2.0",
- "QtQuick.Templates/ScrollBar 2.2",
- "QtQuick.Templates/ScrollBar 2.3",
- "QtQuick.Templates/ScrollBar 2.4"
- ]
- exportMetaObjectRevisions: [0, 2, 3, 4]
- attachedType: "QQuickScrollBarAttached"
- Enum {
- name: "SnapMode"
- values: {
- "NoSnap": 0,
- "SnapAlways": 1,
- "SnapOnRelease": 2
- }
- }
- Enum {
- name: "Policy"
- values: {
- "AsNeeded": 0,
- "AlwaysOff": 1,
- "AlwaysOn": 2
- }
- }
- Property { name: "size"; type: "double" }
- Property { name: "position"; type: "double" }
- Property { name: "stepSize"; type: "double" }
- Property { name: "active"; type: "bool" }
- Property { name: "pressed"; type: "bool" }
- Property { name: "orientation"; type: "Qt::Orientation" }
- Property { name: "snapMode"; revision: 2; type: "SnapMode" }
- Property { name: "interactive"; revision: 2; type: "bool" }
- Property { name: "policy"; revision: 2; type: "Policy" }
- Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "minimumSize"; revision: 4; type: "double" }
- Property { name: "visualSize"; revision: 4; type: "double"; isReadonly: true }
- Property { name: "visualPosition"; revision: 4; type: "double"; isReadonly: true }
- Signal { name: "snapModeChanged"; revision: 2 }
- Signal { name: "interactiveChanged"; revision: 2 }
- Signal { name: "policyChanged"; revision: 2 }
- Signal { name: "minimumSizeChanged"; revision: 4 }
- Signal { name: "visualSizeChanged"; revision: 4 }
- Signal { name: "visualPositionChanged"; revision: 4 }
- Method { name: "increase" }
- Method { name: "decrease" }
- Method {
- name: "setSize"
- Parameter { name: "size"; type: "double" }
- }
- Method {
- name: "setPosition"
- Parameter { name: "position"; type: "double" }
- }
- }
- Component {
- name: "QQuickScrollBarAttached"
- prototype: "QObject"
- Property { name: "horizontal"; type: "QQuickScrollBar"; isPointer: true }
- Property { name: "vertical"; type: "QQuickScrollBar"; isPointer: true }
- }
- Component {
- name: "QQuickScrollIndicator"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/ScrollIndicator 2.0",
- "QtQuick.Templates/ScrollIndicator 2.3",
- "QtQuick.Templates/ScrollIndicator 2.4"
- ]
- exportMetaObjectRevisions: [0, 3, 4]
- attachedType: "QQuickScrollIndicatorAttached"
- Property { name: "size"; type: "double" }
- Property { name: "position"; type: "double" }
- Property { name: "active"; type: "bool" }
- Property { name: "orientation"; type: "Qt::Orientation" }
- Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "minimumSize"; revision: 4; type: "double" }
- Property { name: "visualSize"; revision: 4; type: "double"; isReadonly: true }
- Property { name: "visualPosition"; revision: 4; type: "double"; isReadonly: true }
- Signal { name: "minimumSizeChanged"; revision: 4 }
- Signal { name: "visualSizeChanged"; revision: 4 }
- Signal { name: "visualPositionChanged"; revision: 4 }
- Method {
- name: "setSize"
- Parameter { name: "size"; type: "double" }
- }
- Method {
- name: "setPosition"
- Parameter { name: "position"; type: "double" }
- }
- }
- Component {
- name: "QQuickScrollIndicatorAttached"
- prototype: "QObject"
- Property { name: "horizontal"; type: "QQuickScrollIndicator"; isPointer: true }
- Property { name: "vertical"; type: "QQuickScrollIndicator"; isPointer: true }
- }
- Component {
- name: "QQuickScrollView"
- defaultProperty: "contentData"
- prototype: "QQuickPane"
- exports: ["QtQuick.Templates/ScrollView 2.2"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickSlider"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/Slider 2.0",
- "QtQuick.Templates/Slider 2.1",
- "QtQuick.Templates/Slider 2.2",
- "QtQuick.Templates/Slider 2.3",
- "QtQuick.Templates/Slider 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 2, 3, 5]
- Enum {
- name: "SnapMode"
- values: {
- "NoSnap": 0,
- "SnapAlways": 1,
- "SnapOnRelease": 2
- }
- }
- Property { name: "from"; type: "double" }
- Property { name: "to"; type: "double" }
- Property { name: "value"; type: "double" }
- Property { name: "position"; type: "double"; isReadonly: true }
- Property { name: "visualPosition"; type: "double"; isReadonly: true }
- Property { name: "stepSize"; type: "double" }
- Property { name: "snapMode"; type: "SnapMode" }
- Property { name: "pressed"; type: "bool" }
- Property { name: "orientation"; type: "Qt::Orientation" }
- Property { name: "handle"; type: "QQuickItem"; isPointer: true }
- Property { name: "live"; revision: 2; type: "bool" }
- Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "touchDragThreshold"; revision: 5; type: "double" }
- Property { name: "implicitHandleWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitHandleHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal { name: "moved"; revision: 2 }
- Signal { name: "liveChanged"; revision: 2 }
- Signal { name: "touchDragThresholdChanged"; revision: 5 }
- Signal { name: "implicitHandleWidthChanged"; revision: 5 }
- Signal { name: "implicitHandleHeightChanged"; revision: 5 }
- Method { name: "increase" }
- Method { name: "decrease" }
- Method {
- name: "valueAt"
- revision: 1
- type: "double"
- Parameter { name: "position"; type: "double" }
- }
- }
- Component {
- name: "QQuickSpinBox"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/SpinBox 2.0",
- "QtQuick.Templates/SpinBox 2.1",
- "QtQuick.Templates/SpinBox 2.2",
- "QtQuick.Templates/SpinBox 2.3",
- "QtQuick.Templates/SpinBox 2.4",
- "QtQuick.Templates/SpinBox 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 2, 3, 4, 5]
- Property { name: "from"; type: "int" }
- Property { name: "to"; type: "int" }
- Property { name: "value"; type: "int" }
- Property { name: "stepSize"; type: "int" }
- Property { name: "editable"; type: "bool" }
- Property { name: "validator"; type: "QValidator"; isPointer: true }
- Property { name: "textFromValue"; type: "QJSValue" }
- Property { name: "valueFromText"; type: "QJSValue" }
- Property { name: "up"; type: "QQuickSpinButton"; isReadonly: true; isPointer: true }
- Property { name: "down"; type: "QQuickSpinButton"; isReadonly: true; isPointer: true }
- Property { name: "inputMethodHints"; revision: 2; type: "Qt::InputMethodHints" }
- Property { name: "inputMethodComposing"; revision: 2; type: "bool"; isReadonly: true }
- Property { name: "wrap"; revision: 3; type: "bool" }
- Property { name: "displayText"; revision: 4; type: "string"; isReadonly: true }
- Signal { name: "valueModified"; revision: 2 }
- Signal { name: "inputMethodHintsChanged"; revision: 2 }
- Signal { name: "inputMethodComposingChanged"; revision: 2 }
- Signal { name: "wrapChanged"; revision: 3 }
- Signal { name: "displayTextChanged"; revision: 4 }
- Method { name: "increase" }
- Method { name: "decrease" }
- }
- Component {
- name: "QQuickSpinButton"
- prototype: "QObject"
- Property { name: "pressed"; type: "bool" }
- Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
- Property { name: "hovered"; revision: 1; type: "bool" }
- Property { name: "implicitIndicatorWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitIndicatorHeight"; revision: 5; type: "double"; isReadonly: true }
- Signal { name: "hoveredChanged"; revision: 1 }
- Signal { name: "implicitIndicatorWidthChanged"; revision: 5 }
- Signal { name: "implicitIndicatorHeightChanged"; revision: 5 }
- }
- Component {
- name: "QQuickSplitHandleAttached"
- prototype: "QObject"
- exports: ["QtQuick.Templates/SplitHandle 2.13"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "hovered"; type: "bool"; isReadonly: true }
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- }
- Component {
- name: "QQuickSplitView"
- defaultProperty: "contentData"
- prototype: "QQuickContainer"
- exports: ["QtQuick.Templates/SplitView 2.13"]
- exportMetaObjectRevisions: [0]
- attachedType: "QQuickSplitViewAttached"
- Property { name: "orientation"; type: "Qt::Orientation" }
- Property { name: "resizing"; type: "bool"; isReadonly: true }
- Property { name: "handle"; type: "QQmlComponent"; isPointer: true }
- Method { name: "saveState"; type: "QVariant" }
- Method {
- name: "restoreState"
- type: "bool"
- Parameter { name: "state"; type: "QVariant" }
- }
- }
- Component {
- name: "QQuickSplitViewAttached"
- prototype: "QObject"
- Property { name: "view"; type: "QQuickSplitView"; isReadonly: true; isPointer: true }
- Property { name: "minimumWidth"; type: "double" }
- Property { name: "minimumHeight"; type: "double" }
- Property { name: "preferredWidth"; type: "double" }
- Property { name: "preferredHeight"; type: "double" }
- Property { name: "maximumWidth"; type: "double" }
- Property { name: "maximumHeight"; type: "double" }
- Property { name: "fillHeight"; type: "bool" }
- Property { name: "fillWidth"; type: "bool" }
- }
- Component {
- name: "QQuickStackView"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/StackView 2.0",
- "QtQuick.Templates/StackView 2.1"
- ]
- exportMetaObjectRevisions: [0, 1]
- attachedType: "QQuickStackViewAttached"
- Enum {
- name: "Status"
- values: {
- "Inactive": 0,
- "Deactivating": 1,
- "Activating": 2,
- "Active": 3
- }
- }
- Enum {
- name: "LoadBehavior"
- values: {
- "DontLoad": 0,
- "ForceLoad": 1
- }
- }
- Enum {
- name: "Operation"
- values: {
- "Transition": -1,
- "Immediate": 0,
- "PushTransition": 1,
- "ReplaceTransition": 2,
- "PopTransition": 3
- }
- }
- Property { name: "busy"; type: "bool"; isReadonly: true }
- Property { name: "depth"; type: "int"; isReadonly: true }
- Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "initialItem"; type: "QJSValue" }
- Property { name: "popEnter"; type: "QQuickTransition"; isPointer: true }
- Property { name: "popExit"; type: "QQuickTransition"; isPointer: true }
- Property { name: "pushEnter"; type: "QQuickTransition"; isPointer: true }
- Property { name: "pushExit"; type: "QQuickTransition"; isPointer: true }
- Property { name: "replaceEnter"; type: "QQuickTransition"; isPointer: true }
- Property { name: "replaceExit"; type: "QQuickTransition"; isPointer: true }
- Property { name: "empty"; revision: 3; type: "bool"; isReadonly: true }
- Signal { name: "emptyChanged"; revision: 3 }
- Method {
- name: "clear"
- Parameter { name: "operation"; type: "Operation" }
- }
- Method { name: "clear" }
- Method {
- name: "get"
- type: "QQuickItem*"
- Parameter { name: "index"; type: "int" }
- Parameter { name: "behavior"; type: "LoadBehavior" }
- }
- Method {
- name: "get"
- type: "QQuickItem*"
- Parameter { name: "index"; type: "int" }
- }
- Method {
- name: "find"
- type: "QQuickItem*"
- Parameter { name: "callback"; type: "QJSValue" }
- Parameter { name: "behavior"; type: "LoadBehavior" }
- }
- Method {
- name: "find"
- type: "QQuickItem*"
- Parameter { name: "callback"; type: "QJSValue" }
- }
- Method {
- name: "push"
- Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
- }
- Method {
- name: "pop"
- Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
- }
- Method {
- name: "replace"
- Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
- }
- }
- Component {
- name: "QQuickStackViewAttached"
- prototype: "QObject"
- Property { name: "index"; type: "int"; isReadonly: true }
- Property { name: "view"; type: "QQuickStackView"; isReadonly: true; isPointer: true }
- Property { name: "status"; type: "QQuickStackView::Status"; isReadonly: true }
- Property { name: "visible"; type: "bool" }
- Signal { name: "activated" }
- Signal { name: "activating" }
- Signal { name: "deactivated" }
- Signal { name: "deactivating" }
- Signal { name: "removed" }
- }
- Component {
- name: "QQuickSwipe"
- prototype: "QObject"
- Property { name: "position"; type: "double" }
- Property { name: "complete"; type: "bool"; isReadonly: true }
- Property { name: "left"; type: "QQmlComponent"; isPointer: true }
- Property { name: "behind"; type: "QQmlComponent"; isPointer: true }
- Property { name: "right"; type: "QQmlComponent"; isPointer: true }
- Property { name: "leftItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "behindItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "rightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "enabled"; type: "bool" }
- Property { name: "transition"; type: "QQuickTransition"; isPointer: true }
- Signal { name: "completed" }
- Signal { name: "opened" }
- Signal { name: "closed" }
- Method { name: "close"; revision: 1 }
- Method {
- name: "open"
- revision: 2
- Parameter { name: "side"; type: "QQuickSwipeDelegate::Side" }
- }
- }
- Component {
- name: "QQuickSwipeDelegate"
- defaultProperty: "data"
- prototype: "QQuickItemDelegate"
- exports: [
- "QtQuick.Templates/SwipeDelegate 2.0",
- "QtQuick.Templates/SwipeDelegate 2.1",
- "QtQuick.Templates/SwipeDelegate 2.2"
- ]
- exportMetaObjectRevisions: [0, 1, 2]
- attachedType: "QQuickSwipeDelegateAttached"
- Enum {
- name: "Side"
- values: {
- "Left": 1,
- "Right": -1
- }
- }
- Property { name: "swipe"; type: "QQuickSwipe"; isReadonly: true; isPointer: true }
- }
- Component {
- name: "QQuickSwipeDelegateAttached"
- prototype: "QObject"
- Property { name: "pressed"; type: "bool"; isReadonly: true }
- Signal { name: "clicked" }
- }
- Component {
- name: "QQuickSwipeView"
- defaultProperty: "contentData"
- prototype: "QQuickContainer"
- exports: [
- "QtQuick.Templates/SwipeView 2.0",
- "QtQuick.Templates/SwipeView 2.1",
- "QtQuick.Templates/SwipeView 2.2"
- ]
- exportMetaObjectRevisions: [0, 1, 2]
- attachedType: "QQuickSwipeViewAttached"
- Property { name: "interactive"; revision: 1; type: "bool" }
- Property { name: "orientation"; revision: 2; type: "Qt::Orientation" }
- Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true }
- Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true }
- Signal { name: "interactiveChanged"; revision: 1 }
- Signal { name: "orientationChanged"; revision: 2 }
- }
- Component {
- name: "QQuickSwipeViewAttached"
- prototype: "QObject"
- Property { name: "index"; type: "int"; isReadonly: true }
- Property { name: "isCurrentItem"; type: "bool"; isReadonly: true }
- Property { name: "view"; type: "QQuickSwipeView"; isReadonly: true; isPointer: true }
- Property { name: "isNextItem"; revision: 1; type: "bool"; isReadonly: true }
- Property { name: "isPreviousItem"; revision: 1; type: "bool"; isReadonly: true }
- }
- Component {
- name: "QQuickSwitch"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/Switch 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "position"; type: "double" }
- Property { name: "visualPosition"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QQuickSwitchDelegate"
- defaultProperty: "data"
- prototype: "QQuickItemDelegate"
- exports: ["QtQuick.Templates/SwitchDelegate 2.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "position"; type: "double" }
- Property { name: "visualPosition"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QQuickTabBar"
- defaultProperty: "contentData"
- prototype: "QQuickContainer"
- exports: [
- "QtQuick.Templates/TabBar 2.0",
- "QtQuick.Templates/TabBar 2.2"
- ]
- exportMetaObjectRevisions: [0, 2]
- attachedType: "QQuickTabBarAttached"
- Enum {
- name: "Position"
- values: {
- "Header": 0,
- "Footer": 1
- }
- }
- Property { name: "position"; type: "Position" }
- Property { name: "contentWidth"; revision: 2; type: "double" }
- Property { name: "contentHeight"; revision: 2; type: "double" }
- }
- Component {
- name: "QQuickTabBarAttached"
- prototype: "QObject"
- Property { name: "index"; type: "int"; isReadonly: true }
- Property { name: "tabBar"; type: "QQuickTabBar"; isReadonly: true; isPointer: true }
- Property { name: "position"; type: "QQuickTabBar::Position"; isReadonly: true }
- }
- Component {
- name: "QQuickTabButton"
- defaultProperty: "data"
- prototype: "QQuickAbstractButton"
- exports: ["QtQuick.Templates/TabButton 2.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickTextArea"
- defaultProperty: "data"
- prototype: "QQuickTextEdit"
- exports: [
- "QtQuick.Templates/TextArea 2.0",
- "QtQuick.Templates/TextArea 2.1",
- "QtQuick.Templates/TextArea 2.3",
- "QtQuick.Templates/TextArea 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 3, 5]
- attachedType: "QQuickTextAreaAttached"
- Property { name: "font"; type: "QFont" }
- Property { name: "implicitWidth"; type: "double" }
- Property { name: "implicitHeight"; type: "double" }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "placeholderText"; type: "string" }
- Property { name: "focusReason"; type: "Qt::FocusReason" }
- Property { name: "hovered"; revision: 1; type: "bool"; isReadonly: true }
- Property { name: "hoverEnabled"; revision: 1; type: "bool" }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "placeholderTextColor"; revision: 5; type: "QColor" }
- Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "topInset"; revision: 5; type: "double" }
- Property { name: "leftInset"; revision: 5; type: "double" }
- Property { name: "rightInset"; revision: 5; type: "double" }
- Property { name: "bottomInset"; revision: 5; type: "double" }
- Signal { name: "implicitWidthChanged3" }
- Signal { name: "implicitHeightChanged3" }
- Signal {
- name: "pressAndHold"
- Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
- }
- Signal {
- name: "pressed"
- revision: 1
- Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
- }
- Signal {
- name: "released"
- revision: 1
- Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
- }
- Signal { name: "hoveredChanged"; revision: 1 }
- Signal { name: "hoverEnabledChanged"; revision: 1 }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "placeholderTextColorChanged"; revision: 5 }
- Signal { name: "implicitBackgroundWidthChanged"; revision: 5 }
- Signal { name: "implicitBackgroundHeightChanged"; revision: 5 }
- Signal { name: "topInsetChanged"; revision: 5 }
- Signal { name: "leftInsetChanged"; revision: 5 }
- Signal { name: "rightInsetChanged"; revision: 5 }
- Signal { name: "bottomInsetChanged"; revision: 5 }
- }
- Component {
- name: "QQuickTextAreaAttached"
- prototype: "QObject"
- Property { name: "flickable"; type: "QQuickTextArea"; isPointer: true }
- }
- Component {
- name: "QQuickTextField"
- defaultProperty: "data"
- prototype: "QQuickTextInput"
- exports: [
- "QtQuick.Templates/TextField 2.0",
- "QtQuick.Templates/TextField 2.1",
- "QtQuick.Templates/TextField 2.3",
- "QtQuick.Templates/TextField 2.5"
- ]
- exportMetaObjectRevisions: [0, 1, 3, 5]
- Property { name: "font"; type: "QFont" }
- Property { name: "implicitWidth"; type: "double" }
- Property { name: "implicitHeight"; type: "double" }
- Property { name: "background"; type: "QQuickItem"; isPointer: true }
- Property { name: "placeholderText"; type: "string" }
- Property { name: "focusReason"; type: "Qt::FocusReason" }
- Property { name: "hovered"; revision: 1; type: "bool"; isReadonly: true }
- Property { name: "hoverEnabled"; revision: 1; type: "bool" }
- Property { name: "palette"; revision: 3; type: "QPalette" }
- Property { name: "placeholderTextColor"; revision: 5; type: "QColor" }
- Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true }
- Property { name: "topInset"; revision: 5; type: "double" }
- Property { name: "leftInset"; revision: 5; type: "double" }
- Property { name: "rightInset"; revision: 5; type: "double" }
- Property { name: "bottomInset"; revision: 5; type: "double" }
- Signal { name: "implicitWidthChanged3" }
- Signal { name: "implicitHeightChanged3" }
- Signal {
- name: "pressAndHold"
- Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
- }
- Signal {
- name: "pressed"
- revision: 1
- Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
- }
- Signal {
- name: "released"
- revision: 1
- Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
- }
- Signal { name: "hoveredChanged"; revision: 1 }
- Signal { name: "hoverEnabledChanged"; revision: 1 }
- Signal { name: "paletteChanged"; revision: 3 }
- Signal { name: "placeholderTextColorChanged"; revision: 5 }
- Signal { name: "implicitBackgroundWidthChanged"; revision: 5 }
- Signal { name: "implicitBackgroundHeightChanged"; revision: 5 }
- Signal { name: "topInsetChanged"; revision: 5 }
- Signal { name: "leftInsetChanged"; revision: 5 }
- Signal { name: "rightInsetChanged"; revision: 5 }
- Signal { name: "bottomInsetChanged"; revision: 5 }
- }
- Component {
- name: "QQuickToolBar"
- defaultProperty: "contentData"
- prototype: "QQuickPane"
- exports: ["QtQuick.Templates/ToolBar 2.0"]
- exportMetaObjectRevisions: [0]
- Enum {
- name: "Position"
- values: {
- "Header": 0,
- "Footer": 1
- }
- }
- Property { name: "position"; type: "Position" }
- }
- Component {
- name: "QQuickToolButton"
- defaultProperty: "data"
- prototype: "QQuickButton"
- exports: ["QtQuick.Templates/ToolButton 2.0"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QQuickToolSeparator"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: ["QtQuick.Templates/ToolSeparator 2.1"]
- exportMetaObjectRevisions: [0]
- Property { name: "orientation"; type: "Qt::Orientation" }
- Property { name: "horizontal"; type: "bool"; isReadonly: true }
- Property { name: "vertical"; type: "bool"; isReadonly: true }
- }
- Component {
- name: "QQuickToolTip"
- defaultProperty: "contentData"
- prototype: "QQuickPopup"
- exports: [
- "QtQuick.Templates/ToolTip 2.0",
- "QtQuick.Templates/ToolTip 2.5"
- ]
- exportMetaObjectRevisions: [0, 5]
- attachedType: "QQuickToolTipAttached"
- Property { name: "delay"; type: "int" }
- Property { name: "timeout"; type: "int" }
- Property { name: "text"; type: "string" }
- Method {
- name: "show"
- revision: 5
- Parameter { name: "text"; type: "string" }
- Parameter { name: "ms"; type: "int" }
- }
- Method {
- name: "show"
- revision: 5
- Parameter { name: "text"; type: "string" }
- }
- Method { name: "hide"; revision: 5 }
- }
- Component {
- name: "QQuickToolTipAttached"
- prototype: "QObject"
- Property { name: "text"; type: "string" }
- Property { name: "delay"; type: "int" }
- Property { name: "timeout"; type: "int" }
- Property { name: "visible"; type: "bool" }
- Property { name: "toolTip"; type: "QQuickToolTip"; isReadonly: true; isPointer: true }
- Method {
- name: "show"
- Parameter { name: "text"; type: "string" }
- Parameter { name: "ms"; type: "int" }
- }
- Method {
- name: "show"
- Parameter { name: "text"; type: "string" }
- }
- Method { name: "hide" }
- }
- Component {
- name: "QQuickTumbler"
- defaultProperty: "data"
- prototype: "QQuickControl"
- exports: [
- "QtQuick.Templates/Tumbler 2.0",
- "QtQuick.Templates/Tumbler 2.1",
- "QtQuick.Templates/Tumbler 2.2"
- ]
- exportMetaObjectRevisions: [0, 1, 2]
- attachedType: "QQuickTumblerAttached"
- Enum {
- name: "PositionMode"
- values: {
- "Beginning": 0,
- "Center": 1,
- "End": 2,
- "Visible": 3,
- "Contain": 4,
- "SnapPosition": 5
- }
- }
- Property { name: "model"; type: "QVariant" }
- Property { name: "count"; type: "int"; isReadonly: true }
- Property { name: "currentIndex"; type: "int" }
- Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
- Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
- Property { name: "visibleItemCount"; type: "int" }
- Property { name: "wrap"; revision: 1; type: "bool" }
- Property { name: "moving"; revision: 2; type: "bool"; isReadonly: true }
- Signal { name: "wrapChanged"; revision: 1 }
- Signal { name: "movingChanged"; revision: 2 }
- Method {
- name: "positionViewAtIndex"
- revision: 5
- Parameter { name: "index"; type: "int" }
- Parameter { name: "mode"; type: "PositionMode" }
- }
- }
- Component {
- name: "QQuickTumblerAttached"
- prototype: "QObject"
- Property { name: "tumbler"; type: "QQuickTumbler"; isReadonly: true; isPointer: true }
- Property { name: "displacement"; type: "double"; isReadonly: true }
- }
-}
diff --git a/src/imports/templates/qmldir b/src/imports/templates/qmldir
deleted file mode 100644
index afb94818..00000000
--- a/src/imports/templates/qmldir
+++ /dev/null
@@ -1,4 +0,0 @@
-module QtQuick.Templates
-plugin qtquicktemplates2plugin
-classname QtQuickTemplates2Plugin
-depends QtQuick.Window 2.2
diff --git a/src/imports/templates/qtquicktemplates2plugin.cpp b/src/imports/templates/qtquicktemplates2plugin.cpp
deleted file mode 100644
index 470e86e0..00000000
--- a/src/imports/templates/qtquicktemplates2plugin.cpp
+++ /dev/null
@@ -1,361 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml/qqmlextensionplugin.h>
-#include <QtQml/private/qqmlglobal_p.h>
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-#include <QtQuickTemplates2/private/qquickaction_p.h>
-#include <QtQuickTemplates2/private/qquickactiongroup_p.h>
-#include <QtQuickTemplates2/private/qquickapplicationwindow_p.h>
-#include <QtQuickTemplates2/private/qquickbusyindicator_p.h>
-#include <QtQuickTemplates2/private/qquickbutton_p.h>
-#include <QtQuickTemplates2/private/qquickbuttongroup_p.h>
-#include <QtQuickTemplates2/private/qquickcheckbox_p.h>
-#include <QtQuickTemplates2/private/qquickcheckdelegate_p.h>
-#include <QtQuickTemplates2/private/qquickcombobox_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-#include <QtQuickTemplates2/private/qquickdelaybutton_p.h>
-#include <QtQuickTemplates2/private/qquickdial_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>
-#include <QtQuickTemplates2/private/qquickdrawer_p.h>
-#include <QtQuickTemplates2/private/qquickframe_p.h>
-#include <QtQuickTemplates2/private/qquickgroupbox_p.h>
-#include <QtQuickTemplates2/private/qquickicon_p.h>
-#include <QtQuickTemplates2/private/qquickitemdelegate_p.h>
-#include <QtQuickTemplates2/private/qquicklabel_p.h>
-#include <QtQuickTemplates2/private/qquickmenu_p.h>
-#include <QtQuickTemplates2/private/qquickmenubar_p.h>
-#include <QtQuickTemplates2/private/qquickmenubaritem_p.h>
-#include <QtQuickTemplates2/private/qquickmenuitem_p.h>
-#include <QtQuickTemplates2/private/qquickmenuseparator_p.h>
-#include <QtQuickTemplates2/private/qquickoverlay_p.h>
-#include <QtQuickTemplates2/private/qquickpage_p.h>
-#include <QtQuickTemplates2/private/qquickpageindicator_p.h>
-#include <QtQuickTemplates2/private/qquickpaletteprovider_p.h>
-#include <QtQuickTemplates2/private/qquickpane_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-#include <QtQuickTemplates2/private/qquickpopupanchors_p.h>
-#include <QtQuickTemplates2/private/qquickprogressbar_p.h>
-#include <QtQuickTemplates2/private/qquickradiobutton_p.h>
-#include <QtQuickTemplates2/private/qquickradiodelegate_p.h>
-#include <QtQuickTemplates2/private/qquickrangeslider_p.h>
-#include <QtQuickTemplates2/private/qquickroundbutton_p.h>
-#include <QtQuickTemplates2/private/qquickscrollbar_p.h>
-#include <QtQuickTemplates2/private/qquickscrollindicator_p.h>
-#include <QtQuickTemplates2/private/qquickscrollview_p.h>
-#include <QtQuickTemplates2/private/qquickshortcutcontext_p_p.h>
-#include <QtQuickTemplates2/private/qquickslider_p.h>
-#include <QtQuickTemplates2/private/qquickspinbox_p.h>
-#include <QtQuickTemplates2/private/qquicksplitview_p.h>
-#include <QtQuickTemplates2/private/qquickstackview_p.h>
-#include <QtQuickTemplates2/private/qquickswipe_p.h>
-#include <QtQuickTemplates2/private/qquickswipedelegate_p.h>
-#include <QtQuickTemplates2/private/qquickswipeview_p.h>
-#include <QtQuickTemplates2/private/qquickswitch_p.h>
-#include <QtQuickTemplates2/private/qquickswitchdelegate_p.h>
-#include <QtQuickTemplates2/private/qquicktabbar_p.h>
-#include <QtQuickTemplates2/private/qquicktabbutton_p.h>
-#include <QtQuickTemplates2/private/qquicktextarea_p.h>
-#include <QtQuickTemplates2/private/qquicktextfield_p.h>
-#include <QtQuickTemplates2/private/qquicktoolbar_p.h>
-#include <QtQuickTemplates2/private/qquicktoolbutton_p.h>
-#include <QtQuickTemplates2/private/qquicktoolseparator_p.h>
-#include <QtQuickTemplates2/private/qquicktooltip_p.h>
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
-#include <QtQuickTemplates2/private/qquicktumbler_p.h>
-#endif
-
-#if QT_CONFIG(shortcut)
-// qtdeclarative/src/quick/util/qquickshortcut.cpp
-typedef bool (*ShortcutContextMatcher)(QObject *, Qt::ShortcutContext);
-extern ShortcutContextMatcher qt_quick_shortcut_context_matcher();
-extern void qt_quick_set_shortcut_context_matcher(ShortcutContextMatcher matcher);
-#endif
-
-QT_BEGIN_NAMESPACE
-
-static void initProviders()
-{
- QQuickPaletteProvider::init();
-}
-
-static void cleanupProviders()
-{
- QQuickPaletteProvider::cleanup();
-}
-
-class QtQuickTemplates2Plugin: public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtQuickTemplates2Plugin(QObject *parent = nullptr);
- ~QtQuickTemplates2Plugin();
-
- void registerTypes(const char *uri) override;
-
-private:
- bool registered;
-#if QT_CONFIG(shortcut)
- ShortcutContextMatcher originalContextMatcher;
-#endif
-};
-
-QtQuickTemplates2Plugin::QtQuickTemplates2Plugin(QObject *parent)
- : QQmlExtensionPlugin(parent), registered(false)
-{
-#if QT_CONFIG(shortcut)
- originalContextMatcher = qt_quick_shortcut_context_matcher();
- qt_quick_set_shortcut_context_matcher(QQuickShortcutContext::matcher);
-#endif
-}
-
-QtQuickTemplates2Plugin::~QtQuickTemplates2Plugin()
-{
- if (registered)
- cleanupProviders();
-
-#if QT_CONFIG(shortcut)
- qt_quick_set_shortcut_context_matcher(originalContextMatcher);
-#endif
-}
-
-void QtQuickTemplates2Plugin::registerTypes(const char *uri)
-{
- registered = true;
- initProviders();
-
- // The minor version used to be the current Qt 5 minor. For compatibility it is the last
- // Qt 5 release.
- qmlRegisterModule(uri, 2, 15);
-
- // QtQuick.Templates 2.0 (originally introduced in Qt 5.7)
- qmlRegisterType<QQuickAbstractButton>(uri, 2, 0, "AbstractButton");
- qmlRegisterType<QQuickApplicationWindow>(uri, 2, 0, "ApplicationWindow");
- qmlRegisterAnonymousType<QQuickApplicationWindowAttached>(uri, 2);
- qmlRegisterType<QQuickBusyIndicator>(uri, 2, 0, "BusyIndicator");
- qmlRegisterType<QQuickButton>(uri, 2, 0, "Button");
- qmlRegisterType<QQuickButtonGroup>(uri, 2, 0, "ButtonGroup");
- qmlRegisterAnonymousType<QQuickButtonGroupAttached>(uri, 2);
- qmlRegisterType<QQuickCheckBox>(uri, 2, 0, "CheckBox");
- qmlRegisterType<QQuickCheckDelegate>(uri, 2, 0, "CheckDelegate");
- qmlRegisterType<QQuickComboBox>(uri, 2, 0, "ComboBox");
- qmlRegisterType<QQuickContainer>(uri, 2, 0, "Container");
- qmlRegisterType<QQuickControl>(uri, 2, 0, "Control");
- qmlRegisterType<QQuickDial>(uri, 2, 0, "Dial");
- qmlRegisterType<QQuickDrawer>(uri, 2, 0, "Drawer");
- qmlRegisterType<QQuickFrame>(uri, 2, 0, "Frame");
- qmlRegisterType<QQuickGroupBox>(uri, 2, 0, "GroupBox");
- qmlRegisterType<QQuickItemDelegate>(uri, 2, 0, "ItemDelegate");
- qmlRegisterType<QQuickLabel>(uri, 2, 0, "Label");
- qmlRegisterType<QQuickMenu>(uri, 2, 0, "Menu");
- qmlRegisterType<QQuickMenuItem>(uri, 2, 0, "MenuItem");
- qmlRegisterAnonymousType<QQuickOverlay>(uri, 2);
- qmlRegisterType<QQuickPage>(uri, 2, 0, "Page");
- qmlRegisterType<QQuickPageIndicator>(uri, 2, 0, "PageIndicator");
- qmlRegisterType<QQuickPane>(uri, 2, 0, "Pane");
- qmlRegisterType<QQuickPopup>(uri, 2, 0, "Popup");
- qmlRegisterType<QQuickProgressBar>(uri, 2, 0, "ProgressBar");
- qmlRegisterType<QQuickRadioButton>(uri, 2, 0, "RadioButton");
- qmlRegisterType<QQuickRadioDelegate>(uri, 2, 0, "RadioDelegate");
- qmlRegisterType<QQuickRangeSlider>(uri, 2, 0, "RangeSlider");
- qmlRegisterAnonymousType<QQuickRangeSliderNode>(uri, 2);
- qmlRegisterType<QQuickScrollBar>(uri, 2, 0, "ScrollBar");
- qmlRegisterAnonymousType<QQuickScrollBarAttached>(uri, 2);
- qmlRegisterType<QQuickScrollIndicator>(uri, 2, 0, "ScrollIndicator");
- qmlRegisterAnonymousType<QQuickScrollIndicatorAttached>(uri, 2);
- qmlRegisterType<QQuickSlider>(uri, 2, 0, "Slider");
- qmlRegisterType<QQuickSpinBox>(uri, 2, 0, "SpinBox");
- qmlRegisterAnonymousType<QQuickSpinButton>(uri, 2);
- qmlRegisterType<QQuickStackView>(uri, 2, 0, "StackView");
- qmlRegisterAnonymousType<QQuickStackViewAttached>(uri, 2);
- qmlRegisterAnonymousType<QQuickSwipe>(uri, 2);
- qmlRegisterType<QQuickSwipeDelegate>(uri, 2, 0, "SwipeDelegate");
- qmlRegisterType<QQuickSwipeView>(uri, 2, 0, "SwipeView");
- qmlRegisterAnonymousType<QQuickSwipeViewAttached>(uri, 2);
- qmlRegisterType<QQuickSwitch>(uri, 2, 0, "Switch");
- qmlRegisterType<QQuickSwitchDelegate>(uri, 2, 0, "SwitchDelegate");
- qmlRegisterType<QQuickTabBar>(uri, 2, 0, "TabBar");
- qmlRegisterType<QQuickTabButton>(uri, 2, 0, "TabButton");
- qmlRegisterType<QQuickTextArea>(uri, 2, 0, "TextArea");
- qmlRegisterAnonymousType<QQuickTextAreaAttached>(uri, 2);
- qmlRegisterType<QQuickTextField>(uri, 2, 0, "TextField");
- qmlRegisterType<QQuickToolBar>(uri, 2, 0, "ToolBar");
- qmlRegisterType<QQuickToolButton>(uri, 2, 0, "ToolButton");
- qmlRegisterType<QQuickToolTip>(uri, 2, 0, "ToolTip");
- qmlRegisterAnonymousType<QQuickToolTipAttached>(uri, 2);
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
- qmlRegisterAnonymousType<QQuickTumblerAttached>(uri, 2);
- qmlRegisterType<QQuickTumbler>(uri, 2, 0, "Tumbler");
-#endif
-
- // NOTE: register the latest revisions of all template/control base classes to
- // make revisioned properties available to their subclasses (synced with Qt 5.7)
- qmlRegisterRevision<QQuickItem, 7>(uri, 2, 0);
- qmlRegisterRevision<QQuickText, 6>(uri, 2, 0);
- qmlRegisterRevision<QQuickTextInput, 7>(uri, 2, 0);
- qmlRegisterRevision<QQuickTextEdit, 7>(uri, 2, 0);
- qmlRegisterRevision<QQuickWindow, 2>(uri, 2, 0);
- qmlRegisterRevision<QWindow, 3>(uri, 2, 0);
-
- // QtQuick.Templates 2.1 (new types and revisions in Qt 5.8)
- qmlRegisterType<QQuickButtonGroup, 1>(uri, 2, 1, "ButtonGroup");
- qmlRegisterType<QQuickComboBox, 1>(uri, 2, 1, "ComboBox");
- qmlRegisterType<QQuickContainer, 1>(uri, 2, 1, "Container");
- qmlRegisterType<QQuickDialog>(uri, 2, 1, "Dialog");
- qmlRegisterType<QQuickDialogButtonBox>(uri, 2, 1, "DialogButtonBox");
- qmlRegisterAnonymousType<QQuickDialogButtonBoxAttached>(uri, 2);
- qmlRegisterType<QQuickMenuSeparator>(uri, 2, 1, "MenuSeparator");
- qmlRegisterType<QQuickPage, 1>(uri, 2, 1, "Page");
- qmlRegisterType<QQuickPopup, 1>(uri, 2, 1, "Popup");
- qmlRegisterType<QQuickRangeSlider, 1>(uri, 2, 1, "RangeSlider");
- qmlRegisterType<QQuickRoundButton>(uri, 2, 1, "RoundButton");
- qmlRegisterType<QQuickSlider, 1>(uri, 2, 1, "Slider");
- qmlRegisterType<QQuickSpinBox, 1>(uri, 2, 1, "SpinBox");
- qmlRegisterType<QQuickStackView, 1>(uri, 2, 1, "StackView");
- qmlRegisterType<QQuickSwipeDelegate, 1>(uri, 2, 1, "SwipeDelegate");
- qmlRegisterType<QQuickSwipeView, 1>(uri, 2, 1, "SwipeView");
- qmlRegisterType<QQuickTextArea, 1>(uri, 2, 1, "TextArea");
- qmlRegisterType<QQuickTextField, 1>(uri, 2, 1, "TextField");
- qmlRegisterType<QQuickToolSeparator>(uri, 2, 1, "ToolSeparator");
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
- qmlRegisterType<QQuickTumbler, 1>(uri, 2, 1, "Tumbler");
-#endif
-
- // QtQuick.Templates 2.2 (new types and revisions in Qt 5.9)
- qmlRegisterType<QQuickAbstractButton, 2>(uri, 2, 2, "AbstractButton");
- qmlRegisterType<QQuickComboBox, 2>(uri, 2, 2, "ComboBox");
- qmlRegisterType<QQuickDelayButton>(uri, 2, 2, "DelayButton");
- qmlRegisterType<QQuickDial, 2>(uri, 2, 2, "Dial");
- qmlRegisterType<QQuickDrawer, 2>(uri, 2, 2, "Drawer");
- qmlRegisterType<QQuickRangeSlider, 2>(uri, 2, 2, "RangeSlider");
- qmlRegisterType<QQuickScrollBar, 2>(uri, 2, 2, "ScrollBar");
- qmlRegisterType<QQuickScrollView>(uri, 2, 2, "ScrollView");
- qmlRegisterType<QQuickSlider, 2>(uri, 2, 2, "Slider");
- qmlRegisterType<QQuickSpinBox, 2>(uri, 2, 2, "SpinBox");
- qmlRegisterType<QQuickSwipeDelegate, 2>(uri, 2, 2, "SwipeDelegate");
- qmlRegisterType<QQuickSwipeView, 2>(uri, 2, 2, "SwipeView");
- qmlRegisterType<QQuickTabBar, 2>(uri, 2, 2, "TabBar");
-#if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview)
- qmlRegisterType<QQuickTumbler, 2>(uri, 2, 2, "Tumbler");
-#endif
-
- // NOTE: register the latest revisions of all template/control base classes to
- // make revisioned properties available to their subclasses (synced with Qt 5.9)
- qmlRegisterRevision<QQuickText, 9>(uri, 2, 2);
- qmlRegisterRevision<QQuickTextInput, 9>(uri, 2, 2);
- qmlRegisterRevision<QQuickWindowQmlImpl, 3>(uri, 2, 2);
-
- // QtQuick.Templates 2.3 (new types and revisions in Qt 5.10)
- qmlRegisterType<QQuickAbstractButton, 3>(uri, 2, 3, "AbstractButton");
- qmlRegisterType<QQuickAction>(uri, 2, 3, "Action");
- qmlRegisterType<QQuickActionGroup>(uri, 2, 3, "ActionGroup");
- qmlRegisterType<QQuickApplicationWindow, 3>(uri, 2, 3, "ApplicationWindow");
- qmlRegisterType<QQuickButtonGroup, 3>(uri, 2, 3, "ButtonGroup");
- qmlRegisterType<QQuickControl, 3>(uri, 2, 3, "Control");
- qmlRegisterType<QQuickContainer, 3>(uri, 2, 3, "Container");
- qmlRegisterType<QQuickDialog, 3>(uri, 2, 3, "Dialog");
- qmlRegisterType<QQuickDialogButtonBox, 3>(uri, 2, 3, "DialogButtonBox");
- qmlRegisterAnonymousType<QQuickIcon>(uri, 2);
- qRegisterMetaType<QQuickIcon>();
- qmlRegisterType<QQuickLabel, 3>(uri, 2, 3, "Label");
- qmlRegisterType<QQuickMenu, 3>(uri, 2, 3, "Menu");
- qmlRegisterType<QQuickMenuBar>(uri, 2, 3, "MenuBar");
- qmlRegisterType<QQuickMenuBarItem>(uri, 2, 3, "MenuBarItem");
- qmlRegisterType<QQuickMenuItem, 3>(uri, 2, 3, "MenuItem");
- qmlRegisterUncreatableType<QQuickOverlay>(uri, 2, 3, "Overlay", QStringLiteral("Overlay is only available as an attached property."));
- qmlRegisterAnonymousType<QQuickOverlayAttached>(uri, 2);
- qmlRegisterType<QQuickPopup, 3>(uri, 2, 3, "Popup");
- qmlRegisterType<QQuickRangeSlider, 3>(uri, 2, 3, "RangeSlider");
- qmlRegisterType<QQuickScrollBar, 3>(uri, 2, 3, "ScrollBar");
- qmlRegisterType<QQuickScrollIndicator, 3>(uri, 2, 3, "ScrollIndicator");
- qmlRegisterType<QQuickSlider, 3>(uri, 2, 3, "Slider");
- qmlRegisterType<QQuickSpinBox, 3>(uri, 2, 3, "SpinBox");
- qmlRegisterType<QQuickTextArea, 3>(uri, 2, 3, "TextArea");
- qmlRegisterType<QQuickTextField, 3>(uri, 2, 3, "TextField");
-
- // NOTE: register the latest revisions of all template/control base classes to
- // make revisioned properties available to their subclasses (synced with Qt 5.10)
- qmlRegisterRevision<QQuickText, 10>(uri, 2, 3);
- qmlRegisterRevision<QQuickTextEdit, 10>(uri, 2, 3);
-
- // QtQuick.Templates 2.4 (new types and revisions in Qt 5.11)
- qmlRegisterType<QQuickAbstractButton, 4>(uri, 2, 4, "AbstractButton");
- qmlRegisterType<QQuickButtonGroup, 4>(uri, 2, 4, "ButtonGroup");
- qmlRegisterType<QQuickCheckBox, 4>(uri, 2, 4, "CheckBox");
- qmlRegisterType<QQuickCheckDelegate, 4>(uri, 2, 4, "CheckDelegate");
- qmlRegisterType<QQuickScrollBar, 4>(uri, 2, 4, "ScrollBar");
- qmlRegisterType<QQuickScrollIndicator, 4>(uri, 2, 4, "ScrollIndicator");
- qmlRegisterType<QQuickSpinBox, 4>(uri, 2, 4, "SpinBox");
-
- // QtQuick.Templates 2.5 (new types and revisions in Qt 5.12)
- qmlRegisterType<QQuickAbstractButton, 5>(uri, 2, 5, "AbstractButton");
- qmlRegisterType<QQuickDialogButtonBox, 5>(uri, 2, 5, "DialogButtonBox");
- qmlRegisterType<QQuickComboBox, 5>(uri, 2, 5, "ComboBox");
- qmlRegisterType<QQuickControl, 5>(uri, 2, 5, "Control");
- qmlRegisterType<QQuickContainer, 5>(uri, 2, 5, "Container");
- qmlRegisterType<QQuickDial, 5>(uri, 2, 5, "Dial");
- qmlRegisterType<QQuickDialog, 5>(uri, 2, 5, "Dialog");
- qmlRegisterType<QQuickGroupBox, 5>(uri, 2, 5, "GroupBox");
- qmlRegisterType<QQuickLabel, 5>(uri, 2, 5, "Label");
- qmlRegisterType<QQuickPage, 5>(uri, 2, 5, "Page");
- qmlRegisterType<QQuickPopup, 5>(uri, 2, 5, "Popup");
- qmlRegisterAnonymousType<QQuickPopupAnchors>(uri, 2);
- qmlRegisterType<QQuickRangeSlider, 5>(uri, 2, 5, "RangeSlider");
- qmlRegisterType<QQuickSlider, 5>(uri, 2, 5, "Slider");
- qmlRegisterType<QQuickSpinBox, 5>(uri, 2, 5, "SpinBox");
- qmlRegisterType<QQuickTextArea, 5>(uri, 2, 5, "TextArea");
- qmlRegisterType<QQuickTextField, 5>(uri, 2, 5, "TextField");
- qmlRegisterType<QQuickToolTip, 5>(uri, 2, 5, "ToolTip");
-
- // QtQuick.Templates 2.13 (new types and revisions in Qt 5.13)
- qmlRegisterType<QQuickSplitView>(uri, 2, 13, "SplitView");
- qmlRegisterAnonymousType<QQuickSplitViewAttached>(uri, 2);
- qmlRegisterUncreatableType<QQuickSplitHandleAttached>(uri, 2, 13, "SplitHandle",
- QStringLiteral("SplitHandle is only available as an attached property."));
- qmlRegisterAnonymousType<QQuickSplitHandleAttached>(uri, 2);
-
- // QtQuick.Templates 2.14 (new types and revisions in Qt 5.14)
- qmlRegisterType<QQuickComboBox, 14>(uri, 2, 14, "ComboBox");
-}
-
-QT_END_NAMESPACE
-
-#include "qtquicktemplates2plugin.moc"
diff --git a/src/imports/templates/templates.pro b/src/imports/templates/templates.pro
deleted file mode 100644
index 3447ef90..00000000
--- a/src/imports/templates/templates.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-TARGET = qtquicktemplates2plugin
-TARGETPATH = QtQuick/Templates.2
-IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-
-QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-OTHER_FILES += \
- qmldir
-
-SOURCES += \
- $$PWD/qtquicktemplates2plugin.cpp
-
-CONFIG += no_cxx_module
-load(qml_plugin)
diff --git a/src/quickcontrols2/configure.json b/src/quickcontrols2/configure.json
deleted file mode 100644
index 22a602d3..00000000
--- a/src/quickcontrols2/configure.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "module": "quickcontrols2",
-
- "commandline": {
- "options": {
- "style-fusion": { "type": "boolean", "name": "quickcontrols2-fusion" },
- "style-imagine": { "type": "boolean", "name": "quickcontrols2-imagine" },
- "style-material": { "type": "boolean", "name": "quickcontrols2-material" },
- "style-universal": { "type": "boolean", "name": "quickcontrols2-universal" }
- }
- },
-
- "features": {
- "quickcontrols2-default": {
- "label": "Default",
- "output": [ "privateFeature" ]
- },
- "quickcontrols2-fusion": {
- "label": "Fusion",
- "purpose": "Provides the platform agnostic desktop-oriented Fusion style.",
- "section": "Quick Controls 2",
- "condition": "features.quickcontrols2-default",
- "output": [ "privateFeature" ]
- },
- "quickcontrols2-imagine": {
- "label": "Imagine",
- "purpose": "Provides a style based on configurable image assets.",
- "section": "Quick Controls 2",
- "condition": "features.quickcontrols2-default",
- "output": [ "privateFeature" ]
- },
- "quickcontrols2-material": {
- "label": "Material",
- "purpose": "Provides a style based on the Material Design guidelines.",
- "section": "Quick Controls 2",
- "condition": "features.quickcontrols2-default",
- "output": [ "privateFeature" ]
- },
- "quickcontrols2-universal": {
- "label": "Universal",
- "purpose": "Provides a style based on the Universal Design guidelines.",
- "section": "Quick Controls 2",
- "condition": "features.quickcontrols2-default",
- "output": [ "privateFeature" ]
- }
- },
-
- "summary": [
- {
- "section": "Qt Quick Controls 2",
- "entries": [
- {
- "message": "Styles",
- "type": "featureList",
- "args": "quickcontrols2-default quickcontrols2-fusion quickcontrols2-imagine quickcontrols2-material quickcontrols2-universal"
- }
- ]
- }
- ]
-}
diff --git a/src/quickcontrols2/qquickanimatednode.cpp b/src/quickcontrols2/qquickanimatednode.cpp
deleted file mode 100644
index b4e665de..00000000
--- a/src/quickcontrols2/qquickanimatednode.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickanimatednode_p.h"
-
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/qquickwindow.h>
-
-// based on qtdeclarative/examples/quick/scenegraph/threadedanimation
-
-QT_BEGIN_NAMESPACE
-
-QQuickAnimatedNode::QQuickAnimatedNode(QQuickItem *target)
- : m_window(target->window())
-{
-}
-
-bool QQuickAnimatedNode::isRunning() const
-{
- return m_running;
-}
-
-int QQuickAnimatedNode::currentTime() const
-{
- int time = m_currentTime;
- if (m_running)
- time += m_timer.elapsed();
- return time;
-}
-
-void QQuickAnimatedNode::setCurrentTime(int time)
-{
- m_currentTime = time;
- m_timer.restart();
-}
-
-int QQuickAnimatedNode::duration() const
-{
- return m_duration;
-}
-
-void QQuickAnimatedNode::setDuration(int duration)
-{
- m_duration = duration;
-}
-
-int QQuickAnimatedNode::loopCount() const
-{
- return m_loopCount;
-}
-
-void QQuickAnimatedNode::setLoopCount(int count)
-{
- m_loopCount = count;
-}
-
-void QQuickAnimatedNode::sync(QQuickItem *target)
-{
- Q_UNUSED(target);
-}
-
-QQuickWindow *QQuickAnimatedNode::window() const
-{
- return m_window;
-}
-
-void QQuickAnimatedNode::start(int duration)
-{
- if (m_running)
- return;
-
- m_running = true;
- m_currentLoop = 0;
- m_timer.restart();
- if (duration > 0)
- m_duration = duration;
-
- connect(m_window, &QQuickWindow::beforeRendering, this, &QQuickAnimatedNode::advance, Qt::DirectConnection);
- connect(m_window, &QQuickWindow::frameSwapped, this, &QQuickAnimatedNode::update, Qt::DirectConnection);
-
- // If we're inside a QQuickWidget, this call is necessary to ensure the widget
- // gets updated for the first time.
- m_window->update();
-
- emit started();
-}
-
-void QQuickAnimatedNode::restart()
-{
- stop();
- start();
-}
-
-void QQuickAnimatedNode::stop()
-{
- if (!m_running)
- return;
-
- m_running = false;
- disconnect(m_window, &QQuickWindow::beforeRendering, this, &QQuickAnimatedNode::advance);
- disconnect(m_window, &QQuickWindow::frameSwapped, this, &QQuickAnimatedNode::update);
- emit stopped();
-}
-
-void QQuickAnimatedNode::updateCurrentTime(int time)
-{
- Q_UNUSED(time);
-}
-
-void QQuickAnimatedNode::advance()
-{
- int time = currentTime();
- if (time > m_duration) {
- time = 0;
- setCurrentTime(0);
-
- if (m_loopCount > 0 && ++m_currentLoop >= m_loopCount) {
- time = m_duration; // complete
- stop();
- }
- }
- updateCurrentTime(time);
-
- // If we're inside a QQuickWidget, this call is necessary to ensure the widget gets updated.
- m_window->update();
-}
-
-void QQuickAnimatedNode::update()
-{
- if (m_running)
- m_window->update();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickanimatednode_p.h b/src/quickcontrols2/qquickanimatednode_p.h
deleted file mode 100644
index d42d9319..00000000
--- a/src/quickcontrols2/qquickanimatednode_p.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKANIMATEDNODE_P_H
-#define QQUICKANIMATEDNODE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qsgnode.h>
-#include <QtCore/qelapsedtimer.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItem;
-class QQuickWindow;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickAnimatedNode : public QObject, public QSGTransformNode
-{
- Q_OBJECT
-
-public:
- explicit QQuickAnimatedNode(QQuickItem *target);
-
- bool isRunning() const;
-
- int currentTime() const;
- void setCurrentTime(int time);
-
- int duration() const;
- void setDuration(int duration);
-
- enum LoopCount { Infinite = -1 };
-
- int loopCount() const;
- void setLoopCount(int count);
-
- virtual void sync(QQuickItem *target);
-
- QQuickWindow *window() const;
-
- // must be called from sync() or updatePaintNode()
- void start(int duration = 0);
- void restart();
- void stop();
-
-Q_SIGNALS:
- void started();
- void stopped();
-
-protected:
- virtual void updateCurrentTime(int time);
-
-private Q_SLOTS:
- void advance();
- void update();
-
-private:
- bool m_running = false;
- int m_duration = 0;
- int m_loopCount = 1;
- int m_currentTime = 0;
- int m_currentLoop = 0;
- QElapsedTimer m_timer;
- QQuickWindow *m_window = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKANIMATEDNODE_P_H
diff --git a/src/quickcontrols2/qquickattachedobject.cpp b/src/quickcontrols2/qquickattachedobject.cpp
deleted file mode 100644
index c43f7dc5..00000000
--- a/src/quickcontrols2/qquickattachedobject.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickattachedobject_p.h"
-
-#include <QtCore/qpointer.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static QQuickAttachedObject *attachedObject(const QMetaObject *type, QObject *object, bool create = false)
-{
- if (!object)
- return nullptr;
- auto func = qmlAttachedPropertiesFunction(object, type);
- return qobject_cast<QQuickAttachedObject *>(qmlAttachedPropertiesObject(object, func, create));
-}
-
-static QQuickAttachedObject *findAttachedParent(const QMetaObject *type, QObject *object)
-{
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (item) {
- // lookup parent items and popups
- QQuickItem *parent = item->parentItem();
- while (parent) {
- QQuickAttachedObject *attached = attachedObject(type, parent);
- if (attached)
- return attached;
-
- QQuickPopup *popup = qobject_cast<QQuickPopup *>(parent->parent());
- if (popup)
- return attachedObject(type, popup);
-
- parent = parent->parentItem();
- }
-
- // fallback to item's window
- QQuickAttachedObject *attached = attachedObject(type, item->window());
- if (attached)
- return attached;
- } else {
- // lookup popup's window
- QQuickPopup *popup = qobject_cast<QQuickPopup *>(object);
- if (popup)
- return attachedObject(type, popup->popupItem()->window());
- }
-
- // lookup parent window
- QQuickWindow *window = qobject_cast<QQuickWindow *>(object);
- if (window) {
- QQuickWindow *parentWindow = qobject_cast<QQuickWindow *>(window->parent());
- if (parentWindow) {
- QQuickAttachedObject *attached = attachedObject(type, window);
- if (attached)
- return attached;
- }
- }
-
- // fallback to engine (global)
- if (object) {
- QQmlEngine *engine = qmlEngine(object);
- if (engine) {
- QByteArray name = QByteArray("_q_") + type->className();
- QQuickAttachedObject *attached = engine->property(name).value<QQuickAttachedObject *>();
- if (!attached) {
- attached = attachedObject(type, engine, true);
- engine->setProperty(name, QVariant::fromValue(attached));
- }
- return attached;
- }
- }
-
- return nullptr;
-}
-
-static QList<QQuickAttachedObject *> findAttachedChildren(const QMetaObject *type, QObject *object)
-{
- QList<QQuickAttachedObject *> children;
-
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (!item) {
- QQuickWindow *window = qobject_cast<QQuickWindow *>(object);
- if (window) {
- item = window->contentItem();
-
- const auto windowChildren = window->children();
- for (QObject *child : windowChildren) {
- QQuickWindow *childWindow = qobject_cast<QQuickWindow *>(child);
- if (childWindow) {
- QQuickAttachedObject *attached = attachedObject(type, childWindow);
- if (attached)
- children += attached;
- }
- }
- }
- }
-
- if (item) {
- const auto childItems = item->childItems();
- for (QQuickItem *child : childItems) {
- QQuickAttachedObject *attached = attachedObject(type, child);
- if (attached)
- children += attached;
- else
- children += findAttachedChildren(type, child);
- }
- }
-
- return children;
-}
-
-static QQuickItem *findAttachedItem(QObject *parent)
-{
- QQuickItem *item = qobject_cast<QQuickItem *>(parent);
- if (!item) {
- QQuickPopup *popup = qobject_cast<QQuickPopup *>(parent);
- if (popup)
- item = popup->popupItem();
- }
- return item;
-}
-
-class QQuickAttachedObjectPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickAttachedObject)
-
-public:
- static QQuickAttachedObjectPrivate *get(QQuickAttachedObject *attachedObject)
- {
- return attachedObject->d_func();
- }
-
- void attachTo(QObject *object);
- void detachFrom(QObject *object);
-
- void itemWindowChanged(QQuickWindow *window);
- void itemParentChanged(QQuickItem *item, QQuickItem *parent) override;
-
- QList<QQuickAttachedObject *> attachedChildren;
- QPointer<QQuickAttachedObject> attachedParent;
-};
-
-void QQuickAttachedObjectPrivate::attachTo(QObject *object)
-{
- QQuickItem *item = findAttachedItem(object);
- if (item) {
- connect(item, &QQuickItem::windowChanged, this, &QQuickAttachedObjectPrivate::itemWindowChanged);
- QQuickItemPrivate::get(item)->addItemChangeListener(this, QQuickItemPrivate::Parent);
- }
-}
-
-void QQuickAttachedObjectPrivate::detachFrom(QObject *object)
-{
- QQuickItem *item = findAttachedItem(object);
- if (item) {
- disconnect(item, &QQuickItem::windowChanged, this, &QQuickAttachedObjectPrivate::itemWindowChanged);
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Parent);
- }
-}
-
-void QQuickAttachedObjectPrivate::itemWindowChanged(QQuickWindow *window)
-{
- Q_Q(QQuickAttachedObject);
- QQuickAttachedObject *attachedParent = nullptr;
- QQuickItem *item = qobject_cast<QQuickItem *>(q->sender());
- if (item)
- attachedParent = findAttachedParent(q->metaObject(), item);
- if (!attachedParent)
- attachedParent = attachedObject(q->metaObject(), window);
- q->setAttachedParent(attachedParent);
-}
-
-void QQuickAttachedObjectPrivate::itemParentChanged(QQuickItem *item, QQuickItem *parent)
-{
- Q_Q(QQuickAttachedObject);
- Q_UNUSED(parent);
- q->setAttachedParent(findAttachedParent(q->metaObject(), item));
-}
-
-QQuickAttachedObject::QQuickAttachedObject(QObject *parent)
- : QObject(*(new QQuickAttachedObjectPrivate), parent)
-{
- Q_D(QQuickAttachedObject);
- d->attachTo(parent);
-}
-
-QQuickAttachedObject::~QQuickAttachedObject()
-{
- Q_D(QQuickAttachedObject);
- d->detachFrom(parent());
- setAttachedParent(nullptr);
-}
-
-QList<QQuickAttachedObject *> QQuickAttachedObject::attachedChildren() const
-{
- Q_D(const QQuickAttachedObject);
- return d->attachedChildren;
-}
-
-QQuickAttachedObject *QQuickAttachedObject::attachedParent() const
-{
- Q_D(const QQuickAttachedObject);
- return d->attachedParent;
-}
-
-void QQuickAttachedObject::setAttachedParent(QQuickAttachedObject *parent)
-{
- Q_D(QQuickAttachedObject);
- if (d->attachedParent == parent)
- return;
-
- QQuickAttachedObject *oldParent = d->attachedParent;
- if (d->attachedParent)
- QQuickAttachedObjectPrivate::get(d->attachedParent)->attachedChildren.removeOne(this);
- d->attachedParent = parent;
- if (parent)
- QQuickAttachedObjectPrivate::get(parent)->attachedChildren.append(this);
- attachedParentChange(parent, oldParent);
-}
-
-void QQuickAttachedObject::init()
-{
- QQuickAttachedObject *attachedParent = findAttachedParent(metaObject(), parent());
- if (attachedParent)
- setAttachedParent(attachedParent);
-
- const QList<QQuickAttachedObject *> attachedChildren = findAttachedChildren(metaObject(), parent());
- for (QQuickAttachedObject *child : attachedChildren)
- child->setAttachedParent(this);
-}
-
-void QQuickAttachedObject::attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent)
-{
- Q_UNUSED(newParent);
- Q_UNUSED(oldParent);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickattachedobject_p.h b/src/quickcontrols2/qquickattachedobject_p.h
deleted file mode 100644
index 1e90c082..00000000
--- a/src/quickcontrols2/qquickattachedobject_p.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKATTACHEDOBJECT_P_H
-#define QQUICKATTACHEDOBJECT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqml.h>
-#include <QtCore/qobject.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAttachedObjectPrivate;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickAttachedObject : public QObject
-{
- Q_OBJECT
-
-public:
- explicit QQuickAttachedObject(QObject *parent = nullptr);
- ~QQuickAttachedObject();
-
- QList<QQuickAttachedObject *> attachedChildren() const;
-
- QQuickAttachedObject *attachedParent() const;
- void setAttachedParent(QQuickAttachedObject *parent);
-
-protected:
- void init();
-
- virtual void attachedParentChange(QQuickAttachedObject *newParent, QQuickAttachedObject *oldParent);
-
-private:
- Q_DISABLE_COPY(QQuickAttachedObject)
- Q_DECLARE_PRIVATE(QQuickAttachedObject)
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKATTACHEDOBJECT_P_H
diff --git a/src/quickcontrols2/qquickchecklabel.cpp b/src/quickcontrols2/qquickchecklabel.cpp
deleted file mode 100644
index dccbf77f..00000000
--- a/src/quickcontrols2/qquickchecklabel.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickchecklabel_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QQuickCheckLabel::QQuickCheckLabel(QQuickItem *parent) :
- QQuickText(parent)
-{
- setHAlign(AlignLeft);
- setVAlign(AlignVCenter);
- setElideMode(ElideRight);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickchecklabel_p.h b/src/quickcontrols2/qquickchecklabel_p.h
deleted file mode 100644
index 100ef48f..00000000
--- a/src/quickcontrols2/qquickchecklabel_p.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCHECKLABEL_P_H
-#define QQUICKCHECKLABEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquicktext_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickCheckLabel : public QQuickText
-{
- Q_OBJECT
-
-public:
- explicit QQuickCheckLabel(QQuickItem *parent = nullptr);
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickCheckLabel)
-
-#endif // QQUICKCHECKLABEL_P_H
diff --git a/src/quickcontrols2/qquickclippedtext.cpp b/src/quickcontrols2/qquickclippedtext.cpp
deleted file mode 100644
index 862197f3..00000000
--- a/src/quickcontrols2/qquickclippedtext.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickclippedtext_p.h"
-
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickClippedText::QQuickClippedText(QQuickItem *parent)
- : QQuickText(parent)
-{
-}
-
-qreal QQuickClippedText::clipX() const
-{
- return m_clipX;
-}
-
-void QQuickClippedText::setClipX(qreal x)
-{
- if (qFuzzyCompare(x, m_clipX))
- return;
-
- m_clipX = x;
- markClipDirty();
-}
-
-qreal QQuickClippedText::clipY() const
-{
- return m_clipY;
-}
-
-void QQuickClippedText::setClipY(qreal y)
-{
- if (qFuzzyCompare(y, m_clipY))
- return;
-
- m_clipY = y;
- markClipDirty();
-}
-
-qreal QQuickClippedText::clipWidth() const
-{
- return m_clipWidth ? m_clipWidth : width();
-}
-
-void QQuickClippedText::setClipWidth(qreal width)
-{
- m_hasClipWidth = true;
- if (qFuzzyCompare(width, m_clipWidth))
- return;
-
- m_clipWidth = width;
- markClipDirty();
-}
-
-qreal QQuickClippedText::clipHeight() const
-{
- return m_clipHeight ? m_clipHeight : height();
-}
-
-void QQuickClippedText::setClipHeight(qreal height)
-{
- m_hasClipHeight = true;
- if (qFuzzyCompare(height, m_clipHeight))
- return;
-
- m_clipHeight = height;
- markClipDirty();
-}
-
-QRectF QQuickClippedText::clipRect() const
-{
- return QRectF(clipX(), clipY(), clipWidth(), clipHeight());
-}
-
-void QQuickClippedText::markClipDirty()
-{
- QQuickItemPrivate::get(this)->dirty(QQuickItemPrivate::Size);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickclippedtext_p.h b/src/quickcontrols2/qquickclippedtext_p.h
deleted file mode 100644
index 486ac7c4..00000000
--- a/src/quickcontrols2/qquickclippedtext_p.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCLIPPEDTEXT_P_H
-#define QQUICKCLIPPEDTEXT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquicktext_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickClippedText : public QQuickText
-{
- Q_OBJECT
- Q_PROPERTY(qreal clipX READ clipX WRITE setClipX FINAL)
- Q_PROPERTY(qreal clipY READ clipY WRITE setClipY FINAL)
- Q_PROPERTY(qreal clipWidth READ clipWidth WRITE setClipWidth FINAL)
- Q_PROPERTY(qreal clipHeight READ clipHeight WRITE setClipHeight FINAL)
-
-public:
- explicit QQuickClippedText(QQuickItem *parent = nullptr);
-
- qreal clipX() const;
- void setClipX(qreal x);
-
- qreal clipY() const;
- void setClipY(qreal y);
-
- qreal clipWidth() const;
- void setClipWidth(qreal width);
-
- qreal clipHeight() const;
- void setClipHeight(qreal height);
-
- QRectF clipRect() const override;
-
-private:
- void markClipDirty();
-
- bool m_hasClipWidth = false;
- bool m_hasClipHeight = false;
- qreal m_clipX = 0;
- qreal m_clipY = 0;
- qreal m_clipWidth = 0;
- qreal m_clipHeight = 0;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickClippedText)
-
-#endif // QQUICKCLIPPEDTEXT_P_H
diff --git a/src/quickcontrols2/qquickcolor.cpp b/src/quickcontrols2/qquickcolor.cpp
deleted file mode 100644
index 8ae568fc..00000000
--- a/src/quickcontrols2/qquickcolor.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcolor_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QQuickColor::QQuickColor(QObject *parent) :
- QObject(parent)
-{
-}
-
-QColor QQuickColor::transparent(const QColor &color, qreal opacity) const
-{
- return QColor(color.red(), color.green(), color.blue(),
- int(qreal(255) * qBound(qreal(0), opacity, qreal(1))));
-}
-
-QColor QQuickColor::blend(const QColor &a, const QColor &b, qreal factor) const
-{
- if (factor <= 0.0)
- return a;
- if (factor >= 1.0)
- return b;
-
- QColor color;
- color.setRedF(a.redF() * (1.0 - factor) + b.redF() * factor);
- color.setGreenF(a.greenF() * (1.0 - factor) + b.greenF() * factor);
- color.setBlueF(a.blueF() * (1.0 - factor) + b.blueF() * factor);
- return color;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickcolor_p.h b/src/quickcontrols2/qquickcolor_p.h
deleted file mode 100644
index 657a9fa4..00000000
--- a/src/quickcontrols2/qquickcolor_p.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCOLOR_P_H
-#define QQUICKCOLOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtGui/qcolor.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickColor : public QObject
-{
- Q_OBJECT
-
-public:
- explicit QQuickColor(QObject *parent = nullptr);
-
- Q_INVOKABLE QColor transparent(const QColor &color, qreal opacity) const;
- Q_INVOKABLE QColor blend(const QColor &a, const QColor &b, qreal factor) const;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKCOLOR_P_H
diff --git a/src/quickcontrols2/qquickcolorimage.cpp b/src/quickcontrols2/qquickcolorimage.cpp
deleted file mode 100644
index 3afcef7e..00000000
--- a/src/quickcontrols2/qquickcolorimage.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcolorimage_p.h"
-
-#include <QtQuick/private/qquickimagebase_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickColorImage::QQuickColorImage(QQuickItem *parent)
- : QQuickImage(parent)
-{
-}
-
-QColor QQuickColorImage::color() const
-{
- return m_color;
-}
-
-void QQuickColorImage::setColor(const QColor &color)
-{
- if (m_color == color)
- return;
-
- m_color = color;
- if (isComponentComplete())
- load();
- emit colorChanged();
-}
-
-void QQuickColorImage::resetColor()
-{
- setColor(Qt::transparent);
-}
-
-QColor QQuickColorImage::defaultColor() const
-{
- return m_defaultColor;
-}
-
-void QQuickColorImage::setDefaultColor(const QColor &color)
-{
- if (m_defaultColor == color)
- return;
-
- m_defaultColor = color;
- emit defaultColorChanged();
-}
-
-void QQuickColorImage::resetDefaultColor()
-{
- setDefaultColor(Qt::transparent);
-}
-
-void QQuickColorImage::pixmapChange()
-{
- QQuickImage::pixmapChange();
- if (m_color.alpha() > 0 && m_color != m_defaultColor) {
- QQuickImageBasePrivate *d = static_cast<QQuickImageBasePrivate *>(QQuickItemPrivate::get(this));
- QImage image = d->pix.image();
- if (!image.isNull()) {
- QPainter painter(&image);
- painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
- painter.fillRect(image.rect(), m_color);
- d->pix.setImage(image);
- }
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickcolorimage_p.h b/src/quickcontrols2/qquickcolorimage_p.h
deleted file mode 100644
index 8227d068..00000000
--- a/src/quickcontrols2/qquickcolorimage_p.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCOLORIMAGE_P_H
-#define QQUICKCOLORIMAGE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtQuick/private/qquickimage_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickColorImage : public QQuickImage
-{
- Q_OBJECT
- Q_PROPERTY(QColor color READ color WRITE setColor RESET resetColor NOTIFY colorChanged FINAL)
- Q_PROPERTY(QColor defaultColor READ defaultColor WRITE setDefaultColor RESET resetDefaultColor NOTIFY defaultColorChanged FINAL)
-
-public:
- explicit QQuickColorImage(QQuickItem *parent = nullptr);
-
- QColor color() const;
- void setColor(const QColor &color);
- void resetColor();
-
- QColor defaultColor() const;
- void setDefaultColor(const QColor &color);
- void resetDefaultColor();
-
-Q_SIGNALS:
- void colorChanged();
- void defaultColorChanged();
-
-protected:
- void pixmapChange() override;
-
-private:
- QColor m_color = Qt::transparent;
- QColor m_defaultColor = Qt::transparent;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKCOLORIMAGE_P_H
diff --git a/src/quickcontrols2/qquickiconimage.cpp b/src/quickcontrols2/qquickiconimage.cpp
deleted file mode 100644
index d86afd7f..00000000
--- a/src/quickcontrols2/qquickiconimage.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickiconimage_p.h"
-#include "qquickiconimage_p_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtQuick/private/qquickimagebase_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-bool QQuickIconImagePrivate::updateDevicePixelRatio(qreal targetDevicePixelRatio)
-{
- if (isThemeIcon) {
- devicePixelRatio = calculateDevicePixelRatio();
- return true;
- }
-
- return QQuickImagePrivate::updateDevicePixelRatio(targetDevicePixelRatio);
-}
-
-void QQuickIconImagePrivate::updateIcon()
-{
- Q_Q(QQuickIconImage);
- // Both geometryChanged() and QQuickImageBase::sourceSizeChanged()
- // (which we connect to updateIcon() in the constructor) can be called as a result
- // of updateIcon() changing the various sizes, so we must check that we're not recursing.
- if (updatingIcon)
- return;
-
- updatingIcon = true;
-
- QSize size = sourcesize;
- // If no size is specified for theme icons, it will use the smallest available size.
- if (size.width() <= 0)
- size.setWidth(q->width());
- if (size.height() <= 0)
- size.setHeight(q->height());
-
- const qreal dpr = calculateDevicePixelRatio();
- const QIconLoaderEngineEntry *entry = QIconLoaderEngine::entryForSize(icon, size * dpr, qCeil(dpr));
-
- if (entry) {
- QQmlContext *context = qmlContext(q);
- const QUrl entryUrl = QUrl::fromLocalFile(entry->filename);
- url = context ? context->resolvedUrl(entryUrl) : entryUrl;
- isThemeIcon = true;
- } else {
- url = source;
- isThemeIcon = false;
- }
- q->load();
-
- updatingIcon = false;
-}
-
-void QQuickIconImagePrivate::updateFillMode()
-{
- Q_Q(QQuickIconImage);
- // If we start with a sourceSize of 28x28 and then set sourceSize.width to 24, the fillMode
- // will change to PreserveAspectFit (because pixmapSize.width() > width()), which causes the
- // pixmap to be reloaded at its original size of 28x28, which causes the fillMode to change
- // to Pad (because pixmapSize.width() <= width()), and so on.
- if (updatingFillMode)
- return;
-
- updatingFillMode = true;
-
- const QSize pixmapSize = QSize(pix.width(), pix.height()) / calculateDevicePixelRatio();
- if (pixmapSize.width() > q->width() || pixmapSize.height() > q->height())
- q->setFillMode(QQuickImage::PreserveAspectFit);
- else
- q->setFillMode(QQuickImage::Pad);
-
- updatingFillMode = false;
-}
-
-qreal QQuickIconImagePrivate::calculateDevicePixelRatio() const
-{
- Q_Q(const QQuickIconImage);
- return q->window() ? q->window()->effectiveDevicePixelRatio() : qApp->devicePixelRatio();
-}
-
-QQuickIconImage::QQuickIconImage(QQuickItem *parent)
- : QQuickImage(*(new QQuickIconImagePrivate), parent)
-{
- setFillMode(Pad);
-}
-
-QString QQuickIconImage::name() const
-{
- Q_D(const QQuickIconImage);
- return d->icon.iconName;
-}
-
-void QQuickIconImage::setName(const QString &name)
-{
- Q_D(QQuickIconImage);
- if (d->icon.iconName == name)
- return;
-
- d->icon = QIconLoader::instance()->loadIcon(name);
- if (isComponentComplete())
- d->updateIcon();
- emit nameChanged();
-}
-
-QColor QQuickIconImage::color() const
-{
- Q_D(const QQuickIconImage);
- return d->color;
-}
-
-void QQuickIconImage::setColor(const QColor &color)
-{
- Q_D(QQuickIconImage);
- if (d->color == color)
- return;
-
- d->color = color;
- if (isComponentComplete())
- d->updateIcon();
- emit colorChanged();
-}
-
-void QQuickIconImage::setSource(const QUrl &source)
-{
- Q_D(QQuickIconImage);
- if (d->source == source)
- return;
-
- d->source = source;
- if (isComponentComplete())
- d->updateIcon();
- emit sourceChanged(source);
-}
-
-void QQuickIconImage::componentComplete()
-{
- Q_D(QQuickIconImage);
- QQuickImage::componentComplete();
- d->updateIcon();
- QObjectPrivate::connect(this, &QQuickImageBase::sourceSizeChanged, d, &QQuickIconImagePrivate::updateIcon);
-}
-
-void QQuickIconImage::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickIconImage);
- QQuickImage::geometryChanged(newGeometry, oldGeometry);
- if (isComponentComplete() && newGeometry.size() != oldGeometry.size())
- d->updateIcon();
-}
-
-void QQuickIconImage::itemChange(ItemChange change, const ItemChangeData &value)
-{
- Q_D(QQuickIconImage);
- if (change == ItemDevicePixelRatioHasChanged)
- d->updateIcon();
- QQuickImage::itemChange(change, value);
-}
-
-void QQuickIconImage::pixmapChange()
-{
- Q_D(QQuickIconImage);
- QQuickImage::pixmapChange();
- d->updateFillMode();
-
- // Don't apply the color if we're recursing (updateFillMode() can cause us to recurse).
- if (!d->updatingFillMode && d->color.alpha() > 0) {
- QImage image = d->pix.image();
- if (!image.isNull()) {
- QPainter painter(&image);
- painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
- painter.fillRect(image.rect(), d->color);
- d->pix.setImage(image);
- }
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickiconimage_p.h b/src/quickcontrols2/qquickiconimage_p.h
deleted file mode 100644
index b1af767e..00000000
--- a/src/quickcontrols2/qquickiconimage_p.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKICONIMAGE_P_H
-#define QQUICKICONIMAGE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickimage_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickIconImagePrivate;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickIconImage : public QQuickImage
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged FINAL)
- Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL)
-
-public:
- explicit QQuickIconImage(QQuickItem *parent = nullptr);
-
- QString name() const;
- void setName(const QString &name);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- void setSource(const QUrl &url) override;
-
-Q_SIGNALS:
- void nameChanged();
- void colorChanged();
-
-protected:
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void itemChange(ItemChange change, const ItemChangeData &value) override;
- void pixmapChange() override;
-
-private:
- Q_DISABLE_COPY(QQuickIconImage)
- Q_DECLARE_PRIVATE(QQuickIconImage)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickIconImage)
-
-#endif // QQUICKICONIMAGE_P_H
diff --git a/src/quickcontrols2/qquickiconimage_p_p.h b/src/quickcontrols2/qquickiconimage_p_p.h
deleted file mode 100644
index 0c755ff6..00000000
--- a/src/quickcontrols2/qquickiconimage_p_p.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKICONIMAGE_P_P_H
-#define QQUICKICONIMAGE_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickimage_p_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-#include <QtGui/private/qiconloader_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickIconImagePrivate : public QQuickImagePrivate
-{
- Q_DECLARE_PUBLIC(QQuickIconImage)
-
-public:
- void updateIcon();
- void updateFillMode();
- qreal calculateDevicePixelRatio() const;
- bool updateDevicePixelRatio(qreal targetDevicePixelRatio) override;
-
- QUrl source;
- QColor color = Qt::transparent;
- QThemeIconInfo icon;
- bool updatingIcon = false;
- bool isThemeIcon = false;
- bool updatingFillMode = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKICONIMAGE_P_P_H
diff --git a/src/quickcontrols2/qquickiconlabel.cpp b/src/quickcontrols2/qquickiconlabel.cpp
deleted file mode 100644
index b246621b..00000000
--- a/src/quickcontrols2/qquickiconlabel.cpp
+++ /dev/null
@@ -1,642 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickiconlabel_p.h"
-#include "qquickiconlabel_p_p.h"
-#include "qquickiconimage_p.h"
-#include "qquickmnemoniclabel_p.h"
-
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquicktext_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static void beginClass(QQuickItem *item)
-{
- if (QQmlParserStatus *parserStatus = qobject_cast<QQmlParserStatus *>(item))
- parserStatus->classBegin();
-}
-
-static void completeComponent(QQuickItem *item)
-{
- if (QQmlParserStatus *parserStatus = qobject_cast<QQmlParserStatus *>(item))
- parserStatus->componentComplete();
-}
-
-bool QQuickIconLabelPrivate::hasIcon() const
-{
- return display != QQuickIconLabel::TextOnly && !icon.isEmpty();
-}
-
-bool QQuickIconLabelPrivate::hasText() const
-{
- return display != QQuickIconLabel::IconOnly && !text.isEmpty();
-}
-
-bool QQuickIconLabelPrivate::createImage()
-{
- Q_Q(QQuickIconLabel);
- if (image)
- return false;
-
- image = new QQuickIconImage(q);
- watchChanges(image);
- beginClass(image);
- image->setObjectName(QStringLiteral("image"));
- image->setName(icon.name());
- image->setSource(icon.source());
- image->setSourceSize(QSize(icon.width(), icon.height()));
- image->setColor(icon.color());
- image->setCache(icon.cache());
- QQmlEngine::setContextForObject(image, qmlContext(q));
- if (componentComplete)
- completeComponent(image);
- return true;
-}
-
-bool QQuickIconLabelPrivate::destroyImage()
-{
- if (!image)
- return false;
-
- unwatchChanges(image);
- delete image;
- image = nullptr;
- return true;
-}
-
-bool QQuickIconLabelPrivate::updateImage()
-{
- if (!hasIcon())
- return destroyImage();
- return createImage();
-}
-
-void QQuickIconLabelPrivate::syncImage()
-{
- if (!image || icon.isEmpty())
- return;
-
- image->setName(icon.name());
- image->setSource(icon.source());
- image->setSourceSize(QSize(icon.width(), icon.height()));
- image->setColor(icon.color());
- image->setCache(icon.cache());
- const int valign = alignment & Qt::AlignVertical_Mask;
- image->setVerticalAlignment(static_cast<QQuickImage::VAlignment>(valign));
- const int halign = alignment & Qt::AlignHorizontal_Mask;
- image->setHorizontalAlignment(static_cast<QQuickImage::HAlignment>(halign));
-}
-
-void QQuickIconLabelPrivate::updateOrSyncImage()
-{
- if (updateImage()) {
- if (componentComplete) {
- updateImplicitSize();
- layout();
- }
- } else {
- syncImage();
- }
-}
-
-bool QQuickIconLabelPrivate::createLabel()
-{
- Q_Q(QQuickIconLabel);
- if (label)
- return false;
-
- label = new QQuickMnemonicLabel(q);
- watchChanges(label);
- beginClass(label);
- label->setObjectName(QStringLiteral("label"));
- label->setFont(font);
- label->setColor(color);
- label->setElideMode(QQuickText::ElideRight);
- const int valign = alignment & Qt::AlignVertical_Mask;
- label->setVAlign(static_cast<QQuickText::VAlignment>(valign));
- const int halign = alignment & Qt::AlignHorizontal_Mask;
- label->setHAlign(static_cast<QQuickText::HAlignment>(halign));
- label->setText(text);
- if (componentComplete)
- completeComponent(label);
- return true;
-}
-
-bool QQuickIconLabelPrivate::destroyLabel()
-{
- if (!label)
- return false;
-
- unwatchChanges(label);
- delete label;
- label = nullptr;
- return true;
-}
-
-bool QQuickIconLabelPrivate::updateLabel()
-{
- if (!hasText())
- return destroyLabel();
- return createLabel();
-}
-
-void QQuickIconLabelPrivate::syncLabel()
-{
- if (!label)
- return;
-
- label->setText(text);
-}
-
-void QQuickIconLabelPrivate::updateOrSyncLabel()
-{
- if (updateLabel()) {
- if (componentComplete) {
- updateImplicitSize();
- layout();
- }
- } else {
- syncLabel();
- }
-}
-
-void QQuickIconLabelPrivate::updateImplicitSize()
-{
- Q_Q(QQuickIconLabel);
- const bool showIcon = image && hasIcon();
- const bool showText = label && hasText();
- const qreal horizontalPadding = leftPadding + rightPadding;
- const qreal verticalPadding = topPadding + bottomPadding;
- const qreal iconImplicitWidth = showIcon ? image->implicitWidth() : 0;
- const qreal iconImplicitHeight = showIcon ? image->implicitHeight() : 0;
- const qreal textImplicitWidth = showText ? label->implicitWidth() : 0;
- const qreal textImplicitHeight = showText ? label->implicitHeight() : 0;
- const qreal effectiveSpacing = showText && showIcon && image->implicitWidth() > 0 ? spacing : 0;
- const qreal implicitWidth = display == QQuickIconLabel::TextBesideIcon ? iconImplicitWidth + textImplicitWidth + effectiveSpacing
- : qMax(iconImplicitWidth, textImplicitWidth);
- const qreal implicitHeight = display == QQuickIconLabel::TextUnderIcon ? iconImplicitHeight + textImplicitHeight + effectiveSpacing
- : qMax(iconImplicitHeight, textImplicitHeight);
- q->setImplicitSize(implicitWidth + horizontalPadding, implicitHeight + verticalPadding);
-}
-
-// adapted from QStyle::alignedRect()
-static QRectF alignedRect(bool mirrored, Qt::Alignment alignment, const QSizeF &size, const QRectF &rectangle)
-{
- alignment = QGuiApplicationPrivate::visualAlignment(mirrored ? Qt::RightToLeft : Qt::LeftToRight, alignment);
- qreal x = rectangle.x();
- qreal y = rectangle.y();
- const qreal w = size.width();
- const qreal h = size.height();
- if ((alignment & Qt::AlignVCenter) == Qt::AlignVCenter)
- y += rectangle.height() / 2 - h / 2;
- else if ((alignment & Qt::AlignBottom) == Qt::AlignBottom)
- y += rectangle.height() - h;
- if ((alignment & Qt::AlignRight) == Qt::AlignRight)
- x += rectangle.width() - w;
- else if ((alignment & Qt::AlignHCenter) == Qt::AlignHCenter)
- x += rectangle.width() / 2 - w / 2;
- return QRectF(x, y, w, h);
-}
-
-void QQuickIconLabelPrivate::layout()
-{
- Q_Q(QQuickIconLabel);
- if (!componentComplete)
- return;
-
- const qreal availableWidth = width - leftPadding - rightPadding;
- const qreal availableHeight = height - topPadding - bottomPadding;
-
- switch (display) {
- case QQuickIconLabel::IconOnly:
- if (image) {
- const QRectF iconRect = alignedRect(mirrored, alignment,
- QSizeF(qMin(image->implicitWidth(), availableWidth),
- qMin(image->implicitHeight(), availableHeight)),
- QRectF(leftPadding, topPadding, availableWidth, availableHeight));
- image->setSize(iconRect.size());
- image->setPosition(iconRect.topLeft());
- }
- break;
- case QQuickIconLabel::TextOnly:
- if (label) {
- const QRectF textRect = alignedRect(mirrored, alignment,
- QSizeF(qMin(label->implicitWidth(), availableWidth),
- qMin(label->implicitHeight(), availableHeight)),
- QRectF(leftPadding, topPadding, availableWidth, availableHeight));
- label->setSize(textRect.size());
- label->setPosition(textRect.topLeft());
- }
- break;
-
- case QQuickIconLabel::TextUnderIcon: {
- // Work out the sizes first, as the positions depend on them.
- QSizeF iconSize;
- QSizeF textSize;
- if (image) {
- iconSize.setWidth(qMin(image->implicitWidth(), availableWidth));
- iconSize.setHeight(qMin(image->implicitHeight(), availableHeight));
- }
- qreal effectiveSpacing = 0;
- if (label) {
- if (!iconSize.isEmpty())
- effectiveSpacing = spacing;
- textSize.setWidth(qMin(label->implicitWidth(), availableWidth));
- textSize.setHeight(qMin(label->implicitHeight(), availableHeight - iconSize.height() - effectiveSpacing));
- }
-
- QRectF combinedRect = alignedRect(mirrored, alignment,
- QSizeF(qMax(iconSize.width(), textSize.width()),
- iconSize.height() + effectiveSpacing + textSize.height()),
- QRectF(leftPadding, topPadding, availableWidth, availableHeight));
- if (image) {
- QRectF iconRect = alignedRect(mirrored, Qt::AlignHCenter | Qt::AlignTop, iconSize, combinedRect);
- image->setSize(iconRect.size());
- image->setPosition(iconRect.topLeft());
- }
- if (label) {
- QRectF textRect = alignedRect(mirrored, Qt::AlignHCenter | Qt::AlignBottom, textSize, combinedRect);
- label->setSize(textRect.size());
- label->setPosition(textRect.topLeft());
- }
- break;
- }
-
- case QQuickIconLabel::TextBesideIcon:
- default:
- // Work out the sizes first, as the positions depend on them.
- QSizeF iconSize(0, 0);
- QSizeF textSize(0, 0);
- if (image) {
- iconSize.setWidth(qMin(image->implicitWidth(), availableWidth));
- iconSize.setHeight(qMin(image->implicitHeight(), availableHeight));
- }
- qreal effectiveSpacing = 0;
- if (label) {
- if (!iconSize.isEmpty())
- effectiveSpacing = spacing;
- textSize.setWidth(qMin(label->implicitWidth(), availableWidth - iconSize.width() - effectiveSpacing));
- textSize.setHeight(qMin(label->implicitHeight(), availableHeight));
- }
-
- const QRectF combinedRect = alignedRect(mirrored, alignment,
- QSizeF(iconSize.width() + effectiveSpacing + textSize.width(),
- qMax(iconSize.height(), textSize.height())),
- QRectF(leftPadding, topPadding, availableWidth, availableHeight));
- if (image) {
- const QRectF iconRect = alignedRect(mirrored, Qt::AlignLeft | Qt::AlignVCenter, iconSize, combinedRect);
- image->setSize(iconRect.size());
- image->setPosition(iconRect.topLeft());
- }
- if (label) {
- const QRectF textRect = alignedRect(mirrored, Qt::AlignRight | Qt::AlignVCenter, textSize, combinedRect);
- label->setSize(textRect.size());
- label->setPosition(textRect.topLeft());
- }
- break;
- }
-
- q->setBaselineOffset(label ? label->y() + label->baselineOffset() : 0);
-}
-
-static const QQuickItemPrivate::ChangeTypes itemChangeTypes =
- QQuickItemPrivate::ImplicitWidth
- | QQuickItemPrivate::ImplicitHeight
- | QQuickItemPrivate::Destroyed;
-
-void QQuickIconLabelPrivate::watchChanges(QQuickItem *item)
-{
- QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
- itemPrivate->addItemChangeListener(this, itemChangeTypes);
-}
-
-void QQuickIconLabelPrivate::unwatchChanges(QQuickItem* item)
-{
- QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
- itemPrivate->removeItemChangeListener(this, itemChangeTypes);
-}
-
-void QQuickIconLabelPrivate::itemImplicitWidthChanged(QQuickItem *)
-{
- updateImplicitSize();
- layout();
-}
-
-void QQuickIconLabelPrivate::itemImplicitHeightChanged(QQuickItem *)
-{
- updateImplicitSize();
- layout();
-}
-
-void QQuickIconLabelPrivate::itemDestroyed(QQuickItem *item)
-{
- unwatchChanges(item);
- if (item == image)
- image = nullptr;
- else if (item == label)
- label = nullptr;
-}
-
-QQuickIconLabel::QQuickIconLabel(QQuickItem *parent)
- : QQuickItem(*(new QQuickIconLabelPrivate), parent)
-{
-}
-
-QQuickIconLabel::~QQuickIconLabel()
-{
- Q_D(QQuickIconLabel);
- if (d->image)
- d->unwatchChanges(d->image);
- if (d->label)
- d->unwatchChanges(d->label);
-}
-
-QQuickIcon QQuickIconLabel::icon() const
-{
- Q_D(const QQuickIconLabel);
- return d->icon;
-}
-
-void QQuickIconLabel::setIcon(const QQuickIcon &icon)
-{
- Q_D(QQuickIconLabel);
- if (d->icon == icon)
- return;
-
- d->icon = icon;
- d->updateOrSyncImage();
-}
-
-QString QQuickIconLabel::text() const
-{
- Q_D(const QQuickIconLabel);
- return d->text;
-}
-
-void QQuickIconLabel::setText(const QString text)
-{
- Q_D(QQuickIconLabel);
- if (d->text == text)
- return;
-
- d->text = text;
- d->updateOrSyncLabel();
-}
-
-QFont QQuickIconLabel::font() const
-{
- Q_D(const QQuickIconLabel);
- return d->font;
-}
-
-void QQuickIconLabel::setFont(const QFont &font)
-{
- Q_D(QQuickIconLabel);
- if (d->font == font)
- return;
-
- d->font = font;
- if (d->label)
- d->label->setFont(font);
-}
-
-QColor QQuickIconLabel::color() const
-{
- Q_D(const QQuickIconLabel);
- return d->color;
-}
-
-void QQuickIconLabel::setColor(const QColor &color)
-{
- Q_D(QQuickIconLabel);
- if (d->color == color)
- return;
-
- d->color = color;
- if (d->label)
- d->label->setColor(color);
-}
-
-QQuickIconLabel::Display QQuickIconLabel::display() const
-{
- Q_D(const QQuickIconLabel);
- return d->display;
-}
-
-void QQuickIconLabel::setDisplay(Display display)
-{
- Q_D(QQuickIconLabel);
- if (d->display == display)
- return;
-
- d->display = display;
- d->updateImage();
- d->updateLabel();
- d->updateImplicitSize();
- d->layout();
-}
-
-qreal QQuickIconLabel::spacing() const
-{
- Q_D(const QQuickIconLabel);
- return d->spacing;
-}
-
-void QQuickIconLabel::setSpacing(qreal spacing)
-{
- Q_D(QQuickIconLabel);
- if (qFuzzyCompare(d->spacing, spacing))
- return;
-
- d->spacing = spacing;
- if (d->image && d->label) {
- d->updateImplicitSize();
- d->layout();
- }
-}
-
-bool QQuickIconLabel::isMirrored() const
-{
- Q_D(const QQuickIconLabel);
- return d->mirrored;
-}
-
-void QQuickIconLabel::setMirrored(bool mirrored)
-{
- Q_D(QQuickIconLabel);
- if (d->mirrored == mirrored)
- return;
-
- d->mirrored = mirrored;
- d->layout();
-}
-
-Qt::Alignment QQuickIconLabel::alignment() const
-{
- Q_D(const QQuickIconLabel);
- return d->alignment;
-}
-
-void QQuickIconLabel::setAlignment(Qt::Alignment alignment)
-{
- Q_D(QQuickIconLabel);
- const int valign = alignment & Qt::AlignVertical_Mask;
- const int halign = alignment & Qt::AlignHorizontal_Mask;
- const uint align = (valign ? valign : Qt::AlignVCenter) | (halign ? halign : Qt::AlignHCenter);
- if (d->alignment == align)
- return;
-
- d->alignment = static_cast<Qt::Alignment>(align);
- if (d->label) {
- d->label->setVAlign(static_cast<QQuickText::VAlignment>(valign));
- d->label->setHAlign(static_cast<QQuickText::HAlignment>(halign));
- }
- if (d->image) {
- d->image->setVerticalAlignment(static_cast<QQuickImage::VAlignment>(valign));
- d->image->setHorizontalAlignment(static_cast<QQuickImage::HAlignment>(halign));
- }
- d->layout();
-}
-
-qreal QQuickIconLabel::topPadding() const
-{
- Q_D(const QQuickIconLabel);
- return d->topPadding;
-}
-
-void QQuickIconLabel::setTopPadding(qreal padding)
-{
- Q_D(QQuickIconLabel);
- if (qFuzzyCompare(d->topPadding, padding))
- return;
-
- d->topPadding = padding;
- d->updateImplicitSize();
- d->layout();
-}
-
-void QQuickIconLabel::resetTopPadding()
-{
- setTopPadding(0);
-}
-
-qreal QQuickIconLabel::leftPadding() const
-{
- Q_D(const QQuickIconLabel);
- return d->leftPadding;
-}
-
-void QQuickIconLabel::setLeftPadding(qreal padding)
-{
- Q_D(QQuickIconLabel);
- if (qFuzzyCompare(d->leftPadding, padding))
- return;
-
- d->leftPadding = padding;
- d->updateImplicitSize();
- d->layout();
-}
-
-void QQuickIconLabel::resetLeftPadding()
-{
- setLeftPadding(0);
-}
-
-qreal QQuickIconLabel::rightPadding() const
-{
- Q_D(const QQuickIconLabel);
- return d->rightPadding;
-}
-
-void QQuickIconLabel::setRightPadding(qreal padding)
-{
- Q_D(QQuickIconLabel);
- if (qFuzzyCompare(d->rightPadding, padding))
- return;
-
- d->rightPadding = padding;
- d->updateImplicitSize();
- d->layout();
-}
-
-void QQuickIconLabel::resetRightPadding()
-{
- setRightPadding(0);
-}
-
-qreal QQuickIconLabel::bottomPadding() const
-{
- Q_D(const QQuickIconLabel);
- return d->bottomPadding;
-}
-
-void QQuickIconLabel::setBottomPadding(qreal padding)
-{
- Q_D(QQuickIconLabel);
- if (qFuzzyCompare(d->bottomPadding, padding))
- return;
-
- d->bottomPadding = padding;
- d->updateImplicitSize();
- d->layout();
-}
-
-void QQuickIconLabel::resetBottomPadding()
-{
- setBottomPadding(0);
-}
-
-void QQuickIconLabel::componentComplete()
-{
- Q_D(QQuickIconLabel);
- if (d->image)
- completeComponent(d->image);
- if (d->label)
- completeComponent(d->label);
- QQuickItem::componentComplete();
- d->layout();
-}
-
-void QQuickIconLabel::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickIconLabel);
- QQuickItem::geometryChanged(newGeometry, oldGeometry);
- d->layout();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickiconlabel_p.h b/src/quickcontrols2/qquickiconlabel_p.h
deleted file mode 100644
index df79dbf2..00000000
--- a/src/quickcontrols2/qquickiconlabel_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKICONLABEL_P_H
-#define QQUICKICONLABEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickitem.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-#include <QtQuickTemplates2/private/qquickicon_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickIconLabelPrivate;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickIconLabel : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QQuickIcon icon READ icon WRITE setIcon FINAL)
- Q_PROPERTY(QString text READ text WRITE setText FINAL)
- Q_PROPERTY(QFont font READ font WRITE setFont FINAL)
- Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
- Q_PROPERTY(Display display READ display WRITE setDisplay FINAL)
- Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing FINAL)
- Q_PROPERTY(bool mirrored READ isMirrored WRITE setMirrored FINAL)
- Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment FINAL)
- Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding FINAL)
- Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding FINAL)
- Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding FINAL)
- Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding FINAL)
-
-public:
- enum Display {
- IconOnly,
- TextOnly,
- TextBesideIcon,
- TextUnderIcon
- };
- Q_ENUM(Display)
-
- explicit QQuickIconLabel(QQuickItem *parent = nullptr);
- ~QQuickIconLabel();
-
- QQuickIcon icon() const;
- void setIcon(const QQuickIcon &icon);
-
- QString text() const;
- void setText(const QString text);
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QColor color() const;
- void setColor(const QColor &color);
-
- Display display() const;
- void setDisplay(Display display);
-
- qreal spacing() const;
- void setSpacing(qreal spacing);
-
- bool isMirrored() const;
- void setMirrored(bool mirrored);
-
- Qt::Alignment alignment() const;
- void setAlignment(Qt::Alignment alignment);
-
- qreal topPadding() const;
- void setTopPadding(qreal padding);
- void resetTopPadding();
-
- qreal leftPadding() const;
- void setLeftPadding(qreal padding);
- void resetLeftPadding();
-
- qreal rightPadding() const;
- void setRightPadding(qreal padding);
- void resetRightPadding();
-
- qreal bottomPadding() const;
- void setBottomPadding(qreal padding);
- void resetBottomPadding();
-
-protected:
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
-private:
- Q_DISABLE_COPY(QQuickIconLabel)
- Q_DECLARE_PRIVATE(QQuickIconLabel)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickIconLabel)
-
-#endif // QQUICKICONLABEL_P_H
diff --git a/src/quickcontrols2/qquickiconlabel_p_p.h b/src/quickcontrols2/qquickiconlabel_p_p.h
deleted file mode 100644
index 6a2a0f58..00000000
--- a/src/quickcontrols2/qquickiconlabel_p_p.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKICONLABEL_P_P_H
-#define QQUICKICONLABEL_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-#include <QtQuickControls2/private/qquickiconlabel_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickIconImage;
-class QQuickMnemonicLabel;
-
-class QQuickIconLabelPrivate : public QQuickItemPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickIconLabel)
-
-public:
- bool hasIcon() const;
- bool hasText() const;
-
- bool createImage();
- bool destroyImage();
- bool updateImage();
- void syncImage();
- void updateOrSyncImage();
-
- bool createLabel();
- bool destroyLabel();
- bool updateLabel();
- void syncLabel();
- void updateOrSyncLabel();
-
- void updateImplicitSize();
- void layout();
-
- void watchChanges(QQuickItem *item);
- void unwatchChanges(QQuickItem *item);
- void setPositioningDirty();
-
- bool isLeftToRight() const;
-
- void itemImplicitWidthChanged(QQuickItem *) override;
- void itemImplicitHeightChanged(QQuickItem *) override;
- void itemDestroyed(QQuickItem *item) override;
-
- bool mirrored = false;
- QQuickIconLabel::Display display = QQuickIconLabel::TextBesideIcon;
- Qt::Alignment alignment = Qt::AlignCenter;
- qreal spacing = 0;
- qreal topPadding = 0;
- qreal leftPadding = 0;
- qreal rightPadding = 0;
- qreal bottomPadding = 0;
- QFont font;
- QColor color;
- QString text;
- QQuickIcon icon;
- QQuickIconImage *image = nullptr;
- QQuickMnemonicLabel *label = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKICONLABEL_P_P_H
diff --git a/src/quickcontrols2/qquickitemgroup.cpp b/src/quickcontrols2/qquickitemgroup.cpp
deleted file mode 100644
index 1396a871..00000000
--- a/src/quickcontrols2/qquickitemgroup.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickitemgroup_p.h"
-
-#include <QtQuick/private/qquickimplicitsizeitem_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickItemGroup::QQuickItemGroup(QQuickItem *parent)
- : QQuickImplicitSizeItem(*(new QQuickImplicitSizeItemPrivate), parent)
-{
-}
-
-QQuickItemGroup::~QQuickItemGroup()
-{
- const auto children = childItems();
- for (QQuickItem *child : children)
- unwatch(child);
-}
-
-void QQuickItemGroup::watch(QQuickItem *item)
-{
- QQuickItemPrivate::get(item)->addItemChangeListener(this, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
-}
-
-void QQuickItemGroup::unwatch(QQuickItem *item)
-{
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
-}
-
-QSizeF QQuickItemGroup::calculateImplicitSize() const
-{
- qreal width = 0;
- qreal height = 0;
- const auto children = childItems();
- for (QQuickItem *child : children) {
- width = qMax(width, child->implicitWidth());
- height = qMax(height, child->implicitHeight());
- }
- return QSizeF(width, height);
-}
-
-void QQuickItemGroup::updateImplicitSize()
-{
- QSizeF size = calculateImplicitSize();
- setImplicitSize(size.width(), size.height());
-}
-
-void QQuickItemGroup::itemChange(ItemChange change, const ItemChangeData &data)
-{
- QQuickImplicitSizeItem::itemChange(change, data);
- switch (change) {
- case ItemChildAddedChange:
- watch(data.item);
- data.item->setSize(QSizeF(width(), height()));
- updateImplicitSize();
- break;
- case ItemChildRemovedChange:
- unwatch(data.item);
- updateImplicitSize();
- break;
- default:
- break;
- }
-}
-
-void QQuickItemGroup::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- QQuickImplicitSizeItem::geometryChanged(newGeometry, oldGeometry);
-
- if (newGeometry.size() != oldGeometry.size()) {
- const auto children = childItems();
- for (QQuickItem *child : children)
- child->setSize(newGeometry.size());
- }
-}
-
-void QQuickItemGroup::itemImplicitWidthChanged(QQuickItem *)
-{
- setImplicitWidth(calculateImplicitSize().width());
-}
-
-void QQuickItemGroup::itemImplicitHeightChanged(QQuickItem *)
-{
- setImplicitHeight(calculateImplicitSize().height());
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickitemgroup_p.h b/src/quickcontrols2/qquickitemgroup_p.h
deleted file mode 100644
index af062d57..00000000
--- a/src/quickcontrols2/qquickitemgroup_p.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKITEMGROUP_P_H
-#define QQUICKITEMGROUP_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickimplicitsizeitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickItemGroup : public QQuickImplicitSizeItem, protected QQuickItemChangeListener
-{
- Q_OBJECT
-
-public:
- explicit QQuickItemGroup(QQuickItem *parent = nullptr);
- ~QQuickItemGroup();
-
-protected:
- void watch(QQuickItem *item);
- void unwatch(QQuickItem *item);
-
- QSizeF calculateImplicitSize() const;
- void updateImplicitSize();
-
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickItemGroup)
-
-#endif // QQUICKITEMGROUP_P_H
diff --git a/src/quickcontrols2/qquickmnemoniclabel.cpp b/src/quickcontrols2/qquickmnemoniclabel.cpp
deleted file mode 100644
index 193365b5..00000000
--- a/src/quickcontrols2/qquickmnemoniclabel.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmnemoniclabel_p.h"
-
-#include <QtQuick/private/qquicktext_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickMnemonicLabel::QQuickMnemonicLabel(QQuickItem *parent)
- : QQuickText(parent)
-{
-}
-
-QString QQuickMnemonicLabel::text() const
-{
- return m_fullText;
-}
-
-void QQuickMnemonicLabel::setText(const QString &text)
-{
- if (m_fullText == text)
- return;
-
- m_fullText = text;
- updateMnemonic();
-}
-
-bool QQuickMnemonicLabel::isMnemonicVisible() const
-{
- return m_mnemonicVisible;
-}
-
-void QQuickMnemonicLabel::setMnemonicVisible(bool visible)
-{
- if (m_mnemonicVisible == visible)
- return;
-
- m_mnemonicVisible = visible;
- updateMnemonic();
-
- if (isComponentComplete())
- forceLayout();
-}
-
-static QTextLayout::FormatRange underlineRange(int start, int length = 1)
-{
- QTextLayout::FormatRange range;
- range.start = start;
- range.length = length;
- range.format.setFontUnderline(true);
- return range;
-}
-
-// based on QPlatformTheme::removeMnemonics()
-void QQuickMnemonicLabel::updateMnemonic()
-{
- QString text(m_fullText.size(), QChar::Null);
- int idx = 0;
- int pos = 0;
- int len = m_fullText.length();
- QVector<QTextLayout::FormatRange> formats;
- while (len) {
- if (m_fullText.at(pos) == QLatin1Char('&') && (len == 1 || m_fullText.at(pos + 1) != QLatin1Char('&'))) {
- if (m_mnemonicVisible && (pos == 0 || m_fullText.at(pos - 1) != QLatin1Char('&')))
- formats += underlineRange(pos);
- ++pos;
- --len;
- if (len == 0)
- break;
- } else if (m_fullText.at(pos) == QLatin1Char('(') && len >= 4 &&
- m_fullText.at(pos + 1) == QLatin1Char('&') &&
- m_fullText.at(pos + 2) != QLatin1Char('&') &&
- m_fullText.at(pos + 3) == QLatin1Char(')')) {
- // a mnemonic with format "\s*(&X)"
- if (m_mnemonicVisible) {
- formats += underlineRange(pos + 1);
- } else {
- int n = 0;
- while (idx > n && text.at(idx - n - 1).isSpace())
- ++n;
- idx -= n;
- pos += 4;
- len -= 4;
- continue;
- }
- }
- text[idx] = m_fullText.at(pos);
- ++pos;
- ++idx;
- --len;
- }
- text.truncate(idx);
-
- QQuickTextPrivate::get(this)->layout.setFormats(formats);
- QQuickText::setText(text);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickmnemoniclabel_p.h b/src/quickcontrols2/qquickmnemoniclabel_p.h
deleted file mode 100644
index da5a83db..00000000
--- a/src/quickcontrols2/qquickmnemoniclabel_p.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMNEMONICLABEL_P_H
-#define QQUICKMNEMONICLABEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquicktext_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickMnemonicLabel : public QQuickText
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText FINAL)
- Q_PROPERTY(bool mnemonicVisible READ isMnemonicVisible WRITE setMnemonicVisible FINAL)
-
-public:
- explicit QQuickMnemonicLabel(QQuickItem *parent = nullptr);
-
- QString text() const;
- void setText(const QString &text);
-
- bool isMnemonicVisible() const;
- void setMnemonicVisible(bool visible);
-
-private:
- void updateMnemonic();
-
- bool m_mnemonicVisible = true;
- QString m_fullText;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMnemonicLabel)
-
-#endif // QQUICKMNEMONICLABEL_P_H
diff --git a/src/quickcontrols2/qquickpaddedrectangle.cpp b/src/quickcontrols2/qquickpaddedrectangle.cpp
deleted file mode 100644
index fd9e9d90..00000000
--- a/src/quickcontrols2/qquickpaddedrectangle.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpaddedrectangle_p.h"
-
-#include <QtQuick/private/qsgadaptationlayer_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickPaddedRectangle::QQuickPaddedRectangle(QQuickItem *parent) :
- QQuickRectangle(parent)
-{
-}
-
-qreal QQuickPaddedRectangle::padding() const
-{
- return m_padding;
-}
-
-void QQuickPaddedRectangle::setPadding(qreal padding)
-{
- if (!qFuzzyCompare(m_padding, padding)) {
- m_padding = padding;
- update();
- emit paddingChanged();
- if (m_hasTopPadding)
- emit topPaddingChanged();
- if (!m_hasLeftPadding)
- emit leftPaddingChanged();
- if (!m_hasRightPadding)
- emit rightPaddingChanged();
- if (!m_hasBottomPadding)
- emit bottomPaddingChanged();
- }
-}
-
-void QQuickPaddedRectangle::resetPadding()
-{
- setPadding(0);
-}
-
-qreal QQuickPaddedRectangle::topPadding() const
-{
- return m_hasTopPadding ? m_topPadding : m_padding;
-}
-
-void QQuickPaddedRectangle::setTopPadding(qreal padding)
-{
- setTopPadding(padding, true);
-}
-
-void QQuickPaddedRectangle::resetTopPadding()
-{
- setTopPadding(0, false);
-}
-
-qreal QQuickPaddedRectangle::leftPadding() const
-{
- return m_hasLeftPadding ? m_leftPadding : m_padding;
-}
-
-void QQuickPaddedRectangle::setLeftPadding(qreal padding)
-{
- setLeftPadding(padding, true);
-}
-
-void QQuickPaddedRectangle::resetLeftPadding()
-{
- setLeftPadding(0, false);
-}
-
-qreal QQuickPaddedRectangle::rightPadding() const
-{
- return m_hasRightPadding ? m_rightPadding : m_padding;
-}
-
-void QQuickPaddedRectangle::setRightPadding(qreal padding)
-{
- setRightPadding(padding, true);
-}
-
-void QQuickPaddedRectangle::resetRightPadding()
-{
- setRightPadding(0, false);
-}
-
-qreal QQuickPaddedRectangle::bottomPadding() const
-{
- return m_hasBottomPadding ? m_bottomPadding : m_padding;
-}
-
-void QQuickPaddedRectangle::setBottomPadding(qreal padding)
-{
- setBottomPadding(padding, true);
-}
-
-void QQuickPaddedRectangle::resetBottomPadding()
-{
- setBottomPadding(0, false);
-}
-
-void QQuickPaddedRectangle::setTopPadding(qreal padding, bool has)
-{
- qreal oldPadding = topPadding();
- m_hasTopPadding = has;
- m_topPadding = padding;
- if (!qFuzzyCompare(oldPadding, padding)) {
- update();
- emit topPaddingChanged();
- }
-}
-
-void QQuickPaddedRectangle::setLeftPadding(qreal padding, bool has)
-{
- qreal oldPadding = leftPadding();
- m_hasLeftPadding = has;
- m_leftPadding = padding;
- if (!qFuzzyCompare(oldPadding, padding)) {
- update();
- emit leftPaddingChanged();
- }
-}
-
-void QQuickPaddedRectangle::setRightPadding(qreal padding, bool has)
-{
- qreal oldPadding = rightPadding();
- m_hasRightPadding = has;
- m_rightPadding = padding;
- if (!qFuzzyCompare(oldPadding, padding)) {
- update();
- emit rightPaddingChanged();
- }
-}
-
-void QQuickPaddedRectangle::setBottomPadding(qreal padding, bool has)
-{
- qreal oldPadding = bottomPadding();
- m_hasBottomPadding = has;
- m_bottomPadding = padding;
- if (!qFuzzyCompare(oldPadding, padding)) {
- update();
- emit bottomPaddingChanged();
- }
-}
-
-QSGNode *QQuickPaddedRectangle::updatePaintNode(QSGNode *node, UpdatePaintNodeData *data)
-{
- QSGTransformNode *transformNode = static_cast<QSGTransformNode *>(node);
- if (!transformNode)
- transformNode = new QSGTransformNode;
-
- QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(QQuickRectangle::updatePaintNode(transformNode->firstChild(), data));
-
- if (rectNode) {
- if (!transformNode->firstChild())
- transformNode->appendChildNode(rectNode);
-
- qreal top = topPadding();
- qreal left = leftPadding();
- qreal right = rightPadding();
- qreal bottom = bottomPadding();
-
- if (!qFuzzyIsNull(top) || !qFuzzyIsNull(left) || !qFuzzyIsNull(right) || !qFuzzyIsNull(bottom)) {
- QMatrix4x4 m;
- m.translate(left, top);
- transformNode->setMatrix(m);
-
- qreal w = qMax<qreal>(0.0, width() -left-right);
- qreal h = qMax<qreal>(0.0, height() -top-bottom);
-
- rectNode->setRect(QRectF(0, 0, w, h));
- rectNode->update();
- }
- }
- return transformNode;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickpaddedrectangle_p.h b/src/quickcontrols2/qquickpaddedrectangle_p.h
deleted file mode 100644
index c2e0ddef..00000000
--- a/src/quickcontrols2/qquickpaddedrectangle_p.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPADDEDRECTANGLE_P_H
-#define QQUICKPADDEDRECTANGLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickrectangle_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickPaddedRectangle : public QQuickRectangle
-{
- Q_OBJECT
- Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged FINAL)
- Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged FINAL)
- Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding NOTIFY leftPaddingChanged FINAL)
- Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding NOTIFY rightPaddingChanged FINAL)
- Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged FINAL)
-
-public:
- QQuickPaddedRectangle(QQuickItem *parent = nullptr);
-
- qreal padding() const;
- void setPadding(qreal padding);
- void resetPadding();
-
- qreal topPadding() const;
- void setTopPadding(qreal padding);
- void resetTopPadding();
-
- qreal leftPadding() const;
- void setLeftPadding(qreal padding);
- void resetLeftPadding();
-
- qreal rightPadding() const;
- void setRightPadding(qreal padding);
- void resetRightPadding();
-
- qreal bottomPadding() const;
- void setBottomPadding(qreal padding);
- void resetBottomPadding();
-
-Q_SIGNALS:
- void paddingChanged();
- void topPaddingChanged();
- void leftPaddingChanged();
- void rightPaddingChanged();
- void bottomPaddingChanged();
-
-protected:
- QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
-
-private:
- void setTopPadding(qreal padding, bool has);
- void setLeftPadding(qreal padding, bool has);
- void setRightPadding(qreal padding, bool has);
- void setBottomPadding(qreal padding, bool has);
-
- qreal m_padding = 0;
- qreal m_topPadding = 0;
- qreal m_leftPadding = 0;
- qreal m_rightPadding = 0;
- qreal m_bottomPadding = 0;
- bool m_hasTopPadding = false;
- bool m_hasLeftPadding = false;
- bool m_hasRightPadding = false;
- bool m_hasBottomPadding = false;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPaddedRectangle)
-
-#endif // QQUICKPADDEDRECTANGLE_P_H
diff --git a/src/quickcontrols2/qquickplaceholdertext.cpp b/src/quickcontrols2/qquickplaceholdertext.cpp
deleted file mode 100644
index 2fe6be07..00000000
--- a/src/quickcontrols2/qquickplaceholdertext.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickplaceholdertext_p.h"
-
-#include <QtQuick/private/qquicktext_p_p.h>
-#include <QtQuick/private/qquicktextinput_p_p.h>
-#include <QtQuick/private/qquicktextedit_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickPlaceholderText::QQuickPlaceholderText(QQuickItem *parent) : QQuickText(parent)
-{
-}
-
-void QQuickPlaceholderText::componentComplete()
-{
- QQuickText::componentComplete();
- connect(parentItem(), SIGNAL(effectiveHorizontalAlignmentChanged()), this, SLOT(updateAlignment()));
- updateAlignment();
-}
-
-void QQuickPlaceholderText::updateAlignment()
-{
- if (QQuickTextInput *input = qobject_cast<QQuickTextInput *>(parentItem())) {
- if (QQuickTextInputPrivate::get(input)->hAlignImplicit)
- resetHAlign();
- else
- setHAlign(static_cast<HAlignment>(input->hAlign()));
- } else if (QQuickTextEdit *edit = qobject_cast<QQuickTextEdit *>(parentItem())) {
- if (QQuickTextEditPrivate::get(edit)->hAlignImplicit)
- resetHAlign();
- else
- setHAlign(static_cast<HAlignment>(edit->hAlign()));
- } else {
- resetHAlign();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickplaceholdertext_p.h b/src/quickcontrols2/qquickplaceholdertext_p.h
deleted file mode 100644
index 1e49286c..00000000
--- a/src/quickcontrols2/qquickplaceholdertext_p.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLACEHOLDERTEXT_P_H
-#define QQUICKPLACEHOLDERTEXT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquicktext_p.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickPlaceholderText : public QQuickText
-{
- Q_OBJECT
-
-public:
- explicit QQuickPlaceholderText(QQuickItem *parent = nullptr);
-
-protected:
- void componentComplete() override;
-
-private Q_SLOTS:
- void updateAlignment();
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPlaceholderText)
-
-#endif // QQUICKPLACEHOLDERTEXT_P_H
diff --git a/src/quickcontrols2/qquickstyle.cpp b/src/quickcontrols2/qquickstyle.cpp
deleted file mode 100644
index e2b6678b..00000000
--- a/src/quickcontrols2/qquickstyle.cpp
+++ /dev/null
@@ -1,662 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstyle.h"
-#include "qquickstyle_p.h"
-
-#include <QtCore/qdir.h>
-#include <QtCore/qfile.h>
-#include <QtCore/qdebug.h>
-#include <QtCore/qsettings.h>
-#include <QtCore/qfileselector.h>
-#include <QtCore/qlibraryinfo.h>
-#include <QtCore/qmetaobject.h>
-#include <QtGui/qcolor.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qpalette.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/private/qqmlmetatype_p.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlfile.h>
-
-#include <functional>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QQuickStyle
- \brief The QQuickStyle class allows configuring the application style.
- \inmodule QtQuickControls2
- \since 5.7
-
- QQuickStyle provides API for querying and configuring the application
- \l {Styling Qt Quick Controls}{styles} of Qt Quick Controls.
-
- \code
- #include <QGuiApplication>
- #include <QQmlApplicationEngine>
- #include <QQuickStyle>
-
- int main(int argc, char *argv[])
- {
- QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
-
- QQuickStyle::setStyle("Material");
-
- QQmlApplicationEngine engine;
- engine.load(QUrl("qrc:/main.qml"));
-
- return app.exec();
- }
- \endcode
-
- \note The style must be configured \b before loading QML that imports
- Qt Quick Controls. It is not possible to change the style after the QML
- types have been registered.
-
- The style can also be specified as a path to a custom style, such as
- \c ":/mystyle". See \l {Creating a Custom Style} for more details about
- building custom styles. Custom styles do not need to implement all controls.
- By default, the styling system uses the \l {Default style} as a fallback
- for controls that a custom style does not provide. It is possible to
- specify a different fallback style to customize or extend one of the
- built-in styles.
-
- \code
- QQuickStyle::setStyle(":/mystyle");
- QQuickStyle::setFallbackStyle("Material");
- \endcode
-
- \sa {Styling Qt Quick Controls}
-*/
-
-static QStringList envPathList(const QByteArray &var)
-{
- QStringList paths;
- if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty(var))) {
- const QByteArray value = qgetenv(var);
- paths += QString::fromLocal8Bit(value).split(QDir::listSeparator(), QString::SkipEmptyParts);
- }
- return paths;
-}
-
-static QStringList defaultImportPathList()
-{
- QStringList importPaths;
- importPaths.reserve(3);
-#ifndef QT_STATIC
- importPaths += QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-#endif
- importPaths += envPathList("QML2_IMPORT_PATH");
- importPaths += QStringLiteral(":/qt-project.org/imports");
- importPaths += QCoreApplication::applicationDirPath();
- return importPaths;
-}
-
-struct QQuickStyleSpec
-{
- QQuickStyleSpec() : custom(false), resolved(false) { }
-
- QString name()
- {
- if (!resolved)
- resolve();
- return style.mid(style.lastIndexOf(QLatin1Char('/')) + 1);
- }
-
- QString path()
- {
- if (!resolved)
- resolve();
- QString s = style;
- if (QQmlFile::isLocalFile(s))
- s = QQmlFile::urlToLocalFileOrQrc(s);
- return s.left(s.lastIndexOf(QLatin1Char('/')) + 1);
- }
-
- void setStyle(const QString &s)
- {
- style = s;
- resolved = false;
- resolve();
- }
-
- void setFallbackStyle(const QString &fallback, const QByteArray &method)
- {
- fallbackStyle = fallback;
- fallbackMethod = method;
- }
-
- static QString findStyle(const QString &path, const QString &name)
- {
- QDir dir(path);
- if (!dir.exists())
- return QString();
-
- if (name.isEmpty())
- return dir.absolutePath() + QLatin1Char('/');
-
- const QStringList entries = dir.entryList(QStringList(), QDir::Dirs | QDir::NoDotAndDotDot);
- for (const QString &entry : entries) {
- if (entry.compare(name, Qt::CaseInsensitive) == 0)
- return dir.absoluteFilePath(entry);
- }
-
- return QString();
- }
-
- void resolve(const QUrl &baseUrl = QUrl())
- {
- if (style.isEmpty())
- style = QGuiApplicationPrivate::styleOverride;
- if (style.isEmpty())
- style = QString::fromLocal8Bit(qgetenv("QT_QUICK_CONTROLS_STYLE"));
- if (fallbackStyle.isEmpty())
- setFallbackStyle(QString::fromLocal8Bit(qgetenv("QT_QUICK_CONTROLS_FALLBACK_STYLE")), "QT_QUICK_CONTROLS_FALLBACK_STYLE");
-#if QT_CONFIG(settings)
- if (style.isEmpty() || fallbackStyle.isEmpty()) {
- QSharedPointer<QSettings> settings = QQuickStylePrivate::settings(QStringLiteral("Controls"));
- if (settings) {
- if (style.isEmpty())
- style = settings->value(QStringLiteral("Style")).toString();
- if (fallbackStyle.isEmpty())
- setFallbackStyle(settings->value(QStringLiteral("FallbackStyle")).toString(), ":/qtquickcontrols2.conf");
- }
- }
-#endif
-
- // resolve a path relative to the config
- QString configPath = QFileInfo(resolveConfigFilePath()).path();
- QString stylePath = findStyle(configPath, style);
- if (!stylePath.isEmpty()) {
- style = stylePath;
- resolved = true;
- }
-
- custom = style.contains(QLatin1Char('/'));
-
- if (baseUrl.isValid()) {
- QString path = QQmlFile::urlToLocalFileOrQrc(baseUrl);
- QString stylePath = findStyle(path, style);
- if (!stylePath.isEmpty()) {
- style = stylePath;
- resolved = true;
- }
- }
-
- if (QGuiApplication::instance()) {
- if (!custom) {
- const QStringList stylePaths = QQuickStylePrivate::stylePaths();
- for (const QString &path : stylePaths) {
- QString stylePath = findStyle(path, style);
- if (!stylePath.isEmpty()) {
- custom = !stylePath.startsWith(QQmlFile::urlToLocalFileOrQrc(baseUrl));
- style = stylePath;
- resolved = true;
- break;
- }
- }
- }
- resolved = true;
- }
- }
-
- void reset()
- {
- custom = false;
- resolved = false;
- style.clear();
- fallbackStyle.clear();
- fallbackMethod.clear();
- configFilePath.clear();
- }
-
- QString resolveConfigFilePath()
- {
- if (configFilePath.isEmpty()) {
- configFilePath = QFile::decodeName(qgetenv("QT_QUICK_CONTROLS_CONF"));
- if (configFilePath.isEmpty() || !QFile::exists(configFilePath)) {
- if (!configFilePath.isEmpty())
- qWarning("QT_QUICK_CONTROLS_CONF=%s: No such file", qPrintable(configFilePath));
-
- configFilePath = QStringLiteral(":/qtquickcontrols2.conf");
- }
- }
- return configFilePath;
- }
-
- bool custom;
- bool resolved;
- QString style;
- QString fallbackStyle;
- QByteArray fallbackMethod;
- QString configFilePath;
- QStringList customStylePaths;
-};
-
-Q_GLOBAL_STATIC(QQuickStyleSpec, styleSpec)
-
-static QStringList parseStylePathsWithColon(const QString &var)
-{
- QStringList paths;
- const QChar colon = QLatin1Char(':');
- int currentIndex = 0;
-
- do {
- int nextColonIndex = -1;
- QString path;
-
- if (var.at(currentIndex) == colon) {
- // This is either a list separator, or a qrc path.
- if (var.at(currentIndex + 1) == colon) {
- // It's a double colon (list separator followed by qrc path);
- // find the end of the path.
- nextColonIndex = var.indexOf(colon, currentIndex + 2);
- path = var.mid(currentIndex + 1,
- nextColonIndex == -1 ? -1 : nextColonIndex - currentIndex - 1);
- } else {
- // It's a single colon.
- nextColonIndex = var.indexOf(colon, currentIndex + 1);
- if (currentIndex == 0) {
- // If we're at the start of the string, then it's a qrc path.
- path = var.mid(currentIndex,
- nextColonIndex == -1 ? -1 : nextColonIndex - currentIndex);
- } else {
- // Otherwise, it's a separator.
- path = var.mid(currentIndex + 1,
- nextColonIndex == -1 ? -1 : nextColonIndex - currentIndex - 1);
- }
- }
- } else {
- // It's a file path.
- nextColonIndex = var.indexOf(colon, currentIndex);
- path = var.mid(currentIndex,
- nextColonIndex == -1 ? -1 : nextColonIndex - currentIndex);
- }
-
- paths += path;
- currentIndex = nextColonIndex;
-
- // Keep going until we can't find any more colons,
- // or we're at the last character.
- } while (currentIndex != -1 && currentIndex < var.size() - 1);
-
- return paths;
-}
-
-QStringList QQuickStylePrivate::stylePaths(bool resolve)
-{
- // user-requested style path
- QStringList paths;
- if (resolve) {
- QString path = styleSpec()->path();
- if (path.endsWith(QLatin1Char('/')))
- path.chop(1);
- if (!path.isEmpty())
- paths += path;
- }
-
- if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE_PATH"))) {
- const QString value = QString::fromLocal8Bit(qgetenv("QT_QUICK_CONTROLS_STYLE_PATH"));
- const QChar listSeparator = QDir::listSeparator();
- if (listSeparator == QLatin1Char(':')) {
- // Split manually to avoid breaking paths on systems where : is the list separator,
- // since it's also used for qrc paths.
- paths += parseStylePathsWithColon(value);
- } else {
- // Fast/simpler path for systems where something other than : is used as
- // the list separator (such as ';').
- const QStringList customPaths = value.split(listSeparator, QString::SkipEmptyParts);
- paths += customPaths;
- }
- }
-
- // system/custom style paths
- paths += styleSpec()->customStylePaths;
- paths += envPathList("QT_QUICK_CONTROLS_STYLE_PATH");
-
- // built-in import paths
- const QString targetPath = QStringLiteral("QtQuick/Controls.2");
- const QStringList importPaths = defaultImportPathList();
- for (const QString &importPath : importPaths) {
- QDir dir(importPath);
- if (dir.cd(targetPath))
- paths += dir.absolutePath();
- }
-
- paths.removeDuplicates();
- return paths;
-}
-
-QString QQuickStylePrivate::fallbackStyle()
-{
- return styleSpec()->fallbackStyle;
-}
-
-bool QQuickStylePrivate::isCustomStyle()
-{
- return styleSpec()->custom;
-}
-
-void QQuickStylePrivate::init(const QUrl &baseUrl)
-{
- QQuickStyleSpec *spec = styleSpec();
- spec->resolve(baseUrl);
-
- if (!spec->fallbackStyle.isEmpty()) {
- QString fallbackStyle = spec->findStyle(QQmlFile::urlToLocalFileOrQrc(baseUrl), spec->fallbackStyle);
- if (fallbackStyle.isEmpty()) {
- if (spec->fallbackStyle.compare(QStringLiteral("Default")) != 0) {
- qWarning() << "ERROR: unable to locate fallback style" << spec->fallbackStyle;
- qInfo().nospace().noquote() << spec->fallbackMethod << ": the fallback style must be the name of one of the built-in Qt Quick Controls 2 styles.";
- }
- spec->fallbackStyle.clear();
- }
- }
-}
-
-void QQuickStylePrivate::reset()
-{
- if (styleSpec())
- styleSpec()->reset();
-}
-
-QString QQuickStylePrivate::configFilePath()
-{
- return styleSpec()->resolveConfigFilePath();
-}
-
-QSharedPointer<QSettings> QQuickStylePrivate::settings(const QString &group)
-{
-#ifndef QT_NO_SETTINGS
- const QString filePath = QQuickStylePrivate::configFilePath();
- if (QFile::exists(filePath)) {
- QFileSelector selector;
- QSettings *settings = new QSettings(selector.select(filePath), QSettings::IniFormat);
- if (!group.isEmpty())
- settings->beginGroup(group);
- return QSharedPointer<QSettings>(settings);
- }
-#endif // QT_NO_SETTINGS
- return QSharedPointer<QSettings>();
-}
-
-#if QT_CONFIG(settings)
-static void readValue(const QSharedPointer<QSettings> &settings, const QString &name, std::function<void(const QVariant &)> setValue)
-{
- const QVariant var = settings->value(name);
- if (var.isValid())
- setValue(var);
-}
-
-template <typename Enum>
-static Enum toEnumValue(const QVariant &var)
-{
- // ### TODO: expose QFont enums to the meta object system using Q_ENUM
- //QMetaEnum enumeration = QMetaEnum::fromType<Enum>();
- //bool ok = false;
- //int value = enumeration.keyToValue(var.toByteArray(), &ok);
- //if (!ok)
- // value = var.toInt();
- //return static_cast<Enum>(value);
-
- return static_cast<Enum>(var.toInt());
-}
-
-const QFont *QQuickStylePrivate::readFont(const QSharedPointer<QSettings> &settings)
-{
- const QVariant var = settings->value(QStringLiteral("Font"));
- if (var.isValid())
- return new QFont(var.value<QFont>());
-
- QFont f;
- settings->beginGroup(QStringLiteral("Font"));
- readValue(settings, QStringLiteral("Family"), [&f](const QVariant &var) { f.setFamily(var.toString()); });
- readValue(settings, QStringLiteral("PointSize"), [&f](const QVariant &var) { f.setPointSizeF(var.toReal()); });
- readValue(settings, QStringLiteral("PixelSize"), [&f](const QVariant &var) { f.setPixelSize(var.toInt()); });
- readValue(settings, QStringLiteral("StyleHint"), [&f](const QVariant &var) { f.setStyleHint(toEnumValue<QFont::StyleHint>(var.toInt())); });
- readValue(settings, QStringLiteral("Weight"), [&f](const QVariant &var) { f.setWeight(toEnumValue<QFont::Weight>(var)); });
- readValue(settings, QStringLiteral("Style"), [&f](const QVariant &var) { f.setStyle(toEnumValue<QFont::Style>(var.toInt())); });
- settings->endGroup();
- return new QFont(f);
-}
-
-static void readColorGroup(const QSharedPointer<QSettings> &settings, QPalette::ColorGroup group, QPalette *palette)
-{
- const QStringList keys = settings->childKeys();
- if (keys.isEmpty())
- return;
-
- static const int index = QPalette::staticMetaObject.indexOfEnumerator("ColorRole");
- Q_ASSERT(index != -1);
- QMetaEnum metaEnum = QPalette::staticMetaObject.enumerator(index);
-
- for (const QString &key : keys) {
- bool ok = false;
- int role = metaEnum.keyToValue(key.toUtf8(), &ok);
- if (ok)
- palette->setColor(group, static_cast<QPalette::ColorRole>(role), settings->value(key).value<QColor>());
- }
-}
-
-const QPalette *QQuickStylePrivate::readPalette(const QSharedPointer<QSettings> &settings)
-{
- QPalette p;
- settings->beginGroup(QStringLiteral("Palette"));
- readColorGroup(settings, QPalette::All, &p);
-
- settings->beginGroup(QStringLiteral("Normal"));
- readColorGroup(settings, QPalette::Normal, &p);
- settings->endGroup();
-
- settings->beginGroup(QStringLiteral("Disabled"));
- readColorGroup(settings, QPalette::Disabled, &p);
- settings->endGroup();
- return new QPalette(p);
-}
-#endif // QT_CONFIG(settings)
-
-static bool qt_is_dark_system_theme()
-{
- if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) {
- if (const QPalette *systemPalette = theme->palette(QPlatformTheme::SystemPalette)) {
- const QColor textColor = systemPalette->color(QPalette::WindowText);
- return textColor.red() > 128 && textColor.blue() > 128 && textColor.green() > 128;
- }
- }
- return false;
-}
-
-bool QQuickStylePrivate::isDarkSystemTheme()
-{
- static bool dark = qt_is_dark_system_theme();
- return dark;
-}
-
-/*!
- Returns the name of the application style.
-
- \note The application style can be specified by passing a \c -style command
- line argument. Therefore \c name() may not return a fully resolved
- value if called before constructing a QGuiApplication.
-*/
-QString QQuickStyle::name()
-{
- return styleSpec()->name();
-}
-
-/*!
- Returns the path of an overridden application style, or an empty
- string if the style is one of the built-in Qt Quick Controls 2 styles.
-
- \note The application style can be specified by passing a \c -style command
- line argument. Therefore \c path() may not return a fully resolved
- value if called before constructing a QGuiApplication.
-*/
-QString QQuickStyle::path()
-{
- return styleSpec()->path();
-}
-
-/*!
- Sets the application style to \a style.
-
- \note The style must be configured \b before loading QML that imports Qt Quick Controls.
- It is not possible to change the style after the QML types have been registered.
-
- \sa setFallbackStyle(), {Using Styles in Qt Quick Controls}
-*/
-void QQuickStyle::setStyle(const QString &style)
-{
- if (QQmlMetaType::isModule(QStringLiteral("QtQuick.Controls"), 2, 0)) {
- qWarning() << "ERROR: QQuickStyle::setStyle() must be called before loading QML that imports Qt Quick Controls 2.";
- return;
- }
-
- styleSpec()->setStyle(style);
-}
-
-/*!
- \since 5.8
- Sets the application fallback style to \a style.
-
- \note The fallback style must be the name of one of the built-in Qt Quick Controls styles, e.g. "Material".
-
- \note The style must be configured \b before loading QML that imports Qt Quick Controls.
- It is not possible to change the style after the QML types have been registered.
-
- The fallback style can be also specified by setting the \c QT_QUICK_CONTROLS_FALLBACK_STYLE
- \l {Supported Environment Variables in Qt Quick Controls}{environment variable}.
-
- \sa setStyle(), {Using Styles in Qt Quick Controls}
-*/
-void QQuickStyle::setFallbackStyle(const QString &style)
-{
- if (QQmlMetaType::isModule(QStringLiteral("QtQuick.Controls"), 2, 0)) {
- qWarning() << "ERROR: QQuickStyle::setFallbackStyle() must be called before loading QML that imports Qt Quick Controls 2.";
- return;
- }
-
- styleSpec()->setFallbackStyle(style, "QQuickStyle::setFallbackStyle()");
-}
-
-/*!
- \since 5.9
- Returns the names of the available styles.
-
- \note The method must be called \b after creating an instance of QGuiApplication.
-
- \sa stylePathList(), addStylePath()
-*/
-QStringList QQuickStyle::availableStyles()
-{
- QStringList styles;
- if (!QGuiApplication::instance()) {
- qWarning() << "ERROR: QQuickStyle::availableStyles() must be called after creating an instance of QGuiApplication.";
- return styles;
- }
-
- const QStringList stylePaths = QQuickStylePrivate::stylePaths();
- for (const QString &path : stylePaths) {
- const QList<QFileInfo> entries = QDir(path).entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
- for (const QFileInfo &entry : entries) {
- const QString name = entry.fileName();
- if (!name.endsWith(QLatin1String(".dSYM")) && name != QLatin1String("designer"))
- styles += name;
- }
- }
- styles.prepend(QStringLiteral("Default"));
- styles.removeDuplicates();
- return styles;
-}
-
-/*!
- \since 5.12
-
- Returns the list of directories where Qt Quick Controls 2 searches for available styles.
-
- By default, the list contains paths specified in the \c QT_QUICK_CONTROLS_STYLE_PATH
- environment variable, and any existing \c QtQuick/Controls.2 sub-directories in
- \l QQmlEngine::importPathList().
-
- \sa addStylePath(), availableStyles()
-*/
-QStringList QQuickStyle::stylePathList()
-{
- return QQuickStylePrivate::stylePaths();
-}
-
-/*!
- \since 5.12
-
- Adds \a path as a directory where Qt Quick Controls 2 searches for available styles.
-
- The \a path may be any local filesystem directory or \l {The Qt Resource System}{Qt Resource} directory.
- For example, the following paths are all valid:
-
- \list
- \li \c {/path/to/styles/}
- \li \c {file:///path/to/styles/}
- \li \c {:/path/to/styles/}
- \li \c {qrc:/path/to/styles/})
- \endlist
-
- The \a path will be converted into \l {QDir::canonicalPath}{canonical form} before it is added to
- the style path list.
-
- The newly added \a path will be first in the stylePathList().
-
- \sa stylePathList(), availableStyles()
-*/
-void QQuickStyle::addStylePath(const QString &path)
-{
- if (path.isEmpty())
- return;
-
- const QUrl url = QUrl(path);
- if (url.isRelative() || url.scheme() == QLatin1String("file")
- || (url.scheme().length() == 1 && QFile::exists(path)) ) { // windows path
- styleSpec()->customStylePaths.prepend(QDir(path).canonicalPath());
- } else if (url.scheme() == QLatin1String("qrc")) {
- styleSpec()->customStylePaths.prepend(QLatin1Char(':') + url.path());
- } else {
- styleSpec()->customStylePaths.prepend(path);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickstyle.h b/src/quickcontrols2/qquickstyle.h
deleted file mode 100644
index ce55b76b..00000000
--- a/src/quickcontrols2/qquickstyle.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTYLE_H
-#define QQUICKSTYLE_H
-
-#include <QtCore/qurl.h>
-#include <QtCore/qstring.h>
-#include <QtQuickControls2/qtquickcontrols2global.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKCONTROLS2_EXPORT QQuickStyle
-{
-public:
- static QString name();
- static QString path();
- static void setStyle(const QString &style);
- static void setFallbackStyle(const QString &style);
- static QStringList availableStyles();
- static QStringList stylePathList();
- static void addStylePath(const QString &path);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTYLE_H
diff --git a/src/quickcontrols2/qquickstyle_p.h b/src/quickcontrols2/qquickstyle_p.h
deleted file mode 100644
index 205a4a11..00000000
--- a/src/quickcontrols2/qquickstyle_p.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTYLE_P_H
-#define QQUICKSTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qsharedpointer.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSettings;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickStylePrivate
-{
-public:
- static QStringList stylePaths(bool resolve = false);
- static QString fallbackStyle();
- static bool isCustomStyle();
- static void init(const QUrl &baseUrl);
- static void reset();
- static QString configFilePath();
- static QSharedPointer<QSettings> settings(const QString &group = QString());
- static const QFont *readFont(const QSharedPointer<QSettings> &settings);
- static const QPalette *readPalette(const QSharedPointer<QSettings> &settings);
- static bool isDarkSystemTheme();
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTYLE_P_H
diff --git a/src/quickcontrols2/qquickstyleplugin.cpp b/src/quickcontrols2/qquickstyleplugin.cpp
deleted file mode 100644
index 553a6cad..00000000
--- a/src/quickcontrols2/qquickstyleplugin.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstyleplugin_p.h"
-#include "qquickstyle.h"
-#include "qquickstyle_p.h"
-#include "qquickstyleselector_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickStylePluginPrivate
-{
-public:
- mutable QScopedPointer<QQuickStyleSelector> selector;
-};
-
-QQuickStylePlugin::QQuickStylePlugin(QObject *parent)
- : QQmlExtensionPlugin(parent), d_ptr(new QQuickStylePluginPrivate)
-{
-}
-
-QQuickStylePlugin::~QQuickStylePlugin()
-{
-}
-
-QString QQuickStylePlugin::name() const
-{
- return QString();
-}
-
-void QQuickStylePlugin::initializeTheme(QQuickTheme *theme)
-{
- Q_UNUSED(theme);
-}
-
-QUrl QQuickStylePlugin::resolvedUrl(const QString &fileName) const
-{
- Q_D(const QQuickStylePlugin);
- if (!d->selector) {
- d->selector.reset(new QQuickStyleSelector);
- const QString style = QQuickStyle::name();
- if (!style.isEmpty())
- d->selector->addSelector(style);
-
- const QString fallback = QQuickStylePrivate::fallbackStyle();
- if (!fallback.isEmpty() && fallback != style)
- d->selector->addSelector(fallback);
-
- const QString theme = name();
- if (!theme.isEmpty() && theme != style)
- d->selector->addSelector(theme);
-
- d->selector->setPaths(QQuickStylePrivate::stylePaths(true));
- }
- return d->selector->select(fileName);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickstyleplugin_p.h b/src/quickcontrols2/qquickstyleplugin_p.h
deleted file mode 100644
index 6b89926c..00000000
--- a/src/quickcontrols2/qquickstyleplugin_p.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTYLEPLUGIN_P_H
-#define QQUICKSTYLEPLUGIN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqmlextensionplugin.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTheme;
-class QQuickStylePluginPrivate;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickStylePlugin : public QQmlExtensionPlugin
-{
- Q_OBJECT
-
-public:
- explicit QQuickStylePlugin(QObject *parent = nullptr);
- ~QQuickStylePlugin();
-
- virtual QString name() const;
- virtual void initializeTheme(QQuickTheme *theme);
-
- QUrl resolvedUrl(const QString &fileName) const;
-
-private:
- Q_DISABLE_COPY(QQuickStylePlugin)
- Q_DECLARE_PRIVATE(QQuickStylePlugin)
- QScopedPointer<QQuickStylePluginPrivate> d_ptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTYLEPLUGIN_P_H
diff --git a/src/quickcontrols2/qquickstyleselector.cpp b/src/quickcontrols2/qquickstyleselector.cpp
deleted file mode 100644
index d11a95bd..00000000
--- a/src/quickcontrols2/qquickstyleselector.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2013 BlackBerry Limited. All rights reserved.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstyleselector_p.h"
-#include "qquickstyleselector_p_p.h"
-
-#include <QtCore/qfileinfo.h>
-#include <QtCore/qlocale.h>
-#include <QtCore/qloggingcategory.h>
-#include <QtCore/private/qfileselector_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcQtQuickControlsStyle, "qt.quick.controls.style")
-
-static QString ensureSlash(const QString &path)
-{
- if (path.isEmpty() || path.endsWith(QLatin1Char('/')))
- return path;
- return path + QLatin1Char('/');
-}
-
-static QStringList prefixedPlatformSelectors(const QChar &prefix)
-{
- QStringList selectors = QFileSelectorPrivate::platformSelectors();
- for (int i = 0; i < selectors.count(); ++i)
- selectors[i].prepend(prefix);
- return selectors;
-}
-
-static QStringList allSelectors()
-{
- static const QStringList platformSelectors = prefixedPlatformSelectors(QLatin1Char('+'));
- QStringList selectors = platformSelectors;
- const QString locale = QLocale().name();
- if (!locale.isEmpty())
- selectors += QLatin1Char('+') + locale;
- return selectors;
-}
-
-QUrl QQuickStyleSelectorPrivate::select(const QString &filePath) const
-{
- QFileInfo fi(filePath);
- // If file doesn't exist, don't select
- if (!fi.exists())
- return QUrl();
-
- const QString selected = QFileSelectorPrivate::selectionHelper(ensureSlash(fi.canonicalPath()),
- fi.fileName(), allSelectors(), QChar());
-
- if (selected.startsWith(QLatin1Char(':')))
- return QUrl(QLatin1String("qrc") + selected);
-
- return QUrl::fromLocalFile(selected.isEmpty() ? filePath : selected);
-}
-
-QQuickStyleSelector::QQuickStyleSelector() : d_ptr(new QQuickStyleSelectorPrivate)
-{
-}
-
-QQuickStyleSelector::~QQuickStyleSelector()
-{
-}
-
-QStringList QQuickStyleSelector::selectors() const
-{
- Q_D(const QQuickStyleSelector);
- return d->selectors;
-}
-
-void QQuickStyleSelector::addSelector(const QString &selector)
-{
- Q_D(QQuickStyleSelector);
- if (d->selectors.contains(selector))
- return;
-
- d->selectors += selector;
-}
-
-QStringList QQuickStyleSelector::paths() const
-{
- Q_D(const QQuickStyleSelector);
- return d->paths;
-}
-
-void QQuickStyleSelector::setPaths(const QStringList &paths)
-{
- Q_D(QQuickStyleSelector);
- d->paths = paths;
-}
-
-QUrl QQuickStyleSelector::select(const QString &fileName) const
-{
- Q_D(const QQuickStyleSelector);
- // The lookup order is
- // 1) requested style (e.g. "MyStyle", included in d->selectors)
- // 2) fallback style (e.g. "Material", included in d->selectors)
- // 3) default style (empty selector, not in d->selectors)
- qCDebug(lcQtQuickControlsStyle) << "selecting" << fileName << "from" << d->paths << "with selectors" << d->selectors;
-
- int to = d->selectors.count() - 1;
- if (d->selectors.isEmpty() || !d->selectors.first().isEmpty())
- ++to; // lookup #3 unless #1 is also empty (redundant)
-
- // NOTE: last iteration intentionally out of bounds => empty selector
- for (int i = 0; i <= to; ++i) {
- const QString selector = d->selectors.value(i);
- for (const QString &path : d->paths) {
- const QUrl selectedUrl = d->select(ensureSlash(path) + selector + QLatin1Char('/') + fileName);
- if (selectedUrl.isValid()) {
- qCDebug(lcQtQuickControlsStyle) << "==>" << selectedUrl << "from" << path << "with selector" << selector;
- return selectedUrl;
- }
- }
- }
-
- return fileName;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquickstyleselector_p.h b/src/quickcontrols2/qquickstyleselector_p.h
deleted file mode 100644
index c4c0f540..00000000
--- a/src/quickcontrols2/qquickstyleselector_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2013 BlackBerry Limited. All rights reserved.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTYLESELECTOR_P_H
-#define QQUICKSTYLESELECTOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickStyleSelectorPrivate;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickStyleSelector
-{
-public:
- QQuickStyleSelector();
- ~QQuickStyleSelector();
-
- QStringList selectors() const;
- void addSelector(const QString &selector);
-
- QStringList paths() const;
- void setPaths(const QStringList &paths);
-
- QUrl select(const QString &fileName) const;
-
-private:
- Q_DISABLE_COPY(QQuickStyleSelector)
- Q_DECLARE_PRIVATE(QQuickStyleSelector)
- QScopedPointer<QQuickStyleSelectorPrivate> d_ptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTYLESELECTOR_P_H
diff --git a/src/quickcontrols2/qquickstyleselector_p_p.h b/src/quickcontrols2/qquickstyleselector_p_p.h
deleted file mode 100644
index e69e7db2..00000000
--- a/src/quickcontrols2/qquickstyleselector_p_p.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2013 BlackBerry Limited. All rights reserved.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTYLESELECTOR_P_P_H
-#define QQUICKSTYLESELECTOR_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickControls2/private/qquickstyleselector_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickStyleSelectorPrivate
-{
-public:
- QUrl select(const QString &filePath) const;
-
- QStringList paths;
- QStringList selectors;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTYLESELECTOR_P_P_H
diff --git a/src/quickcontrols2/qquicktumblerview.cpp b/src/quickcontrols2/qquicktumblerview.cpp
deleted file mode 100644
index 5f5c065d..00000000
--- a/src/quickcontrols2/qquicktumblerview.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktumblerview_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquicklistview_p.h>
-#include <QtQuick/private/qquickpathview_p.h>
-
-#include <QtQuickTemplates2/private/qquicktumbler_p.h>
-#include <QtQuickTemplates2/private/qquicktumbler_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcTumblerView, "qt.quick.controls.tumblerview")
-
-QQuickTumblerView::QQuickTumblerView(QQuickItem *parent) :
- QQuickItem(parent)
-{
- // We don't call createView() here because we don't know what the wrap flag is set to
- // yet, and we don't want to create a view that might never get used.
-}
-
-QVariant QQuickTumblerView::model() const
-{
- return m_model;
-}
-
-void QQuickTumblerView::setModel(const QVariant &model)
-{
- qCDebug(lcTumblerView) << "setting model to:" << model << "on"
- << (m_pathView ? static_cast<QObject*>(m_pathView) : static_cast<QObject*>(m_listView));
- if (model == m_model)
- return;
-
- m_model = model;
-
- if (m_pathView) {
- m_pathView->setModel(m_model);
- } else if (m_listView) {
- // QQuickItemView::setModel() resets the current index,
- // but if we're still creating the Tumbler, it should be maintained.
- const int oldCurrentIndex = m_listView->currentIndex();
- m_listView->setModel(m_model);
- if (!isComponentComplete())
- m_listView->setCurrentIndex(oldCurrentIndex);
- }
-
- emit modelChanged();
-}
-
-QQmlComponent *QQuickTumblerView::delegate() const
-{
- return m_delegate;
-}
-
-void QQuickTumblerView::setDelegate(QQmlComponent *delegate)
-{
- qCDebug(lcTumblerView) << "setting delegate to:" << delegate << "on"
- << (m_pathView ? static_cast<QObject*>(m_pathView) : static_cast<QObject*>(m_listView));
- if (delegate == m_delegate)
- return;
-
- m_delegate = delegate;
-
- if (m_pathView)
- m_pathView->setDelegate(m_delegate);
- else if (m_listView)
- m_listView->setDelegate(m_delegate);
-
- emit delegateChanged();
-}
-
-QQuickPath *QQuickTumblerView::path() const
-{
- return m_path;
-}
-
-void QQuickTumblerView::setPath(QQuickPath *path)
-{
- if (path == m_path)
- return;
-
- m_path = path;
- emit pathChanged();
-}
-
-void QQuickTumblerView::createView()
-{
- Q_ASSERT(m_tumbler);
-
- // We create a view regardless of whether or not we know
- // the count yet, because we rely on the view to tell us the count.
- if (m_tumbler->wrap()) {
- if (m_listView) {
- // It's necessary to call deleteLater() rather than delete,
- // as this code is most likely being run in rensponse to a signal
- // emission somewhere in the list view's internals, so we need to
- // wait until that has finished.
- m_listView->deleteLater();
- QQml_setParent_noEvent(m_listView, nullptr);
- // The auto tests pass with unparenting the list view alone, but
- // just to be sure, we unset some other things as well.
- m_listView->setParentItem(nullptr);
- m_listView->setVisible(false);
- m_listView->setModel(QVariant());
- m_listView = nullptr;
- }
-
- if (!m_pathView) {
- qCDebug(lcTumblerView) << "creating PathView";
-
- m_pathView = new QQuickPathView;
- QQmlEngine::setContextForObject(m_pathView, qmlContext(this));
- QQml_setParent_noEvent(m_pathView, this);
- m_pathView->setParentItem(this);
- m_pathView->setPath(m_path);
- m_pathView->setDelegate(m_delegate);
- m_pathView->setPreferredHighlightBegin(0.5);
- m_pathView->setPreferredHighlightEnd(0.5);
- m_pathView->setHighlightMoveDuration(1000);
- m_pathView->setClip(true);
-
- // Give the view a size.
- updateView();
- // Set the model.
- updateModel();
-
- qCDebug(lcTumblerView) << "finished creating PathView";
- }
- } else {
- if (m_pathView) {
- m_pathView->deleteLater();
- QQml_setParent_noEvent(m_pathView, nullptr);
- m_pathView->setParentItem(nullptr);
- m_pathView->setVisible(false);
- m_pathView->setModel(QVariant());
- m_pathView = nullptr;
- }
-
- if (!m_listView) {
- qCDebug(lcTumblerView) << "creating ListView";
-
- m_listView = new QQuickListView;
- QQmlEngine::setContextForObject(m_listView, qmlContext(this));
- QQml_setParent_noEvent(m_listView, this);
- m_listView->setParentItem(this);
- m_listView->setSnapMode(QQuickListView::SnapToItem);
- m_listView->setHighlightRangeMode(QQuickListView::StrictlyEnforceRange);
- m_listView->setClip(true);
-
- // Give the view a size.
- updateView();
- // Set the model.
- updateModel();
-
- // Set these after the model is set so that the currentItem animation
- // happens instantly on startup/after switching models. If we set them too early,
- // the view animates any potential currentIndex change over one second,
- // which we don't want when the contentItem has just been created.
- m_listView->setDelegate(m_delegate);
- m_listView->setHighlightMoveDuration(1000);
-
- qCDebug(lcTumblerView) << "finished creating ListView";
- }
- }
-}
-
-// Called whenever the size or visibleItemCount changes.
-void QQuickTumblerView::updateView()
-{
- QQuickItem *theView = view();
- if (!theView)
- return;
-
- theView->setSize(QSizeF(width(), height()));
-
- // Can be called in geometryChanged when it might not have a parent item yet.
- if (!m_tumbler)
- return;
-
- // Set view-specific properties that have a dependency on the size, etc.
- if (m_pathView) {
- m_pathView->setPathItemCount(m_tumbler->visibleItemCount() + 1);
- m_pathView->setDragMargin(width() / 2);
- } else {
- m_listView->setPreferredHighlightBegin(height() / 2 - (height() / m_tumbler->visibleItemCount() / 2));
- m_listView->setPreferredHighlightEnd(height() / 2 + (height() / m_tumbler->visibleItemCount() / 2));
- }
-}
-
-void QQuickTumblerView::updateModel()
-{
- if (m_pathView && !m_pathView->model().isValid() && m_model.isValid()) {
- // QQuickPathView::setPathItemCount() resets the offset animation,
- // so we just skip the animation while constructing the view.
- const int oldHighlightMoveDuration = m_pathView->highlightMoveDuration();
- m_pathView->setHighlightMoveDuration(0);
-
- // Setting model can change the count, which can affect the wrap, which can cause
- // the current view to be deleted before setModel() is finished, which causes a crash.
- // Since QQuickTumbler can't know about QQuickTumblerView, we use its private API to
- // inform it that it should delay setting wrap.
- QQuickTumblerPrivate *tumblerPrivate = QQuickTumblerPrivate::get(m_tumbler);
- tumblerPrivate->beginSetModel();
- m_pathView->setModel(m_model);
- tumblerPrivate->endSetModel();
-
- // The count-depends-on-wrap behavior could cause wrap to change after
- // the call above, so we must check that we're still using a PathView.
- if (m_pathView)
- m_pathView->setHighlightMoveDuration(oldHighlightMoveDuration);
- } else if (m_listView && !m_listView->model().isValid() && m_model.isValid()) {
- const int currentIndex = m_tumbler->currentIndex();
- QQuickTumblerPrivate *tumblerPrivate = QQuickTumblerPrivate::get(m_tumbler);
-
- // setModel() causes QQuickTumblerPrivate::_q_onViewCountChanged() to
- // be called, which calls QQuickTumbler::setCurrentIndex(),
- // which results in QQuickItemViewPrivate::createHighlightItem() being
- // called. When the highlight item is created,
- // QQuickTumblerPrivate::itemChildAdded() is notified and
- // QQuickTumblerPrivate::_q_updateItemHeights() is called, which causes
- // a geometry change in the item and createHighlight() is called again.
- // However, since the highlight item hadn't been assigned yet in the
- // previous call frame, the "if (highlight) { delete highlight; }"
- // check doesn't succeed, so the item is never deleted.
- //
- // To avoid this, we tell QQuickTumblerPrivate to ignore signals while
- // setting the model, and manually call _q_onViewCountChanged() to
- // ensure the correct sequence of calls happens (_q_onViewCountChanged()
- // has to be within the ignoreSignals scope, because it also generates
- // recursion otherwise).
- tumblerPrivate->ignoreSignals = true;
- m_listView->setModel(m_model);
- m_listView->setCurrentIndex(currentIndex);
-
- tumblerPrivate->_q_onViewCountChanged();
- tumblerPrivate->ignoreSignals = false;
- }
-}
-
-void QQuickTumblerView::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- QQuickItem::geometryChanged(newGeometry, oldGeometry);
- updateView();
-}
-
-void QQuickTumblerView::componentComplete()
-{
- QQuickItem::componentComplete();
- updateView();
-}
-
-void QQuickTumblerView::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- QQuickItem::itemChange(change, data);
-
- if (change == QQuickItem::ItemParentHasChanged && data.item) {
- if (m_tumbler)
- m_tumbler->disconnect(this);
-
- m_tumbler = qobject_cast<QQuickTumbler*>(parentItem());
-
- if (m_tumbler) {
- // We assume that the parentChanged() signal of the tumbler will be emitted before its wrap property is set...
- connect(m_tumbler, &QQuickTumbler::wrapChanged, this, &QQuickTumblerView::createView);
- connect(m_tumbler, &QQuickTumbler::visibleItemCountChanged, this, &QQuickTumblerView::updateView);
- }
- }
-}
-
-QQuickItem *QQuickTumblerView::view()
-{
- if (!m_tumbler)
- return nullptr;
-
- if (m_tumbler->wrap())
- return m_pathView;
-
- return m_listView;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickcontrols2/qquicktumblerview_p.h b/src/quickcontrols2/qquicktumblerview_p.h
deleted file mode 100644
index 138af1b4..00000000
--- a/src/quickcontrols2/qquicktumblerview_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTUMBLERVIEW_P_H
-#define QQUICKTUMBLERVIEW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QQuickItem>
-#include <QtQuickControls2/private/qtquickcontrols2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickListView;
-class QQuickPath;
-class QQuickPathView;
-
-class QQuickTumbler;
-
-class Q_QUICKCONTROLS2_PRIVATE_EXPORT QQuickTumblerView : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
- Q_PROPERTY(QQuickPath *path READ path WRITE setPath NOTIFY pathChanged)
-
-public:
- QQuickTumblerView(QQuickItem *parent = nullptr);
-
- QVariant model() const;
- void setModel(const QVariant &model);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
- QQuickPath *path() const;
- void setPath(QQuickPath *path);
-
-Q_SIGNALS:
- void modelChanged();
- void delegateChanged();
- void pathChanged();
-
-protected:
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void componentComplete() override;
- void itemChange(ItemChange change, const ItemChangeData &data) override;
-
-private:
- QQuickItem *view();
- void createView();
- void updateView();
- void updateModel();
-
- void wrapChange();
-
- QQuickTumbler *m_tumbler = nullptr;
- QVariant m_model;
- QQmlComponent *m_delegate = nullptr;
- QQuickPathView *m_pathView = nullptr;
- QQuickListView *m_listView = nullptr;
- QQuickPath *m_path = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // TUMBLERVIEW_H
diff --git a/src/quickcontrols2/qtquickcontrols2global.h b/src/quickcontrols2/qtquickcontrols2global.h
deleted file mode 100644
index 813cdbbb..00000000
--- a/src/quickcontrols2/qtquickcontrols2global.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTQUICKCONTROLS2GLOBAL_H
-#define QTQUICKCONTROLS2GLOBAL_H
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_QUICKCONTROLS2_LIB)
-# define Q_QUICKCONTROLS2_EXPORT Q_DECL_EXPORT
-# else
-# define Q_QUICKCONTROLS2_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_QUICKCONTROLS2_EXPORT
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKCONTROLS2GLOBAL_H
diff --git a/src/quickcontrols2/qtquickcontrols2global_p.h b/src/quickcontrols2/qtquickcontrols2global_p.h
deleted file mode 100644
index 7a54849e..00000000
--- a/src/quickcontrols2/qtquickcontrols2global_p.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTQUICKCONTROLS2GLOBAL_P_H
-#define QTQUICKCONTROLS2GLOBAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickControls2/qtquickcontrols2global.h>
-#include <QtQuickControls2/private/qtquickcontrols2-config_p.h>
-
-#define Q_QUICKCONTROLS2_PRIVATE_EXPORT Q_QUICKCONTROLS2_EXPORT
-
-#endif // QTQUICKCONTROLS2GLOBAL_P_H
diff --git a/src/quickcontrols2/quickcontrols2.pri b/src/quickcontrols2/quickcontrols2.pri
deleted file mode 100644
index 781658ef..00000000
--- a/src/quickcontrols2/quickcontrols2.pri
+++ /dev/null
@@ -1,44 +0,0 @@
-HEADERS += \
- $$PWD/qquickanimatednode_p.h \
- $$PWD/qquickattachedobject_p.h \
- $$PWD/qquickchecklabel_p.h \
- $$PWD/qquickclippedtext_p.h \
- $$PWD/qquickcolor_p.h \
- $$PWD/qquickcolorimage_p.h \
- $$PWD/qquickiconimage_p.h \
- $$PWD/qquickiconimage_p_p.h \
- $$PWD/qquickiconlabel_p.h \
- $$PWD/qquickiconlabel_p_p.h \
- $$PWD/qquickitemgroup_p.h \
- $$PWD/qquickmnemoniclabel_p.h \
- $$PWD/qquickpaddedrectangle_p.h \
- $$PWD/qquickplaceholdertext_p.h \
- $$PWD/qquickstyle.h \
- $$PWD/qquickstyle_p.h \
- $$PWD/qquickstyleplugin_p.h \
- $$PWD/qquickstyleselector_p.h \
- $$PWD/qquickstyleselector_p_p.h
-
-SOURCES += \
- $$PWD/qquickanimatednode.cpp \
- $$PWD/qquickattachedobject.cpp \
- $$PWD/qquickchecklabel.cpp \
- $$PWD/qquickclippedtext.cpp \
- $$PWD/qquickcolor.cpp \
- $$PWD/qquickcolorimage.cpp \
- $$PWD/qquickiconimage.cpp \
- $$PWD/qquickiconlabel.cpp \
- $$PWD/qquickitemgroup.cpp \
- $$PWD/qquickmnemoniclabel.cpp \
- $$PWD/qquickpaddedrectangle.cpp \
- $$PWD/qquickplaceholdertext.cpp \
- $$PWD/qquickstyle.cpp \
- $$PWD/qquickstyleplugin.cpp \
- $$PWD/qquickstyleselector.cpp
-
-qtConfig(quick-listview):qtConfig(quick-pathview) {
- HEADERS += \
- $$PWD/qquicktumblerview_p.h
- SOURCES += \
- $$PWD/qquicktumblerview.cpp
-}
diff --git a/src/quickcontrols2/quickcontrols2.pro b/src/quickcontrols2/quickcontrols2.pro
deleted file mode 100644
index 8aec9953..00000000
--- a/src/quickcontrols2/quickcontrols2.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = QtQuickControls2
-MODULE = quickcontrols2
-
-QT += quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-HEADERS += \
- $$PWD/qtquickcontrols2global.h \
- $$PWD/qtquickcontrols2global_p.h
-
-include(quickcontrols2.pri)
-load(qt_module)
diff --git a/src/quicktemplates2/configure.json b/src/quicktemplates2/configure.json
deleted file mode 100644
index 030e668b..00000000
--- a/src/quicktemplates2/configure.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "module": "quicktemplates2",
-
- "features": {
- "quicktemplates2-hover": {
- "label": "Hover support",
- "purpose": "Provides support for hover effects.",
- "section": "Quick Templates 2",
- "output": [ "privateFeature" ]
- },
- "quicktemplates2-multitouch": {
- "label": "Multi-touch support",
- "purpose": "Provides support for multi-touch.",
- "section": "Quick Templates 2",
- "output": [ "privateFeature" ]
- }
- },
-
- "summary": [
- {
- "section": "Qt Quick Templates 2",
- "entries": [
- "quicktemplates2-hover",
- "quicktemplates2-multitouch"
- ]
- }
- ]
-}
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
deleted file mode 100644
index 2099f2db..00000000
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ /dev/null
@@ -1,1172 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickabstractbutton_p.h"
-#include "qquickabstractbutton_p_p.h"
-#include "qquickbuttongroup_p.h"
-#include "qquickaction_p.h"
-#include "qquickaction_p_p.h"
-#include "qquickshortcutcontext_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtGui/qstylehints.h>
-#include <QtGui/qguiapplication.h>
-#include <QtGui/private/qshortcutmap_p.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQuick/private/qquickevents_p_p.h>
-#include <QtQml/qqmllist.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype AbstractButton
- \inherits Control
- \instantiates QQuickAbstractButton
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-buttons
- \brief Abstract base type providing functionality common to buttons.
-
- AbstractButton provides the interface for controls with button-like
- behavior; for example, push buttons and checkable controls like
- radio buttons and check boxes. As an abstract control, it has no delegate
- implementations, leaving them to the types that derive from it.
-
- \sa ButtonGroup, {Button Controls}
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::AbstractButton::pressed()
-
- This signal is emitted when the button is interactively pressed by the user via touch, mouse, or keyboard.
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::AbstractButton::released()
-
- This signal is emitted when the button is interactively released by the user via touch, mouse, or keyboard.
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::AbstractButton::canceled()
-
- This signal is emitted when the button loses mouse grab
- while being pressed, or when it would emit the \l released
- signal but the mouse cursor is not inside the button.
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::AbstractButton::clicked()
-
- This signal is emitted when the button is interactively clicked by the user via touch, mouse, or keyboard.
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal QtQuick.Controls::AbstractButton::toggled()
-
- This signal is emitted when a checkable button is interactively toggled by the user via touch, mouse, or keyboard.
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::AbstractButton::pressAndHold()
-
- This signal is emitted when the button is interactively pressed and held down by the user via touch or mouse.
- It is not emitted when \l autoRepeat is enabled.
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::AbstractButton::doubleClicked()
-
- This signal is emitted when the button is interactively double clicked by the user via touch or mouse.
-*/
-
-void QQuickAbstractButtonPrivate::setPressPoint(const QPointF &point)
-{
- pressPoint = point;
- setMovePoint(point);
-}
-
-void QQuickAbstractButtonPrivate::setMovePoint(const QPointF &point)
-{
- Q_Q(QQuickAbstractButton);
- bool xChange = !qFuzzyCompare(point.x(), movePoint.x());
- bool yChange = !qFuzzyCompare(point.y(), movePoint.y());
- movePoint = point;
- if (xChange)
- emit q->pressXChanged();
- if (yChange)
- emit q->pressYChanged();
-}
-
-void QQuickAbstractButtonPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickAbstractButton);
- QQuickControlPrivate::handlePress(point);
- setPressPoint(point);
- q->setPressed(true);
-
- emit q->pressed();
-
- if (autoRepeat)
- startRepeatDelay();
- else if (touchId != -1 || Qt::LeftButton == (pressButtons & Qt::LeftButton))
- startPressAndHold();
- else
- stopPressAndHold();
-}
-
-void QQuickAbstractButtonPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickAbstractButton);
- QQuickControlPrivate::handleMove(point);
- setMovePoint(point);
- q->setPressed(keepPressed || q->contains(point));
-
- if (!pressed && autoRepeat)
- stopPressRepeat();
- else if (holdTimer > 0 && (!pressed || QLineF(pressPoint, point).length() > QGuiApplication::styleHints()->startDragDistance()))
- stopPressAndHold();
-}
-
-void QQuickAbstractButtonPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickAbstractButton);
- QQuickControlPrivate::handleRelease(point);
- bool wasPressed = pressed;
- setPressPoint(point);
- q->setPressed(false);
- pressButtons = Qt::NoButton;
-
- if (!wasHeld && (keepPressed || q->contains(point)))
- q->nextCheckState();
-
- if (wasPressed) {
- emit q->released();
- if (!wasHeld)
- trigger();
- } else {
- emit q->canceled();
- }
-
- if (autoRepeat)
- stopPressRepeat();
- else
- stopPressAndHold();
-}
-
-void QQuickAbstractButtonPrivate::handleUngrab()
-{
- Q_Q(QQuickAbstractButton);
- QQuickControlPrivate::handleUngrab();
- pressButtons = Qt::NoButton;
- if (!pressed)
- return;
-
- q->setPressed(false);
- stopPressRepeat();
- stopPressAndHold();
- emit q->canceled();
-}
-
-bool QQuickAbstractButtonPrivate::acceptKeyClick(Qt::Key key) const
-{
- return key == Qt::Key_Space;
-}
-
-bool QQuickAbstractButtonPrivate::isPressAndHoldConnected()
-{
- Q_Q(QQuickAbstractButton);
- const auto signal = &QQuickAbstractButton::pressAndHold;
- const QMetaMethod method = QMetaMethod::fromSignal(signal);
- return q->isSignalConnected(method);
-}
-
-void QQuickAbstractButtonPrivate::startPressAndHold()
-{
- Q_Q(QQuickAbstractButton);
- wasHeld = false;
- stopPressAndHold();
- if (isPressAndHoldConnected())
- holdTimer = q->startTimer(QGuiApplication::styleHints()->mousePressAndHoldInterval());
-}
-
-void QQuickAbstractButtonPrivate::stopPressAndHold()
-{
- Q_Q(QQuickAbstractButton);
- if (holdTimer > 0) {
- q->killTimer(holdTimer);
- holdTimer = 0;
- }
-}
-
-void QQuickAbstractButtonPrivate::startRepeatDelay()
-{
- Q_Q(QQuickAbstractButton);
- stopPressRepeat();
- delayTimer = q->startTimer(repeatDelay);
-}
-
-void QQuickAbstractButtonPrivate::startPressRepeat()
-{
- Q_Q(QQuickAbstractButton);
- stopPressRepeat();
- repeatTimer = q->startTimer(repeatInterval);
-}
-
-void QQuickAbstractButtonPrivate::stopPressRepeat()
-{
- Q_Q(QQuickAbstractButton);
- if (delayTimer > 0) {
- q->killTimer(delayTimer);
- delayTimer = 0;
- }
- if (repeatTimer > 0) {
- q->killTimer(repeatTimer);
- repeatTimer = 0;
- }
-}
-
-#if QT_CONFIG(shortcut)
-void QQuickAbstractButtonPrivate::grabShortcut()
-{
- Q_Q(QQuickAbstractButton);
- if (shortcut.isEmpty())
- return;
-
- shortcutId = QGuiApplicationPrivate::instance()->shortcutMap.addShortcut(q, shortcut, Qt::WindowShortcut, QQuickShortcutContext::matcher);
-
- if (!q->isEnabled())
- QGuiApplicationPrivate::instance()->shortcutMap.setShortcutEnabled(false, shortcutId, q);
-}
-
-void QQuickAbstractButtonPrivate::ungrabShortcut()
-{
- Q_Q(QQuickAbstractButton);
- if (!shortcutId)
- return;
-
- QGuiApplicationPrivate::instance()->shortcutMap.removeShortcut(shortcutId, q);
- shortcutId = 0;
-}
-#endif
-
-void QQuickAbstractButtonPrivate::actionTextChange()
-{
- Q_Q(QQuickAbstractButton);
- if (explicitText)
- return;
-
- q->buttonChange(QQuickAbstractButton::ButtonTextChange);
-}
-
-void QQuickAbstractButtonPrivate::setText(const QString &newText, bool isExplicit)
-{
- Q_Q(QQuickAbstractButton);
- const QString oldText = q->text();
- explicitText = isExplicit;
- text = newText;
- if (oldText == q->text())
- return;
-
- q->buttonChange(QQuickAbstractButton::ButtonTextChange);
-}
-
-void QQuickAbstractButtonPrivate::updateEffectiveIcon()
-{
- Q_Q(QQuickAbstractButton);
- // We store effectiveIcon because we need to be able to tell if the icon has actually changed.
- // If we only stored our icon and the action's icon, and resolved in the getter, we'd have
- // no way of knowing what the old value was here. As an added benefit, we only resolve when
- // something has changed, as opposed to doing it unconditionally in the icon() getter.
- const QQuickIcon newEffectiveIcon = action ? icon.resolve(action->icon()) : icon;
- if (newEffectiveIcon == effectiveIcon)
- return;
-
- effectiveIcon = newEffectiveIcon;
- emit q->iconChanged();
-}
-
-void QQuickAbstractButtonPrivate::click()
-{
- Q_Q(QQuickAbstractButton);
- if (effectiveEnable)
- emit q->clicked();
-}
-
-void QQuickAbstractButtonPrivate::trigger()
-{
- Q_Q(QQuickAbstractButton);
- const bool wasEnabled = effectiveEnable;
- if (action && action->isEnabled())
- QQuickActionPrivate::get(action)->trigger(q, false);
- if (wasEnabled && (!action || !action->isEnabled()))
- emit q->clicked();
-}
-
-void QQuickAbstractButtonPrivate::toggle(bool value)
-{
- Q_Q(QQuickAbstractButton);
- const bool wasChecked = checked;
- q->setChecked(value);
- if (wasChecked != checked)
- emit q->toggled();
-}
-
-static inline QString indicatorName() { return QStringLiteral("indicator"); }
-
-void QQuickAbstractButtonPrivate::cancelIndicator()
-{
- Q_Q(QQuickAbstractButton);
- quickCancelDeferred(q, indicatorName());
-}
-
-void QQuickAbstractButtonPrivate::executeIndicator(bool complete)
-{
- Q_Q(QQuickAbstractButton);
- if (indicator.wasExecuted())
- return;
-
- if (!indicator || complete)
- quickBeginDeferred(q, indicatorName(), indicator);
- if (complete)
- quickCompleteDeferred(q, indicatorName(), indicator);
-}
-
-void QQuickAbstractButtonPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickAbstractButton);
- QQuickControlPrivate::itemImplicitWidthChanged(item);
- if (item == indicator)
- emit q->implicitIndicatorWidthChanged();
-}
-
-void QQuickAbstractButtonPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickAbstractButton);
- QQuickControlPrivate::itemImplicitHeightChanged(item);
- if (item == indicator)
- emit q->implicitIndicatorHeightChanged();
-}
-
-QQuickAbstractButton *QQuickAbstractButtonPrivate::findCheckedButton() const
-{
- Q_Q(const QQuickAbstractButton);
- if (group)
- return qobject_cast<QQuickAbstractButton *>(group->checkedButton());
-
- const QList<QQuickAbstractButton *> buttons = findExclusiveButtons();
- // TODO: A singular QRadioButton can be unchecked, which seems logical,
- // because there's nothing to be exclusive with. However, a RadioButton
- // from QtQuick.Controls 1.x can never be unchecked, which is the behavior
- // that QQuickRadioButton adopted. Uncommenting the following count check
- // gives the QRadioButton behavior. Notice that tst_radiobutton.qml needs
- // to be updated.
- if (!autoExclusive /*|| buttons.count() == 1*/)
- return nullptr;
-
- for (QQuickAbstractButton *button : buttons) {
- if (button->isChecked() && button != q)
- return button;
- }
- return checked ? const_cast<QQuickAbstractButton *>(q) : nullptr;
-}
-
-QList<QQuickAbstractButton *> QQuickAbstractButtonPrivate::findExclusiveButtons() const
-{
- QList<QQuickAbstractButton *> buttons;
- if (group) {
- QQmlListProperty<QQuickAbstractButton> groupButtons = group->buttons();
- int count = groupButtons.count(&groupButtons);
- for (int i = 0; i < count; ++i) {
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(groupButtons.at(&groupButtons, i));
- if (button)
- buttons += button;
- }
- } else if (parentItem) {
- const auto childItems = parentItem->childItems();
- for (QQuickItem *child : childItems) {
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(child);
- if (button && button->autoExclusive() && !QQuickAbstractButtonPrivate::get(button)->group)
- buttons += button;
- }
- }
- return buttons;
-}
-
-QQuickAbstractButton::QQuickAbstractButton(QQuickItem *parent)
- : QQuickControl(*(new QQuickAbstractButtonPrivate), parent)
-{
- setActiveFocusOnTab(true);
- setFocusPolicy(Qt::StrongFocus);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-QQuickAbstractButton::QQuickAbstractButton(QQuickAbstractButtonPrivate &dd, QQuickItem *parent)
- : QQuickControl(dd, parent)
-{
- setActiveFocusOnTab(true);
- setFocusPolicy(Qt::StrongFocus);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-QQuickAbstractButton::~QQuickAbstractButton()
-{
- Q_D(QQuickAbstractButton);
- d->removeImplicitSizeListener(d->indicator);
- if (d->group)
- d->group->removeButton(this);
-#if QT_CONFIG(shortcut)
- d->ungrabShortcut();
-#endif
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::AbstractButton::text
-
- This property holds a textual description of the button.
-
- \note The text is used for accessibility purposes, so it makes sense to
- set a textual description even if the content item is an image.
-
- \sa icon, display, {Control::contentItem}{contentItem}
-*/
-QString QQuickAbstractButton::text() const
-{
- Q_D(const QQuickAbstractButton);
- return d->explicitText || !d->action ? d->text : d->action->text();
-}
-
-void QQuickAbstractButton::setText(const QString &text)
-{
- Q_D(QQuickAbstractButton);
- d->setText(text, true);
-}
-
-void QQuickAbstractButton::resetText()
-{
- Q_D(QQuickAbstractButton);
- d->setText(QString(), false);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::AbstractButton::down
-
- This property holds whether the button is visually down.
-
- Unless explicitly set, this property follows the value of \l pressed. To
- return to the default value, set this property to \c undefined.
-
- \sa pressed
-*/
-bool QQuickAbstractButton::isDown() const
-{
- Q_D(const QQuickAbstractButton);
- return d->down;
-}
-
-void QQuickAbstractButton::setDown(bool down)
-{
- Q_D(QQuickAbstractButton);
- d->explicitDown = true;
-
- if (d->down == down)
- return;
-
- d->down = down;
- emit downChanged();
-}
-
-void QQuickAbstractButton::resetDown()
-{
- Q_D(QQuickAbstractButton);
- if (!d->explicitDown)
- return;
-
- setDown(d->pressed);
- d->explicitDown = false;
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::AbstractButton::pressed
- \readonly
-
- This property holds whether the button is physically pressed. A button can
- be pressed by either touch or key events.
-
- \sa down
-*/
-bool QQuickAbstractButton::isPressed() const
-{
- Q_D(const QQuickAbstractButton);
- return d->pressed;
-}
-
-void QQuickAbstractButton::setPressed(bool isPressed)
-{
- Q_D(QQuickAbstractButton);
- if (d->pressed == isPressed)
- return;
-
- d->pressed = isPressed;
- setAccessibleProperty("pressed", isPressed);
- emit pressedChanged();
- buttonChange(ButtonPressedChanged);
-
- if (!d->explicitDown) {
- setDown(d->pressed);
- d->explicitDown = false;
- }
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::AbstractButton::checked
-
- This property holds whether the button is checked.
-
- \sa checkable
-*/
-bool QQuickAbstractButton::isChecked() const
-{
- Q_D(const QQuickAbstractButton);
- return d->checked;
-}
-
-void QQuickAbstractButton::setChecked(bool checked)
-{
- Q_D(QQuickAbstractButton);
- if (d->checked == checked)
- return;
-
- if (checked && !d->checkable)
- setCheckable(true);
-
- d->checked = checked;
- if (d->action)
- d->action->setChecked(checked);
- setAccessibleProperty("checked", checked);
- buttonChange(ButtonCheckedChange);
- emit checkedChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::AbstractButton::checkable
-
- This property holds whether the button is checkable.
-
- A checkable button toggles between checked (on) and unchecked (off) when
- the user clicks on it or presses the space bar while the button has active
- focus.
-
- Setting \l checked to \c true forces this property to \c true.
-
- The default value is \c false.
-
- \sa checked
-*/
-bool QQuickAbstractButton::isCheckable() const
-{
- Q_D(const QQuickAbstractButton);
- return d->checkable;
-}
-
-void QQuickAbstractButton::setCheckable(bool checkable)
-{
- Q_D(QQuickAbstractButton);
- if (d->checkable == checkable)
- return;
-
- d->checkable = checkable;
- if (d->action)
- d->action->setCheckable(checkable);
- setAccessibleProperty("checkable", checkable);
- buttonChange(ButtonCheckableChange);
- emit checkableChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::AbstractButton::autoExclusive
-
- This property holds whether auto-exclusivity is enabled.
-
- If auto-exclusivity is enabled, checkable buttons that belong to the same
- parent item behave as if they were part of the same ButtonGroup. Only
- one button can be checked at any time; checking another button automatically
- unchecks the previously checked one.
-
- \note The property has no effect on buttons that belong to a ButtonGroup.
-
- RadioButton and TabButton are auto-exclusive by default.
-*/
-bool QQuickAbstractButton::autoExclusive() const
-{
- Q_D(const QQuickAbstractButton);
- return d->autoExclusive;
-}
-
-void QQuickAbstractButton::setAutoExclusive(bool exclusive)
-{
- Q_D(QQuickAbstractButton);
- if (d->autoExclusive == exclusive)
- return;
-
- d->autoExclusive = exclusive;
- emit autoExclusiveChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::AbstractButton::autoRepeat
-
- This property holds whether the button repeats \l pressed(), \l released()
- and \l clicked() signals while the button is pressed and held down.
-
- If this property is set to \c true, the \l pressAndHold() signal will not
- be emitted.
-
- The default value is \c false.
-
- The initial delay and the repetition interval are defined in milliseconds
- by \l autoRepeatDelay and \l autoRepeatInterval.
-*/
-bool QQuickAbstractButton::autoRepeat() const
-{
- Q_D(const QQuickAbstractButton);
- return d->autoRepeat;
-}
-
-void QQuickAbstractButton::setAutoRepeat(bool repeat)
-{
- Q_D(QQuickAbstractButton);
- if (d->autoRepeat == repeat)
- return;
-
- d->stopPressRepeat();
- d->autoRepeat = repeat;
- emit autoRepeatChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::AbstractButton::indicator
-
- This property holds the indicator item.
-*/
-QQuickItem *QQuickAbstractButton::indicator() const
-{
- QQuickAbstractButtonPrivate *d = const_cast<QQuickAbstractButtonPrivate *>(d_func());
- if (!d->indicator)
- d->executeIndicator();
- return d->indicator;
-}
-
-void QQuickAbstractButton::setIndicator(QQuickItem *indicator)
-{
- Q_D(QQuickAbstractButton);
- if (d->indicator == indicator)
- return;
-
- if (!d->indicator.isExecuting())
- d->cancelIndicator();
-
- const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
- const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
-
- d->removeImplicitSizeListener(d->indicator);
- delete d->indicator;
- d->indicator = indicator;
-
- if (indicator) {
- if (!indicator->parentItem())
- indicator->setParentItem(this);
- indicator->setAcceptedMouseButtons(Qt::LeftButton);
- d->addImplicitSizeListener(indicator);
- }
-
- if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
- emit implicitIndicatorWidthChanged();
- if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
- emit implicitIndicatorHeightChanged();
- if (!d->indicator.isExecuting())
- emit indicatorChanged();
-}
-
-/*!
- \qmlpropertygroup QtQuick.Controls::AbstractButton::icon
- \qmlproperty string QtQuick.Controls::AbstractButton::icon.name
- \qmlproperty url QtQuick.Controls::AbstractButton::icon.source
- \qmlproperty int QtQuick.Controls::AbstractButton::icon.width
- \qmlproperty int QtQuick.Controls::AbstractButton::icon.height
- \qmlproperty color QtQuick.Controls::AbstractButton::icon.color
-
- This property group was added in QtQuick.Controls 2.3.
-
- \include qquickicon.qdocinc grouped-properties
-
- \sa text, display, {Icons in Qt Quick Controls}
-*/
-
-QQuickIcon QQuickAbstractButton::icon() const
-{
- Q_D(const QQuickAbstractButton);
- return d->effectiveIcon;
-}
-
-void QQuickAbstractButton::setIcon(const QQuickIcon &icon)
-{
- Q_D(QQuickAbstractButton);
- d->icon = icon;
- d->updateEffectiveIcon();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty enumeration QtQuick.Controls::AbstractButton::display
-
- This property determines how the \l icon and \l text are displayed within
- the button.
-
- \table
- \header \li Display \li Result
- \row \li \c AbstractButton.IconOnly \li \image qtquickcontrols2-button-icononly.png
- \row \li \c AbstractButton.TextOnly \li \image qtquickcontrols2-button-textonly.png
- \row \li \c AbstractButton.TextBesideIcon \li \image qtquickcontrols2-button-textbesideicon.png
- \row \li \c AbstractButton.TextUnderIcon \li \image qtquickcontrols2-button-textundericon.png
- \endtable
-
- \sa {Control::}{spacing}, {Control::}{padding}
-*/
-QQuickAbstractButton::Display QQuickAbstractButton::display() const
-{
- Q_D(const QQuickAbstractButton);
- return d->display;
-}
-
-void QQuickAbstractButton::setDisplay(Display display)
-{
- Q_D(QQuickAbstractButton);
- if (display == d->display)
- return;
-
- d->display = display;
- emit displayChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty Action QtQuick.Controls::AbstractButton::action
-
- This property holds the button action.
-
- \sa Action
-*/
-QQuickAction *QQuickAbstractButton::action() const
-{
- Q_D(const QQuickAbstractButton);
- return d->action;
-}
-
-void QQuickAbstractButton::setAction(QQuickAction *action)
-{
- Q_D(QQuickAbstractButton);
- if (d->action == action)
- return;
-
- const QString oldText = text();
-
- if (QQuickAction *oldAction = d->action.data()) {
- QQuickActionPrivate::get(oldAction)->unregisterItem(this);
- QObjectPrivate::disconnect(oldAction, &QQuickAction::triggered, d, &QQuickAbstractButtonPrivate::click);
- QObjectPrivate::disconnect(oldAction, &QQuickAction::textChanged, d, &QQuickAbstractButtonPrivate::actionTextChange);
-
- QObjectPrivate::disconnect(oldAction, &QQuickAction::iconChanged, d, &QQuickAbstractButtonPrivate::updateEffectiveIcon);
- disconnect(oldAction, &QQuickAction::checkedChanged, this, &QQuickAbstractButton::setChecked);
- disconnect(oldAction, &QQuickAction::checkableChanged, this, &QQuickAbstractButton::setCheckable);
- disconnect(oldAction, &QQuickAction::enabledChanged, this, &QQuickItem::setEnabled);
- }
-
- if (action) {
- QQuickActionPrivate::get(action)->registerItem(this);
- QObjectPrivate::connect(action, &QQuickAction::triggered, d, &QQuickAbstractButtonPrivate::click);
- QObjectPrivate::connect(action, &QQuickAction::textChanged, d, &QQuickAbstractButtonPrivate::actionTextChange);
-
- QObjectPrivate::connect(action, &QQuickAction::iconChanged, d, &QQuickAbstractButtonPrivate::updateEffectiveIcon);
- connect(action, &QQuickAction::checkedChanged, this, &QQuickAbstractButton::setChecked);
- connect(action, &QQuickAction::checkableChanged, this, &QQuickAbstractButton::setCheckable);
- connect(action, &QQuickAction::enabledChanged, this, &QQuickItem::setEnabled);
-
- setChecked(action->isChecked());
- setCheckable(action->isCheckable());
- setEnabled(action->isEnabled());
- }
-
- d->action = action;
-
- if (oldText != text())
- buttonChange(ButtonTextChange);
-
- d->updateEffectiveIcon();
-
- emit actionChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty int QtQuick.Controls::AbstractButton::autoRepeatDelay
-
- This property holds the initial delay of auto-repetition in milliseconds.
- The default value is \c 300 ms.
-
- \sa autoRepeat, autoRepeatInterval
-*/
-int QQuickAbstractButton::autoRepeatDelay() const
-{
- Q_D(const QQuickAbstractButton);
- return d->repeatDelay;
-}
-
-void QQuickAbstractButton::setAutoRepeatDelay(int delay)
-{
- Q_D(QQuickAbstractButton);
- if (d->repeatDelay == delay)
- return;
-
- d->repeatDelay = delay;
- emit autoRepeatDelayChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty int QtQuick.Controls::AbstractButton::autoRepeatInterval
-
- This property holds the interval of auto-repetition in milliseconds.
- The default value is \c 100 ms.
-
- \sa autoRepeat, autoRepeatDelay
-*/
-int QQuickAbstractButton::autoRepeatInterval() const
-{
- Q_D(const QQuickAbstractButton);
- return d->repeatInterval;
-}
-
-void QQuickAbstractButton::setAutoRepeatInterval(int interval)
-{
- Q_D(QQuickAbstractButton);
- if (d->repeatInterval == interval)
- return;
-
- d->repeatInterval = interval;
- emit autoRepeatIntervalChanged();
-}
-
-#if QT_CONFIG(shortcut)
-QKeySequence QQuickAbstractButton::shortcut() const
-{
- Q_D(const QQuickAbstractButton);
- return d->shortcut;
-}
-
-void QQuickAbstractButton::setShortcut(const QKeySequence &shortcut)
-{
- Q_D(QQuickAbstractButton);
- if (d->shortcut == shortcut)
- return;
-
- d->ungrabShortcut();
- d->shortcut = shortcut;
- if (isVisible())
- d->grabShortcut();
-}
-#endif
-
-/*!
- \readonly
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::AbstractButton::pressX
-
- This property holds the x-coordinate of the last press.
-
- \note The value is updated on touch moves, but left intact after touch release.
-
- \sa pressY
-*/
-qreal QQuickAbstractButton::pressX() const
-{
- Q_D(const QQuickAbstractButton);
- return d->movePoint.x();
-}
-
-/*!
- \readonly
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::AbstractButton::pressY
-
- This property holds the y-coordinate of the last press.
-
- \note The value is updated on touch moves, but left intact after touch release.
-
- \sa pressX
-*/
-qreal QQuickAbstractButton::pressY() const
-{
- Q_D(const QQuickAbstractButton);
- return d->movePoint.y();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::AbstractButton::implicitIndicatorWidth
- \readonly
-
- This property holds the implicit indicator width.
-
- The value is equal to \c {indicator ? indicator.implicitWidth : 0}.
-
- This is typically used, together with \l {Control::}{implicitContentWidth} and
- \l {Control::}{implicitBackgroundWidth}, to calculate the \l {Item::}{implicitWidth}.
-
- \sa implicitIndicatorHeight
-*/
-qreal QQuickAbstractButton::implicitIndicatorWidth() const
-{
- Q_D(const QQuickAbstractButton);
- if (!d->indicator)
- return 0;
- return d->indicator->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::AbstractButton::implicitIndicatorHeight
- \readonly
-
- This property holds the implicit indicator height.
-
- The value is equal to \c {indicator ? indicator.implicitHeight : 0}.
-
- This is typically used, together with \l {Control::}{implicitContentHeight} and
- \l {Control::}{implicitBackgroundHeight}, to calculate the \l {Item::}{implicitHeight}.
-
- \sa implicitIndicatorWidth
-*/
-qreal QQuickAbstractButton::implicitIndicatorHeight() const
-{
- Q_D(const QQuickAbstractButton);
- if (!d->indicator)
- return 0;
- return d->indicator->implicitHeight();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::AbstractButton::toggle()
-
- Toggles the checked state of the button.
-*/
-void QQuickAbstractButton::toggle()
-{
- Q_D(QQuickAbstractButton);
- setChecked(!d->checked);
-}
-
-void QQuickAbstractButton::componentComplete()
-{
- Q_D(QQuickAbstractButton);
- d->executeIndicator(true);
- QQuickControl::componentComplete();
-}
-
-bool QQuickAbstractButton::event(QEvent *event)
-{
- Q_D(QQuickAbstractButton);
-#if QT_CONFIG(shortcut)
- if (event->type() == QEvent::Shortcut) {
- QShortcutEvent *se = static_cast<QShortcutEvent *>(event);
- if (se->shortcutId() == d->shortcutId) {
- d->trigger();
- return true;
- }
- }
-#endif
- return QQuickControl::event(event);
-}
-
-void QQuickAbstractButton::focusOutEvent(QFocusEvent *event)
-{
- Q_D(QQuickAbstractButton);
- QQuickControl::focusOutEvent(event);
- if (d->touchId == -1) // don't ungrab on multi-touch if another control gets focused
- d->handleUngrab();
-}
-
-void QQuickAbstractButton::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickAbstractButton);
- QQuickControl::keyPressEvent(event);
- if (d->acceptKeyClick(static_cast<Qt::Key>(event->key()))) {
- d->setPressPoint(QPoint(qRound(width() / 2), qRound(height() / 2)));
- setPressed(true);
-
- if (d->autoRepeat)
- d->startRepeatDelay();
-
- emit pressed();
- event->accept();
- }
-}
-
-void QQuickAbstractButton::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickAbstractButton);
- QQuickControl::keyReleaseEvent(event);
- if (d->acceptKeyClick(static_cast<Qt::Key>(event->key()))) {
- setPressed(false);
-
- nextCheckState();
- emit released();
- d->trigger();
-
- if (d->autoRepeat)
- d->stopPressRepeat();
- event->accept();
- }
-}
-
-void QQuickAbstractButton::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickAbstractButton);
- d->pressButtons = event->buttons();
- QQuickControl::mousePressEvent(event);
-}
-
-void QQuickAbstractButton::mouseDoubleClickEvent(QMouseEvent *event)
-{
- QQuickControl::mouseDoubleClickEvent(event);
- emit doubleClicked();
-}
-
-void QQuickAbstractButton::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickAbstractButton);
- QQuickControl::timerEvent(event);
- if (event->timerId() == d->holdTimer) {
- d->stopPressAndHold();
- d->wasHeld = true;
- emit pressAndHold();
- } else if (event->timerId() == d->delayTimer) {
- d->startPressRepeat();
- } else if (event->timerId() == d->repeatTimer) {
- emit released();
- d->trigger();
- emit pressed();
- }
-}
-
-void QQuickAbstractButton::itemChange(ItemChange change, const ItemChangeData &value)
-{
- Q_D(QQuickAbstractButton);
- QQuickControl::itemChange(change, value);
-#if QT_CONFIG(shortcut)
- if (change == ItemVisibleHasChanged) {
- if (value.boolValue)
- d->grabShortcut();
- else
- d->ungrabShortcut();
- }
-#endif
-}
-
-void QQuickAbstractButton::buttonChange(ButtonChange change)
-{
- Q_D(QQuickAbstractButton);
- switch (change) {
- case ButtonCheckedChange:
- if (d->checked) {
- QQuickAbstractButton *button = d->findCheckedButton();
- if (button && button != this)
- button->setChecked(false);
- }
- break;
- case ButtonTextChange: {
- const QString txt = text();
- setAccessibleName(txt);
-#if QT_CONFIG(shortcut)
- setShortcut(QKeySequence::mnemonic(txt));
-#endif
- emit textChanged();
- break;
- }
- default:
- break;
- }
-}
-
-void QQuickAbstractButton::nextCheckState()
-{
- Q_D(QQuickAbstractButton);
- if (d->checkable && (!d->checked || d->findCheckedButton() != this))
- d->toggle(!d->checked);
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickAbstractButton::accessibilityActiveChanged(bool active)
-{
- QQuickControl::accessibilityActiveChanged(active);
-
- Q_D(QQuickAbstractButton);
- if (active) {
- setAccessibleName(text());
- setAccessibleProperty("pressed", d->pressed);
- setAccessibleProperty("checked", d->checked);
- setAccessibleProperty("checkable", d->checkable);
- }
-}
-
-QAccessible::Role QQuickAbstractButton::accessibleRole() const
-{
- Q_D(const QQuickAbstractButton);
- if (d->checkable) {
- return QAccessible::CheckBox;
- }
- return QAccessible::Button;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickabstractbutton_p.h b/src/quicktemplates2/qquickabstractbutton_p.h
deleted file mode 100644
index 0fa48980..00000000
--- a/src/quicktemplates2/qquickabstractbutton_p.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKABSTRACTBUTTON_P_H
-#define QQUICKABSTRACTBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQuickTemplates2/private/qquickicon_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAction;
-class QQuickAbstractButtonPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickAbstractButton : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText RESET resetText NOTIFY textChanged FINAL)
- Q_PROPERTY(bool down READ isDown WRITE setDown NOTIFY downChanged RESET resetDown FINAL)
- Q_PROPERTY(bool pressed READ isPressed NOTIFY pressedChanged FINAL)
- Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY checkedChanged FINAL)
- Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable NOTIFY checkableChanged FINAL)
- Q_PROPERTY(bool autoExclusive READ autoExclusive WRITE setAutoExclusive NOTIFY autoExclusiveChanged FINAL)
- Q_PROPERTY(bool autoRepeat READ autoRepeat WRITE setAutoRepeat NOTIFY autoRepeatChanged FINAL)
- Q_PROPERTY(QQuickItem *indicator READ indicator WRITE setIndicator NOTIFY indicatorChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QQuickIcon icon READ icon WRITE setIcon NOTIFY iconChanged FINAL REVISION 3)
- Q_PROPERTY(Display display READ display WRITE setDisplay NOTIFY displayChanged FINAL REVISION 3)
- Q_PROPERTY(QQuickAction *action READ action WRITE setAction NOTIFY actionChanged FINAL REVISION 3)
- // 2.4 (Qt 5.11)
- Q_PROPERTY(int autoRepeatDelay READ autoRepeatDelay WRITE setAutoRepeatDelay NOTIFY autoRepeatDelayChanged FINAL REVISION 4)
- Q_PROPERTY(int autoRepeatInterval READ autoRepeatInterval WRITE setAutoRepeatInterval NOTIFY autoRepeatIntervalChanged FINAL REVISION 4)
- Q_PROPERTY(qreal pressX READ pressX NOTIFY pressXChanged FINAL REVISION 4)
- Q_PROPERTY(qreal pressY READ pressY NOTIFY pressYChanged FINAL REVISION 4)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitIndicatorWidth READ implicitIndicatorWidth NOTIFY implicitIndicatorWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitIndicatorHeight READ implicitIndicatorHeight NOTIFY implicitIndicatorHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,contentItem,indicator")
-
-public:
- explicit QQuickAbstractButton(QQuickItem *parent = nullptr);
- ~QQuickAbstractButton();
-
- QString text() const;
- void setText(const QString &text);
- void resetText();
-
- bool isDown() const;
- void setDown(bool down);
- void resetDown();
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- bool isChecked() const;
- void setChecked(bool checked);
-
- bool isCheckable() const;
- void setCheckable(bool checkable);
-
- bool autoExclusive() const;
- void setAutoExclusive(bool exclusive);
-
- bool autoRepeat() const;
- void setAutoRepeat(bool repeat);
-
- QQuickItem *indicator() const;
- void setIndicator(QQuickItem *indicator);
-
- // 2.3 (Qt 5.10)
- QQuickIcon icon() const;
- void setIcon(const QQuickIcon &icon);
-
- enum Display {
- IconOnly,
- TextOnly,
- TextBesideIcon,
- TextUnderIcon
- };
- Q_ENUM(Display)
-
- Display display() const;
- void setDisplay(Display display);
-
- QQuickAction *action() const;
- void setAction(QQuickAction *action);
-
-#if QT_CONFIG(shortcut)
- QKeySequence shortcut() const;
- void setShortcut(const QKeySequence &shortcut);
-#endif
-
- // 2.4 (Qt 5.11)
- int autoRepeatDelay() const;
- void setAutoRepeatDelay(int delay);
-
- int autoRepeatInterval() const;
- void setAutoRepeatInterval(int interval);
-
- qreal pressX() const;
- qreal pressY() const;
-
- // 2.5 (Qt 5.12)
- qreal implicitIndicatorWidth() const;
- qreal implicitIndicatorHeight() const;
-
-public Q_SLOTS:
- void toggle();
-
-Q_SIGNALS:
- void pressed();
- void released();
- void canceled();
- void clicked();
- void pressAndHold();
- void doubleClicked();
- void textChanged();
- void downChanged();
- void pressedChanged();
- void checkedChanged();
- void checkableChanged();
- void autoExclusiveChanged();
- void autoRepeatChanged();
- void indicatorChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void toggled();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void iconChanged();
- Q_REVISION(3) void displayChanged();
- Q_REVISION(3) void actionChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void autoRepeatDelayChanged();
- Q_REVISION(4) void autoRepeatIntervalChanged();
- Q_REVISION(4) void pressXChanged();
- Q_REVISION(4) void pressYChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void implicitIndicatorWidthChanged();
- Q_REVISION(5) void implicitIndicatorHeightChanged();
-
-protected:
- QQuickAbstractButton(QQuickAbstractButtonPrivate &dd, QQuickItem *parent);
-
- void componentComplete() override;
-
- bool event(QEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
- void mouseDoubleClickEvent(QMouseEvent *event) override;
- void timerEvent(QTimerEvent *event) override;
-
- void itemChange(ItemChange change, const ItemChangeData &value) override;
-
- enum ButtonChange {
- ButtonCheckedChange,
- ButtonCheckableChange,
- ButtonPressedChanged,
- ButtonTextChange
- };
- virtual void buttonChange(ButtonChange change);
-
- virtual void nextCheckState();
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickAbstractButton)
- Q_DECLARE_PRIVATE(QQuickAbstractButton)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickAbstractButton)
-
-#endif // QQUICKABSTRACTBUTTON_P_H
diff --git a/src/quicktemplates2/qquickabstractbutton_p_p.h b/src/quicktemplates2/qquickabstractbutton_p_p.h
deleted file mode 100644
index 7394f115..00000000
--- a/src/quicktemplates2/qquickabstractbutton_p_p.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKABSTRACTBUTTON_P_P_H
-#define QQUICKABSTRACTBUTTON_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtGui/qkeysequence.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAction;
-class QQuickButtonGroup;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickAbstractButtonPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickAbstractButton)
-
-public:
- static QQuickAbstractButtonPrivate *get(QQuickAbstractButton *button)
- {
- return button->d_func();
- }
-
- void setPressPoint(const QPointF &point);
- void setMovePoint(const QPointF &point);
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- virtual bool acceptKeyClick(Qt::Key key) const;
-
- bool isPressAndHoldConnected();
- void startPressAndHold();
- void stopPressAndHold();
-
- void startRepeatDelay();
- void startPressRepeat();
- void stopPressRepeat();
-
-#if QT_CONFIG(shortcut)
- void grabShortcut();
- void ungrabShortcut();
-#endif
-
- QQuickAbstractButton *findCheckedButton() const;
- QList<QQuickAbstractButton *> findExclusiveButtons() const;
-
- void actionTextChange();
- void setText(const QString &text, bool isExplicit);
-
- void updateEffectiveIcon();
-
- void click();
- void trigger();
- void toggle(bool value);
-
- void cancelIndicator();
- void executeIndicator(bool complete = false);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- // copied from qabstractbutton.cpp
- static const int AUTO_REPEAT_DELAY = 300;
- static const int AUTO_REPEAT_INTERVAL = 100;
-
- bool explicitText = false;
- bool down = false;
- bool explicitDown = false;
- bool pressed = false;
- bool keepPressed = false;
- bool checked = false;
- bool checkable = false;
- bool autoExclusive = false;
- bool autoRepeat = false;
- bool wasHeld = false;
- int holdTimer = 0;
- int delayTimer = 0;
- int repeatTimer = 0;
- int repeatDelay = AUTO_REPEAT_DELAY;
- int repeatInterval = AUTO_REPEAT_INTERVAL;
-#if QT_CONFIG(shortcut)
- int shortcutId = 0;
- QKeySequence shortcut;
-#endif
- QString text;
- QQuickIcon icon;
- QQuickIcon effectiveIcon;
- QPointF pressPoint;
- QPointF movePoint;
- Qt::MouseButtons pressButtons = Qt::NoButton;
- QQuickAbstractButton::Display display = QQuickAbstractButton::TextBesideIcon;
- QQuickDeferredPointer<QQuickItem> indicator;
- QQuickButtonGroup *group = nullptr;
- QPointer<QQuickAction> action;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKABSTRACTBUTTON_P_P_H
diff --git a/src/quicktemplates2/qquickaction.cpp b/src/quicktemplates2/qquickaction.cpp
deleted file mode 100644
index 9120db37..00000000
--- a/src/quicktemplates2/qquickaction.cpp
+++ /dev/null
@@ -1,577 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickaction_p.h"
-#include "qquickaction_p_p.h"
-#include "qquickactiongroup_p.h"
-#include "qquickshortcutcontext_p_p.h"
-
-#include <QtGui/qevent.h>
-#include <QtGui/private/qshortcutmap_p.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Action
- \inherits QtObject
- \instantiates QQuickAction
- \inqmlmodule QtQuick.Controls
- \since 5.10
- \ingroup utilities
- \brief Abstract user interface action.
-
- Action represents an abstract user interface action that can have shortcuts
- and can be assigned to menu items and toolbar buttons.
-
- Actions may contain \l text, an \l icon, and a \l shortcut. Actions are normally
- \l triggered by the user via menu items, toolbar buttons, or keyboard shortcuts.
- A \l checkable Action toggles its \l checked state when triggered.
-
- \snippet qtquickcontrols2-action.qml action
-
- Action is commonly used to implement application commands that can be invoked
- via menu items, toolbar buttons, and keyboard shortcuts. Since the user expects
- the commands to be performed in the same way, regardless of the user interface
- used, it is useful to represent the commands as shareable actions.
-
- Action can be also used to separate the logic and the visual presentation. For
- example, when declaring buttons and menu items in \c .ui.qml files, actions can
- be declared elsewhere and assigned from the outside.
-
- \snippet qtquickcontrols2-action.qml toolbutton
-
- When an action is paired with buttons and menu items, the \c enabled, \c checkable,
- and \c checked states are synced automatically. For example, in a word processor,
- if the user clicks a "Bold" toolbar button, the "Bold" menu item will automatically
- be checked. Buttons and menu items get their \c text and \c icon from the action by
- default. An action-specific \c text or \c icon can be overridden for a specific
- control by specifying \c text or \c icon directly on the control.
-
- \snippet qtquickcontrols2-action.qml menuitem
-
- Since Action presents a user interface action, it is intended to be assigned to
- a \l MenuItem, \l ToolButton, or any other control that inherits \l AbstractButton.
- For keyboard shortcuts, the simpler \l Shortcut type is more appropriate.
-
- \sa MenuItem, ToolButton, Shortcut
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::Action::toggled(QtObject source)
-
- This signal is emitted when the action is toggled. The \a source argument
- identifies the object that toggled the action.
-
- For example, if the action is assigned to a menu item and a toolbar button, the
- action is toggled when the control is toggled, the shortcut is activated, or
- when \l toggle() is called directly.
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::Action::triggered(QtObject source)
-
- This signal is emitted when the action is triggered. The \a source argument
- identifies the object that triggered the action.
-
- For example, if the action is assigned to a menu item and a toolbar button, the
- action is triggered when the control is clicked, the shortcut is activated, or
- when \l trigger() is called directly.
-*/
-
-#if QT_CONFIG(shortcut)
-static QKeySequence variantToKeySequence(const QVariant &var)
-{
- if (var.type() == QVariant::Int)
- return QKeySequence(static_cast<QKeySequence::StandardKey>(var.toInt()));
- return QKeySequence::fromString(var.toString());
-}
-
-QQuickActionPrivate::ShortcutEntry::ShortcutEntry(QObject *target)
- : m_target(target)
-{
-}
-
-QQuickActionPrivate::ShortcutEntry::~ShortcutEntry()
-{
- ungrab();
-}
-
-QObject *QQuickActionPrivate::ShortcutEntry::target() const
-{
- return m_target;
-}
-
-int QQuickActionPrivate::ShortcutEntry::shortcutId() const
-{
- return m_shortcutId;
-}
-
-void QQuickActionPrivate::ShortcutEntry::grab(const QKeySequence &shortcut, bool enabled)
-{
- if (shortcut.isEmpty())
- return;
-
- Qt::ShortcutContext context = Qt::WindowShortcut; // TODO
- m_shortcutId = QGuiApplicationPrivate::instance()->shortcutMap.addShortcut(m_target, shortcut, context, QQuickShortcutContext::matcher);
-
- if (!enabled)
- QGuiApplicationPrivate::instance()->shortcutMap.setShortcutEnabled(false, m_shortcutId, m_target);
-}
-
-void QQuickActionPrivate::ShortcutEntry::ungrab()
-{
- if (!m_shortcutId)
- return;
-
- QGuiApplicationPrivate::instance()->shortcutMap.removeShortcut(m_shortcutId, m_target);
- m_shortcutId = 0;
-}
-
-void QQuickActionPrivate::ShortcutEntry::setEnabled(bool enabled)
-{
- if (!m_shortcutId)
- return;
-
- QGuiApplicationPrivate::instance()->shortcutMap.setShortcutEnabled(enabled, m_shortcutId, m_target);
-}
-
-QVariant QQuickActionPrivate::shortcut() const
-{
- return vshortcut;
-}
-
-void QQuickActionPrivate::setShortcut(const QVariant &var)
-{
- Q_Q(QQuickAction);
- if (vshortcut == var)
- return;
-
- defaultShortcutEntry->ungrab();
- for (QQuickActionPrivate::ShortcutEntry *entry : qAsConst(shortcutEntries))
- entry->ungrab();
-
- vshortcut = var;
- keySequence = variantToKeySequence(var);
-
- defaultShortcutEntry->grab(keySequence, enabled);
- for (QQuickActionPrivate::ShortcutEntry *entry : qAsConst(shortcutEntries))
- entry->grab(keySequence, enabled);
-
- emit q->shortcutChanged(keySequence);
-}
-#endif // QT_CONFIG(shortcut)
-
-void QQuickActionPrivate::setEnabled(bool enable)
-{
- Q_Q(QQuickAction);
- if (enabled == enable)
- return;
-
- enabled = enable;
-
-#if QT_CONFIG(shortcut)
- defaultShortcutEntry->setEnabled(enable);
- for (QQuickActionPrivate::ShortcutEntry *entry : qAsConst(shortcutEntries))
- entry->setEnabled(enable);
-#endif
-
- emit q->enabledChanged(enable);
-}
-
-bool QQuickActionPrivate::watchItem(QQuickItem *item)
-{
- Q_Q(QQuickAction);
- if (!item)
- return false;
-
- item->installEventFilter(q);
- QQuickItemPrivate::get(item)->addItemChangeListener(this, QQuickItemPrivate::Visibility | QQuickItemPrivate::Destroyed);
- return true;
-}
-
-bool QQuickActionPrivate::unwatchItem(QQuickItem *item)
-{
- Q_Q(QQuickAction);
- if (!item)
- return false;
-
- item->removeEventFilter(q);
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Visibility | QQuickItemPrivate::Destroyed);
- return true;
-}
-
-void QQuickActionPrivate::registerItem(QQuickItem *item)
-{
- if (!watchItem(item))
- return;
-
-#if QT_CONFIG(shortcut)
- QQuickActionPrivate::ShortcutEntry *entry = new QQuickActionPrivate::ShortcutEntry(item);
- if (item->isVisible())
- entry->grab(keySequence, enabled);
- shortcutEntries += entry;
-
- updateDefaultShortcutEntry();
-#endif
-}
-
-void QQuickActionPrivate::unregisterItem(QQuickItem *item)
-{
-#if QT_CONFIG(shortcut)
- QQuickActionPrivate::ShortcutEntry *entry = findShortcutEntry(item);
- if (!entry || !unwatchItem(item))
- return;
-
- shortcutEntries.removeOne(entry);
- delete entry;
-
- updateDefaultShortcutEntry();
-#endif
-}
-
-void QQuickActionPrivate::itemVisibilityChanged(QQuickItem *item)
-{
-#if QT_CONFIG(shortcut)
- QQuickActionPrivate::ShortcutEntry *entry = findShortcutEntry(item);
- if (!entry)
- return;
-
- if (item->isVisible())
- entry->grab(keySequence, enabled);
- else
- entry->ungrab();
-
- updateDefaultShortcutEntry();
-#endif
-}
-
-void QQuickActionPrivate::itemDestroyed(QQuickItem *item)
-{
- unregisterItem(item);
-}
-
-#if QT_CONFIG(shortcut)
-bool QQuickActionPrivate::handleShortcutEvent(QObject *object, QShortcutEvent *event)
-{
- Q_Q(QQuickAction);
- if (event->key() != keySequence)
- return false;
-
- QQuickActionPrivate::ShortcutEntry *entry = findShortcutEntry(object);
- if (!entry || event->shortcutId() != entry->shortcutId())
- return false;
-
- q->trigger(entry->target());
- return true;
-}
-
-QQuickActionPrivate::ShortcutEntry *QQuickActionPrivate::findShortcutEntry(QObject *target) const
-{
- Q_Q(const QQuickAction);
- if (target == q)
- return defaultShortcutEntry;
- for (QQuickActionPrivate::ShortcutEntry *entry : shortcutEntries) {
- if (entry->target() == target)
- return entry;
- }
- return nullptr;
-}
-
-void QQuickActionPrivate::updateDefaultShortcutEntry()
-{
- bool hasActiveShortcutEntries = false;
- for (QQuickActionPrivate::ShortcutEntry *entry : qAsConst(shortcutEntries)) {
- if (entry->shortcutId()) {
- hasActiveShortcutEntries = true;
- break;
- }
- }
-
- if (hasActiveShortcutEntries)
- defaultShortcutEntry->ungrab();
- else if (!defaultShortcutEntry->shortcutId())
- defaultShortcutEntry->grab(keySequence, enabled);
-}
-#endif // QT_CONFIG(shortcut)
-
-QQuickAction::QQuickAction(QObject *parent)
- : QObject(*(new QQuickActionPrivate), parent)
-{
- Q_D(QQuickAction);
-#if QT_CONFIG(shortcut)
- d->defaultShortcutEntry = new QQuickActionPrivate::ShortcutEntry(this);
-#endif
-}
-
-QQuickAction::~QQuickAction()
-{
- Q_D(QQuickAction);
- if (d->group)
- d->group->removeAction(this);
-
-#if QT_CONFIG(shortcut)
- for (QQuickActionPrivate::ShortcutEntry *entry : qAsConst(d->shortcutEntries))
- d->unwatchItem(qobject_cast<QQuickItem *>(entry->target()));
-
- qDeleteAll(d->shortcutEntries);
- delete d->defaultShortcutEntry;
-#endif
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::Action::text
-
- This property holds a textual description of the action.
-*/
-QString QQuickAction::text() const
-{
- Q_D(const QQuickAction);
- return d->text;
-}
-
-void QQuickAction::setText(const QString &text)
-{
- Q_D(QQuickAction);
- if (d->text == text)
- return;
-
- d->text = text;
- emit textChanged(text);
-}
-
-/*!
- \qmlpropertygroup QtQuick.Controls::Action::icon
- \qmlproperty string QtQuick.Controls::Action::icon.name
- \qmlproperty url QtQuick.Controls::Action::icon.source
- \qmlproperty int QtQuick.Controls::Action::icon.width
- \qmlproperty int QtQuick.Controls::Action::icon.height
- \qmlproperty color QtQuick.Controls::Action::icon.color
-
- \include qquickicon.qdocinc grouped-properties
-*/
-QQuickIcon QQuickAction::icon() const
-{
- Q_D(const QQuickAction);
- return d->icon;
-}
-
-void QQuickAction::setIcon(const QQuickIcon &icon)
-{
- Q_D(QQuickAction);
- if (d->icon == icon)
- return;
-
- d->icon = icon;
- emit iconChanged(icon);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Action::enabled
-
- This property holds whether the action is enabled. The default value is \c true.
-*/
-bool QQuickAction::isEnabled() const
-{
- Q_D(const QQuickAction);
- return d->enabled && (!d->group || d->group->isEnabled());
-}
-
-void QQuickAction::setEnabled(bool enabled)
-{
- Q_D(QQuickAction);
- d->explicitEnabled = true;
- d->setEnabled(enabled);
-}
-
-void QQuickAction::resetEnabled()
-{
- Q_D(QQuickAction);
- if (!d->explicitEnabled)
- return;
-
- d->explicitEnabled = false;
- d->setEnabled(true);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Action::checked
-
- This property holds whether the action is checked.
-
- \sa checkable
-*/
-bool QQuickAction::isChecked() const
-{
- Q_D(const QQuickAction);
- return d->checked;
-}
-
-void QQuickAction::setChecked(bool checked)
-{
- Q_D(QQuickAction);
- if (d->checked == checked)
- return;
-
- d->checked = checked;
- emit checkedChanged(checked);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Action::checkable
-
- This property holds whether the action is checkable. The default value is \c false.
-
- A checkable action toggles between checked (on) and unchecked (off) when triggered.
-
- \sa checked
-*/
-bool QQuickAction::isCheckable() const
-{
- Q_D(const QQuickAction);
- return d->checkable;
-}
-
-void QQuickAction::setCheckable(bool checkable)
-{
- Q_D(QQuickAction);
- if (d->checkable == checkable)
- return;
-
- d->checkable = checkable;
- emit checkableChanged(checkable);
-}
-
-#if QT_CONFIG(shortcut)
-/*!
- \qmlproperty keysequence QtQuick.Controls::Action::shortcut
-
- This property holds the action's shortcut. The key sequence can be set
- to one of the \l{QKeySequence::StandardKey}{standard keyboard shortcuts},
- or it can be described with a string containing a sequence of up to four
- key presses that are needed to trigger the shortcut.
-
- \code
- Action {
- shortcut: "Ctrl+E,Ctrl+W"
- onTriggered: edit.wrapMode = TextEdit.Wrap
- }
- \endcode
-*/
-QKeySequence QQuickAction::shortcut() const
-{
- Q_D(const QQuickAction);
- return d->keySequence;
-}
-
-void QQuickAction::setShortcut(const QKeySequence &shortcut)
-{
- Q_D(QQuickAction);
- d->setShortcut(shortcut.toString());
-}
-#endif // QT_CONFIG(shortcut)
-
-/*!
- \qmlmethod void QtQuick.Controls::Action::toggle(QtObject source = null)
-
- Toggles the action and emits \l toggled() if enabled, with an optional \a source object defined.
-*/
-void QQuickAction::toggle(QObject *source)
-{
- Q_D(QQuickAction);
- if (!d->enabled)
- return;
-
- if (d->checkable)
- setChecked(!d->checked);
-
- emit toggled(source);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Action::trigger(QtObject source = null)
-
- Triggers the action and emits \l triggered() if enabled, with an optional \a source object defined.
-*/
-void QQuickAction::trigger(QObject *source)
-{
- Q_D(QQuickAction);
- d->trigger(source, true);
-}
-
-void QQuickActionPrivate::trigger(QObject* source, bool doToggle)
-{
- Q_Q(QQuickAction);
- if (!enabled)
- return;
-
- QPointer<QObject> guard = q;
- // the checked action of an exclusive group cannot be unchecked
- if (checkable && (!checked || !group || !group->isExclusive() || group->checkedAction() != q)) {
- if (doToggle)
- q->toggle(source);
- else
- emit q->toggled(source);
- }
-
- if (!guard.isNull())
- emit q->triggered(source);
-}
-
-bool QQuickAction::event(QEvent *event)
-{
- Q_D(QQuickAction);
-#if QT_CONFIG(shortcut)
- if (event->type() == QEvent::Shortcut)
- return d->handleShortcutEvent(this, static_cast<QShortcutEvent *>(event));
-#endif
- return QObject::event(event);
-}
-
-bool QQuickAction::eventFilter(QObject *object, QEvent *event)
-{
- Q_D(QQuickAction);
-#if QT_CONFIG(shortcut)
- if (event->type() == QEvent::Shortcut)
- return d->handleShortcutEvent(object, static_cast<QShortcutEvent *>(event));
-#endif
- return false;
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickaction_p.cpp"
diff --git a/src/quicktemplates2/qquickaction_p.h b/src/quicktemplates2/qquickaction_p.h
deleted file mode 100644
index cbe0d8fe..00000000
--- a/src/quicktemplates2/qquickaction_p.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKACTION_P_H
-#define QQUICKACTION_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtQuickTemplates2/private/qquickicon_p.h>
-#include <QtCore/qobject.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickIcon;
-class QQuickActionPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickAction : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
- Q_PROPERTY(QQuickIcon icon READ icon WRITE setIcon NOTIFY iconChanged FINAL)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged RESET resetEnabled FINAL)
- Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY checkedChanged FINAL)
- Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable NOTIFY checkableChanged FINAL)
-#if QT_CONFIG(shortcut)
- Q_PRIVATE_PROPERTY(QQuickAction::d_func(), QVariant shortcut READ shortcut WRITE setShortcut NOTIFY shortcutChanged FINAL)
-#endif
-
-public:
- explicit QQuickAction(QObject *parent = nullptr);
- ~QQuickAction();
-
- QString text() const;
- void setText(const QString &text);
-
- QQuickIcon icon() const;
- void setIcon(const QQuickIcon &icon);
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
- void resetEnabled();
-
- bool isChecked() const;
- void setChecked(bool checked);
-
- bool isCheckable() const;
- void setCheckable(bool checkable);
-
-#if QT_CONFIG(shortcut)
- QKeySequence shortcut() const;
- void setShortcut(const QKeySequence &shortcut);
-#endif
-
-public Q_SLOTS:
- void toggle(QObject *source = nullptr);
- void trigger(QObject *source = nullptr);
-
-Q_SIGNALS:
- void textChanged(const QString &text);
- void iconChanged(const QQuickIcon &icon);
- void enabledChanged(bool enabled);
- void checkedChanged(bool checked);
- void checkableChanged(bool checkable);
-#if QT_CONFIG(shortcut)
- void shortcutChanged(const QKeySequence &shortcut);
-#endif
-
- void toggled(QObject *source = nullptr);
- void triggered(QObject *source = nullptr);
-
-protected:
- bool event(QEvent *event) override;
- bool eventFilter(QObject *object, QEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickAction)
- Q_DECLARE_PRIVATE(QQuickAction)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickAction)
-
-#endif // QQUICKACTION_P_H
diff --git a/src/quicktemplates2/qquickaction_p_p.h b/src/quicktemplates2/qquickaction_p_p.h
deleted file mode 100644
index 7c70bab1..00000000
--- a/src/quicktemplates2/qquickaction_p_p.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKACTION_P_P_H
-#define QQUICKACTION_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/private/qobject_p.h>
-#include <QtCore/qvariant.h>
-#include <QtCore/qstring.h>
-#include <QtGui/qkeysequence.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QShortcutEvent;
-class QQuickActionGroup;
-
-class QQuickActionPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickAction)
-
-public:
- static QQuickActionPrivate *get(QQuickAction *action)
- {
- return action->d_func();
- }
-
-#if QT_CONFIG(shortcut)
- QVariant shortcut() const;
- void setShortcut(const QVariant &shortcut);
-#endif
-
- void setEnabled(bool enable);
-
- bool watchItem(QQuickItem *item);
- bool unwatchItem(QQuickItem *item);
-
- void registerItem(QQuickItem *item);
- void unregisterItem(QQuickItem *item);
-
- void itemVisibilityChanged(QQuickItem *item) override;
- void itemDestroyed(QQuickItem *item) override;
-
- bool handleShortcutEvent(QObject *object, QShortcutEvent *event);
-
- void trigger(QObject*, bool doToggle);
-
-#if QT_CONFIG(shortcut)
- class ShortcutEntry
- {
- public:
- explicit ShortcutEntry(QObject *target);
- ~ShortcutEntry();
-
- QObject *target() const;
- int shortcutId() const;
-
- void grab(const QKeySequence &vshortcut, bool enabled);
- void ungrab();
-
- void setEnabled(bool enabled);
-
- private:
- int m_shortcutId = 0;
- QObject *m_target = nullptr;
- };
-
- ShortcutEntry *findShortcutEntry(QObject *target) const;
- void updateDefaultShortcutEntry();
-#endif // QT_CONFIG(shortcut)
-
- bool explicitEnabled = false;
- bool enabled = true;
- bool checked = false;
- bool checkable = false;
- QString text;
- QQuickIcon icon;
- QKeySequence keySequence;
-#if QT_CONFIG(shortcut)
- QVariant vshortcut;
- ShortcutEntry *defaultShortcutEntry = nullptr;
- QVector<ShortcutEntry *> shortcutEntries;
-#endif
- QQuickActionGroup *group = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKACTION_P_P_H
diff --git a/src/quicktemplates2/qquickactiongroup.cpp b/src/quicktemplates2/qquickactiongroup.cpp
deleted file mode 100644
index f831660b..00000000
--- a/src/quicktemplates2/qquickactiongroup.cpp
+++ /dev/null
@@ -1,471 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickactiongroup_p.h"
-
-#include <QtCore/private/qobject_p.h>
-#include <QtCore/qmetaobject.h>
-#include <QtCore/qvariant.h>
-#include <QtQml/qqmlinfo.h>
-
-#include "qquickaction_p.h"
-#include "qquickaction_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ActionGroup
- \inherits QtObject
- \instantiates QQuickActionGroup
- \inqmlmodule QtQuick.Controls
- \since 5.10
- \ingroup utilities
- \brief Groups actions together.
-
- ActionGroup is a non-visual group of actions. A mutually \l exclusive
- action group is used with actions where only one of the options can be
- selected at a time.
-
- The most straight-forward way to use ActionGroup is to declare actions
- as children of the group.
-
- \code
- ActionGroup {
- id: alignmentGroup
-
- Action {
- checked: true
- checkable: true
- text: qsTr("Left")
- }
-
- Action {
- checkable: true
- text: qsTr("Center")
- }
-
- Action {
- checkable: true
- text: qsTr("Right")
- }
- }
- \endcode
-
- Alternatively, the \l group attached property allows declaring the actions
- elsewhere and assigning them to a specific group.
-
- \code
- ActionGroup { id: alignmentGroup }
-
- Action {
- checked: true
- checkable: true
- text: qsTr("Left")
- ActionGroup.group: alignmentGroup
- }
-
- Action {
- checkable: true
- text: qsTr("Center")
- ActionGroup.group: alignmentGroup
- }
-
- Action {
- checkable: true
- text: qsTr("Right")
- ActionGroup.group: alignmentGroup
- }
- \endcode
-
- More advanced use cases can be handled using the \c addAction() and
- \c removeAction() methods.
-
- \sa Action, ButtonGroup
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::ActionGroup::triggered(Action action)
-
- This signal is emitted when an \a action in the group has been triggered.
-
- This signal is convenient for implementing a common signal handler for
- all actions in the same group.
-
- \code
- ActionGroup {
- onTriggered: console.log("triggered:", action.text)
-
- Action { text: "First" }
- Action { text: "Second" }
- Action { text: "Third" }
- }
- \endcode
-
- \sa Action::triggered()
-*/
-
-class QQuickActionGroupPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickActionGroup)
-
-public:
- void clear();
- void actionTriggered();
- void _q_updateCurrent();
-
- static bool changeEnabled(QQuickAction *action, bool enabled);
-
- static void actions_append(QQmlListProperty<QQuickAction> *prop, QQuickAction *obj);
- static int actions_count(QQmlListProperty<QQuickAction> *prop);
- static QQuickAction *actions_at(QQmlListProperty<QQuickAction> *prop, int index);
- static void actions_clear(QQmlListProperty<QQuickAction> *prop);
-
- bool enabled = true;
- bool exclusive = true;
- QPointer<QQuickAction> checkedAction;
- QVector<QQuickAction*> actions;
-};
-
-void QQuickActionGroupPrivate::clear()
-{
- for (QQuickAction *action : qAsConst(actions)) {
- QQuickActionPrivate::get(action)->group = nullptr;
- QObjectPrivate::disconnect(action, &QQuickAction::triggered, this, &QQuickActionGroupPrivate::actionTriggered);
- QObjectPrivate::disconnect(action, &QQuickAction::checkedChanged, this, &QQuickActionGroupPrivate::_q_updateCurrent);
- }
- actions.clear();
-}
-
-void QQuickActionGroupPrivate::actionTriggered()
-{
- Q_Q(QQuickActionGroup);
- QQuickAction *action = qobject_cast<QQuickAction*>(q->sender());
- if (action)
- emit q->triggered(action);
-}
-
-void QQuickActionGroupPrivate::_q_updateCurrent()
-{
- Q_Q(QQuickActionGroup);
- if (!exclusive)
- return;
- QQuickAction *action = qobject_cast<QQuickAction*>(q->sender());
- if (action && action->isChecked())
- q->setCheckedAction(action);
- else if (!actions.contains(checkedAction))
- q->setCheckedAction(nullptr);
-}
-
-bool QQuickActionGroupPrivate::changeEnabled(QQuickAction *action, bool enabled)
-{
- return action->isEnabled() != enabled && (!enabled || !QQuickActionPrivate::get(action)->explicitEnabled);
-}
-
-void QQuickActionGroupPrivate::actions_append(QQmlListProperty<QQuickAction> *prop, QQuickAction *obj)
-{
- QQuickActionGroup *q = static_cast<QQuickActionGroup *>(prop->object);
- q->addAction(obj);
-}
-
-int QQuickActionGroupPrivate::actions_count(QQmlListProperty<QQuickAction> *prop)
-{
- QQuickActionGroupPrivate *p = static_cast<QQuickActionGroupPrivate *>(prop->data);
- return p->actions.count();
-}
-
-QQuickAction *QQuickActionGroupPrivate::actions_at(QQmlListProperty<QQuickAction> *prop, int index)
-{
- QQuickActionGroupPrivate *p = static_cast<QQuickActionGroupPrivate *>(prop->data);
- return p->actions.value(index);
-}
-
-void QQuickActionGroupPrivate::actions_clear(QQmlListProperty<QQuickAction> *prop)
-{
- QQuickActionGroupPrivate *p = static_cast<QQuickActionGroupPrivate *>(prop->data);
- if (!p->actions.isEmpty()) {
- p->clear();
- QQuickActionGroup *q = static_cast<QQuickActionGroup *>(prop->object);
- // QTBUG-52358: don't clear the checked action immediately
- QMetaObject::invokeMethod(q, "_q_updateCurrent", Qt::QueuedConnection);
- emit q->actionsChanged();
- }
-}
-
-QQuickActionGroup::QQuickActionGroup(QObject *parent)
- : QObject(*(new QQuickActionGroupPrivate), parent)
-{
-}
-
-QQuickActionGroup::~QQuickActionGroup()
-{
- Q_D(QQuickActionGroup);
- d->clear();
-}
-
-QQuickActionGroupAttached *QQuickActionGroup::qmlAttachedProperties(QObject *object)
-{
- return new QQuickActionGroupAttached(object);
-}
-
-/*!
- \qmlproperty Action QtQuick.Controls::ActionGroup::checkedAction
-
- This property holds the currently selected action in an exclusive group,
- or \c null if there is none or the group is non-exclusive.
-
- By default, it is the first checked action added to an exclusive action group.
-
- \sa exclusive
-*/
-QQuickAction *QQuickActionGroup::checkedAction() const
-{
- Q_D(const QQuickActionGroup);
- return d->checkedAction;
-}
-
-void QQuickActionGroup::setCheckedAction(QQuickAction *checkedAction)
-{
- Q_D(QQuickActionGroup);
- if (d->checkedAction == checkedAction)
- return;
-
- if (d->checkedAction)
- d->checkedAction->setChecked(false);
- d->checkedAction = checkedAction;
- if (checkedAction)
- checkedAction->setChecked(true);
- emit checkedActionChanged();
-}
-
-/*!
- \qmlproperty list<Action> QtQuick.Controls::ActionGroup::actions
- \default
-
- This property holds the list of actions in the group.
-
- \sa group
-*/
-QQmlListProperty<QQuickAction> QQuickActionGroup::actions()
-{
- Q_D(QQuickActionGroup);
- return QQmlListProperty<QQuickAction>(this, d,
- QQuickActionGroupPrivate::actions_append,
- QQuickActionGroupPrivate::actions_count,
- QQuickActionGroupPrivate::actions_at,
- QQuickActionGroupPrivate::actions_clear);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ActionGroup::exclusive
-
- This property holds whether the action group is exclusive. The default value is \c true.
-
- If this property is \c true, then only one action in the group can be checked at any given time.
- The user can trigger any action to check it, and that action will replace the existing one as
- the checked action in the group.
-
- In an exclusive group, the user cannot uncheck the currently checked action by triggering it;
- instead, another action in the group must be triggered to set the new checked action for that
- group.
-
- In a non-exclusive group, checking and unchecking actions does not affect the other actions in
- the group. Furthermore, the value of the \l checkedAction property is \c null.
-*/
-bool QQuickActionGroup::isExclusive() const
-{
- Q_D(const QQuickActionGroup);
- return d->exclusive;
-}
-
-void QQuickActionGroup::setExclusive(bool exclusive)
-{
- Q_D(QQuickActionGroup);
- if (d->exclusive == exclusive)
- return;
-
- d->exclusive = exclusive;
- emit exclusiveChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ActionGroup::enabled
-
- This property holds whether the action group is enabled. The default value is \c true.
-
- If this property is \c false, then all actions in the group are disabled. If this property
- is \c true, all actions in the group are enabled, unless explicitly disabled.
-*/
-bool QQuickActionGroup::isEnabled() const
-{
- Q_D(const QQuickActionGroup);
- return d->enabled;
-}
-
-void QQuickActionGroup::setEnabled(bool enabled)
-{
- Q_D(QQuickActionGroup);
- if (d->enabled == enabled)
- return;
-
- for (QQuickAction *action : qAsConst(d->actions)) {
- if (d->changeEnabled(action, enabled))
- emit action->enabledChanged(enabled);
- }
-
- d->enabled = enabled;
- emit enabledChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ActionGroup::addAction(Action action)
-
- Adds an \a action to the action group.
-
- \note Manually adding objects to a action group is typically unnecessary.
- The \l actions property and the \l group attached property provide a
- convenient and declarative syntax.
-
- \sa actions, group
-*/
-void QQuickActionGroup::addAction(QQuickAction *action)
-{
- Q_D(QQuickActionGroup);
- if (!action || d->actions.contains(action))
- return;
-
- const bool enabledChange = d->changeEnabled(action, d->enabled);
-
- QQuickActionPrivate::get(action)->group = this;
- QObjectPrivate::connect(action, &QQuickAction::triggered, d, &QQuickActionGroupPrivate::actionTriggered);
- QObjectPrivate::connect(action, &QQuickAction::checkedChanged, d, &QQuickActionGroupPrivate::_q_updateCurrent);
-
- if (d->exclusive && action->isChecked())
- setCheckedAction(action);
- if (enabledChange)
- emit action->enabledChanged(action->isEnabled());
-
- d->actions.append(action);
- emit actionsChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ActionGroup::removeAction(Action action)
-
- Removes an \a action from the action group.
-
- \note Manually removing objects from a action group is typically unnecessary.
- The \l actions property and the \l group attached property provide a
- convenient and declarative syntax.
-
- \sa actions, group
-*/
-void QQuickActionGroup::removeAction(QQuickAction *action)
-{
- Q_D(QQuickActionGroup);
- if (!action || !d->actions.contains(action))
- return;
-
- const bool enabledChange = d->changeEnabled(action, d->enabled);
-
- QQuickActionPrivate::get(action)->group = nullptr;
- QObjectPrivate::disconnect(action, &QQuickAction::triggered, d, &QQuickActionGroupPrivate::actionTriggered);
- QObjectPrivate::disconnect(action, &QQuickAction::checkedChanged, d, &QQuickActionGroupPrivate::_q_updateCurrent);
-
- if (d->checkedAction == action)
- setCheckedAction(nullptr);
- if (enabledChange)
- emit action->enabledChanged(action->isEnabled());
-
- d->actions.removeOne(action);
- emit actionsChanged();
-}
-
-class QQuickActionGroupAttachedPrivate : public QObjectPrivate
-{
-public:
- QQuickActionGroup *group = nullptr;
-};
-
-QQuickActionGroupAttached::QQuickActionGroupAttached(QObject *parent)
- : QObject(*(new QQuickActionGroupAttachedPrivate), parent)
-{
-}
-
-/*!
- \qmlattachedproperty ActionGroup QtQuick.Controls::ActionGroup::group
-
- This property attaches an action to an action group.
-
- \code
- ActionGroup { id: group }
-
- Action {
- checked: true
- text: qsTr("Option A")
- ActionGroup.group: group
- }
-
- Action {
- text: qsTr("Option B")
- ActionGroup.group: group
- }
- \endcode
-
- \sa actions
-*/
-QQuickActionGroup *QQuickActionGroupAttached::group() const
-{
- Q_D(const QQuickActionGroupAttached);
- return d->group;
-}
-
-void QQuickActionGroupAttached::setGroup(QQuickActionGroup *group)
-{
- Q_D(QQuickActionGroupAttached);
- if (d->group == group)
- return;
-
- if (d->group)
- d->group->removeAction(qobject_cast<QQuickAction*>(parent()));
- d->group = group;
- if (group)
- group->addAction(qobject_cast<QQuickAction*>(parent()));
- emit groupChanged();
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickactiongroup_p.cpp"
diff --git a/src/quicktemplates2/qquickactiongroup_p.h b/src/quicktemplates2/qquickactiongroup_p.h
deleted file mode 100644
index aa04d32e..00000000
--- a/src/quicktemplates2/qquickactiongroup_p.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKACTIONGROUP_P_H
-#define QQUICKACTIONGROUP_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtQml/qqml.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAction;
-class QQuickActionGroupPrivate;
-class QQuickActionGroupAttached;
-class QQuickActionGroupAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickActionGroup : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickAction *checkedAction READ checkedAction WRITE setCheckedAction NOTIFY checkedActionChanged FINAL)
- Q_PROPERTY(QQmlListProperty<QQuickAction> actions READ actions NOTIFY actionsChanged FINAL)
- Q_PROPERTY(bool exclusive READ isExclusive WRITE setExclusive NOTIFY exclusiveChanged FINAL)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL)
- Q_CLASSINFO("DefaultProperty", "actions")
-
-public:
- explicit QQuickActionGroup(QObject *parent = nullptr);
- ~QQuickActionGroup();
-
- static QQuickActionGroupAttached *qmlAttachedProperties(QObject *object);
-
- QQuickAction *checkedAction() const;
- void setCheckedAction(QQuickAction *checkedAction);
-
- QQmlListProperty<QQuickAction> actions();
-
- bool isExclusive() const;
- void setExclusive(bool exclusive);
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
-public Q_SLOTS:
- void addAction(QQuickAction *action);
- void removeAction(QQuickAction *action);
-
-Q_SIGNALS:
- void checkedActionChanged();
- void actionsChanged();
- void exclusiveChanged();
- void enabledChanged();
- void triggered(QQuickAction *action);
-
-private:
- Q_DISABLE_COPY(QQuickActionGroup)
- Q_DECLARE_PRIVATE(QQuickActionGroup)
-
- Q_PRIVATE_SLOT(d_func(), void _q_updateCurrent())
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickActionGroupAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickActionGroup *group READ group WRITE setGroup NOTIFY groupChanged FINAL)
-
-public:
- explicit QQuickActionGroupAttached(QObject *parent = nullptr);
-
- QQuickActionGroup *group() const;
- void setGroup(QQuickActionGroup *group);
-
-Q_SIGNALS:
- void groupChanged();
-
-private:
- Q_DISABLE_COPY(QQuickActionGroupAttached)
- Q_DECLARE_PRIVATE(QQuickActionGroupAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickActionGroup)
-QML_DECLARE_TYPEINFO(QQuickActionGroup, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKACTIONGROUP_P_H
diff --git a/src/quicktemplates2/qquickapplicationwindow.cpp b/src/quicktemplates2/qquickapplicationwindow.cpp
deleted file mode 100644
index 0d05bee7..00000000
--- a/src/quicktemplates2/qquickapplicationwindow.cpp
+++ /dev/null
@@ -1,1078 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickapplicationwindow_p.h"
-#include "qquickcontentitem_p.h"
-#include "qquickoverlay_p.h"
-#include "qquickpopup_p_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquicktextarea_p.h"
-#include "qquicktextfield_p.h"
-#include "qquicktoolbar_p.h"
-#include "qquicktabbar_p.h"
-#include "qquickdialogbuttonbox_p.h"
-#include "qquickdeferredexecute_p_p.h"
-#include "qquickdeferredpointer_p_p.h"
-
-#include <QtCore/private/qobject_p.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ApplicationWindow
- \inherits Window
- \instantiates QQuickApplicationWindow
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Styled top-level window with support for a header and footer.
-
- ApplicationWindow is a \l Window which makes it convenient to add
- a \l {menuBar}{menu bar}, \l header and \l footer item to the window.
-
- You can declare ApplicationWindow as the root item of your application,
- and run it by using \l QQmlApplicationEngine. In this way you can control
- the window's properties, appearance and layout from QML.
-
- \image qtquickcontrols2-applicationwindow-wireframe.png
-
- \qml
- import QtQuick.Controls 2.12
-
- ApplicationWindow {
- visible: true
-
- menuBar: MenuBar {
- // ...
- }
-
- header: ToolBar {
- // ...
- }
-
- footer: TabBar {
- // ...
- }
-
- StackView {
- anchors.fill: parent
- }
- }
- \endqml
-
- \note By default, an ApplicationWindow is not visible.
-
- \section2 Attached ApplicationWindow Properties
-
- Due to how \l {Scope and Naming Resolution} works in QML, it is possible
- to reference the \c id of the application root element anywhere in its
- child QML objects. Even though this approach is fine for many applications
- and use cases, for a generic QML component it may not be acceptable as it
- creates a dependency to the surrounding environment.
-
- ApplicationWindow provides a set of attached properties that can be used
- to access the window and its building blocks from places where no direct
- access to the window is available, without creating a dependency to a
- certain window \c id. A QML component that uses the ApplicationWindow
- attached properties works in any window regardless of its \c id.
-
- \sa {Customizing ApplicationWindow}, Overlay, Page, {Container Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-static const QQuickItemPrivate::ChangeTypes ItemChanges = QQuickItemPrivate::Visibility
- | QQuickItemPrivate::Geometry | QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight;
-
-class QQuickApplicationWindowPrivate : public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickApplicationWindow)
-
-public:
- static QQuickApplicationWindowPrivate *get(QQuickApplicationWindow *window)
- {
- return window->d_func();
- }
-
- QQmlListProperty<QObject> contentData();
-
- void relayout();
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemVisibilityChanged(QQuickItem *item) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- void updateFont(const QFont &f);
- inline void setFont_helper(const QFont &f) {
- if (font.resolve() == f.resolve() && font == f)
- return;
- updateFont(f);
- }
- void resolveFont();
-
- void updatePalette(const QPalette &p);
- inline void setPalette_helper(const QPalette &p) {
- if (palette.resolve() == p.resolve() && palette == p)
- return;
- updatePalette(p);
- }
- void resolvePalette();
-
- void _q_updateActiveFocus();
- void setActiveFocusControl(QQuickItem *item);
-
- static void contentData_append(QQmlListProperty<QObject> *prop, QObject *obj);
-
- void cancelBackground();
- void executeBackground(bool complete = false);
-
- bool complete = true;
- QQuickDeferredPointer<QQuickItem> background;
- QQuickItem *contentItem = nullptr;
- QQuickItem *menuBar = nullptr;
- QQuickItem *header = nullptr;
- QQuickItem *footer = nullptr;
- QQuickOverlay *overlay = nullptr;
- QFont font;
- QLocale locale;
- QPalette palette;
- QQuickItem *activeFocusControl = nullptr;
- QQuickApplicationWindow *q_ptr = nullptr;
-};
-
-static void layoutItem(QQuickItem *item, qreal y, qreal width)
-{
- if (!item)
- return;
-
- item->setY(y);
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid) {
- item->setWidth(width);
- p->widthValid = false;
- }
-}
-
-void QQuickApplicationWindowPrivate::relayout()
-{
- Q_Q(QQuickApplicationWindow);
- if (!complete)
- return;
-
- QQuickItem *content = q->contentItem();
- qreal hh = header && header->isVisible() ? header->height() : 0;
- qreal fh = footer && footer->isVisible() ? footer->height() : 0;
- qreal mbh = menuBar && menuBar->isVisible() ? menuBar->height() : 0;
-
- content->setY(mbh + hh);
- content->setWidth(q->width());
- content->setHeight(q->height() - mbh - hh - fh);
-
- layoutItem(menuBar, -mbh - hh, q->width());
- layoutItem(header, -hh, q->width());
- layoutItem(footer, content->height(), q->width());
-
- if (background) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (!p->widthValid && qFuzzyIsNull(background->x())) {
- background->setWidth(q->width());
- p->widthValid = false;
- }
- if (!p->heightValid && qFuzzyIsNull(background->y())) {
- background->setHeight(q->height());
- p->heightValid = false;
- }
- }
-}
-
-void QQuickApplicationWindowPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(item)
- Q_UNUSED(change)
- Q_UNUSED(diff)
- relayout();
-}
-
-void QQuickApplicationWindowPrivate::itemVisibilityChanged(QQuickItem *item)
-{
- Q_UNUSED(item);
- relayout();
-}
-
-void QQuickApplicationWindowPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_UNUSED(item);
- relayout();
-}
-
-void QQuickApplicationWindowPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_UNUSED(item);
- relayout();
-}
-
-void QQuickApplicationWindowPrivate::updateFont(const QFont &f)
-{
- Q_Q(QQuickApplicationWindow);
- const bool changed = font != f;
- font = f;
-
- QQuickControlPrivate::updateFontRecur(q->QQuickWindow::contentItem(), f);
-
- const QList<QQuickPopup *> popups = q->findChildren<QQuickPopup *>();
- for (QQuickPopup *popup : popups)
- QQuickControlPrivate::get(static_cast<QQuickControl *>(popup->popupItem()))->inheritFont(f);
-
- if (changed)
- emit q->fontChanged();
-}
-
-void QQuickApplicationWindowPrivate::resolveFont()
-{
- QFont resolvedFont = font.resolve(QQuickTheme::font(QQuickTheme::System));
- setFont_helper(resolvedFont);
-}
-
-void QQuickApplicationWindowPrivate::updatePalette(const QPalette &p)
-{
- Q_Q(QQuickApplicationWindow);
- const bool changed = palette != p;
- palette = p;
-
- QQuickControlPrivate::updatePaletteRecur(q->QQuickWindow::contentItem(), p);
-
- const QList<QQuickPopup *> popups = q->findChildren<QQuickPopup *>();
- for (QQuickPopup *popup : popups)
- QQuickControlPrivate::get(static_cast<QQuickControl *>(popup->popupItem()))->inheritPalette(p);
-
- if (changed)
- emit q->paletteChanged();
-}
-
-void QQuickApplicationWindowPrivate::resolvePalette()
-{
- QPalette resolvedPalette = palette.resolve(QQuickTheme::palette(QQuickTheme::System));
- setPalette_helper(resolvedPalette);
-}
-
-static QQuickItem *findActiveFocusControl(QQuickWindow *window)
-{
- QQuickItem *item = window->activeFocusItem();
- while (item) {
- if (qobject_cast<QQuickControl *>(item) || qobject_cast<QQuickTextField *>(item) || qobject_cast<QQuickTextArea *>(item))
- return item;
- item = item->parentItem();
- }
- return item;
-}
-
-void QQuickApplicationWindowPrivate::_q_updateActiveFocus()
-{
- Q_Q(QQuickApplicationWindow);
- setActiveFocusControl(findActiveFocusControl(q));
-}
-
-void QQuickApplicationWindowPrivate::setActiveFocusControl(QQuickItem *control)
-{
- Q_Q(QQuickApplicationWindow);
- if (activeFocusControl != control) {
- activeFocusControl = control;
- emit q->activeFocusControlChanged();
- }
-}
-
-void QQuickApplicationWindowPrivate::contentData_append(QQmlListProperty<QObject> *prop, QObject *obj)
-{
- QQuickItemPrivate::data_append(prop, obj);
-
- // associate "top-level" popups with the window as soon as they are added to the default property
- if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(obj))
- QQuickPopupPrivate::get(popup)->setWindow(static_cast<QQuickApplicationWindow *>(prop->data));
-}
-
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
-void QQuickApplicationWindowPrivate::cancelBackground()
-{
- Q_Q(QQuickApplicationWindow);
- quickCancelDeferred(q, backgroundName());
-}
-
-void QQuickApplicationWindowPrivate::executeBackground(bool complete)
-{
- Q_Q(QQuickApplicationWindow);
- if (background.wasExecuted())
- return;
-
- if (!background || complete)
- quickBeginDeferred(q, backgroundName(), background);
- if (complete)
- quickCompleteDeferred(q, backgroundName(), background);
-}
-
-QQuickApplicationWindow::QQuickApplicationWindow(QWindow *parent)
- : QQuickWindowQmlImpl(parent), d_ptr(new QQuickApplicationWindowPrivate)
-{
- d_ptr->q_ptr = this;
- connect(this, SIGNAL(activeFocusItemChanged()), this, SLOT(_q_updateActiveFocus()));
-}
-
-QQuickApplicationWindow::~QQuickApplicationWindow()
-{
- Q_D(QQuickApplicationWindow);
- d->setActiveFocusControl(nullptr);
- disconnect(this, SIGNAL(activeFocusItemChanged()), this, SLOT(_q_updateActiveFocus()));
- if (d->menuBar)
- QQuickItemPrivate::get(d->menuBar)->removeItemChangeListener(d, ItemChanges);
- if (d->header)
- QQuickItemPrivate::get(d->header)->removeItemChangeListener(d, ItemChanges);
- if (d->footer)
- QQuickItemPrivate::get(d->footer)->removeItemChangeListener(d, ItemChanges);
- d_ptr.reset(); // QTBUG-52731
-}
-
-QQuickApplicationWindowAttached *QQuickApplicationWindow::qmlAttachedProperties(QObject *object)
-{
- return new QQuickApplicationWindowAttached(object);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::ApplicationWindow::background
-
- This property holds the background item.
-
- The background item is stacked under the \l {contentItem}{content item},
- but above the \l {Window::color}{background color} of the window.
-
- The background item is useful for images and gradients, for example,
- but the \l {Window::}{color} property is preferable for solid colors,
- as it doesn't need to create an item.
-
- \note If the background item has no explicit size specified, it automatically
- follows the control's size. In most cases, there is no need to specify
- width or height for a background item.
-
- \sa {Customizing ApplicationWindow}, contentItem, header, footer
-*/
-QQuickItem *QQuickApplicationWindow::background() const
-{
- QQuickApplicationWindowPrivate *d = const_cast<QQuickApplicationWindowPrivate *>(d_func());
- if (!d->background)
- d->executeBackground();
- return d->background;
-}
-
-void QQuickApplicationWindow::setBackground(QQuickItem *background)
-{
- Q_D(QQuickApplicationWindow);
- if (d->background == background)
- return;
-
- if (!d->background.isExecuting())
- d->cancelBackground();
-
- delete d->background;
- d->background = background;
- if (background) {
- background->setParentItem(QQuickWindow::contentItem());
- if (qFuzzyIsNull(background->z()))
- background->setZ(-1);
- if (isComponentComplete())
- d->relayout();
- }
- if (!d->background.isExecuting())
- emit backgroundChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::ApplicationWindow::header
-
- This property holds the window header item. The header item is positioned at the
- top of the window, below the menu bar, and resized to the width of the window.
- The default value is \c null.
-
- \code
- ApplicationWindow {
- header: TabBar {
- // ...
- }
- }
- \endcode
-
- \note Assigning a ToolBar, TabBar, or DialogButtonBox as a window header
- automatically sets the respective \l ToolBar::position, \l TabBar::position,
- or \l DialogButtonBox::position property to \c Header.
-
- \sa menuBar, footer, Page::header
-*/
-QQuickItem *QQuickApplicationWindow::header() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->header;
-}
-
-void QQuickApplicationWindow::setHeader(QQuickItem *header)
-{
- Q_D(QQuickApplicationWindow);
- if (d->header == header)
- return;
-
- if (d->header) {
- QQuickItemPrivate::get(d->header)->removeItemChangeListener(d, ItemChanges);
- d->header->setParentItem(nullptr);
- }
- d->header = header;
- if (header) {
- header->setParentItem(contentItem());
- QQuickItemPrivate *p = QQuickItemPrivate::get(header);
- p->addItemChangeListener(d, ItemChanges);
- if (qFuzzyIsNull(header->z()))
- header->setZ(1);
- if (QQuickToolBar *toolBar = qobject_cast<QQuickToolBar *>(header))
- toolBar->setPosition(QQuickToolBar::Header);
- else if (QQuickTabBar *tabBar = qobject_cast<QQuickTabBar *>(header))
- tabBar->setPosition(QQuickTabBar::Header);
- else if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(header))
- buttonBox->setPosition(QQuickDialogButtonBox::Header);
- }
- if (isComponentComplete())
- d->relayout();
- emit headerChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::ApplicationWindow::footer
-
- This property holds the window footer item. The footer item is positioned to
- the bottom, and resized to the width of the window. The default value is \c null.
-
- \code
- ApplicationWindow {
- footer: ToolBar {
- // ...
- }
- }
- \endcode
-
- \note Assigning a ToolBar, TabBar, or DialogButtonBox as a window footer
- automatically sets the respective \l ToolBar::position, \l TabBar::position,
- or \l DialogButtonBox::position property to \c Footer.
-
- \sa menuBar, header, Page::footer
-*/
-QQuickItem *QQuickApplicationWindow::footer() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->footer;
-}
-
-void QQuickApplicationWindow::setFooter(QQuickItem *footer)
-{
- Q_D(QQuickApplicationWindow);
- if (d->footer == footer)
- return;
-
- if (d->footer) {
- QQuickItemPrivate::get(d->footer)->removeItemChangeListener(d, ItemChanges);
- d->footer->setParentItem(nullptr);
- }
- d->footer = footer;
- if (footer) {
- footer->setParentItem(contentItem());
- QQuickItemPrivate *p = QQuickItemPrivate::get(footer);
- p->addItemChangeListener(d, ItemChanges);
- if (qFuzzyIsNull(footer->z()))
- footer->setZ(1);
- if (QQuickToolBar *toolBar = qobject_cast<QQuickToolBar *>(footer))
- toolBar->setPosition(QQuickToolBar::Footer);
- else if (QQuickTabBar *tabBar = qobject_cast<QQuickTabBar *>(footer))
- tabBar->setPosition(QQuickTabBar::Footer);
- else if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(footer))
- buttonBox->setPosition(QQuickDialogButtonBox::Footer);
- }
- if (isComponentComplete())
- d->relayout();
- emit footerChanged();
-}
-
-/*!
- \qmlproperty list<Object> QtQuick.Controls::ApplicationWindow::contentData
- \default
-
- This default property holds the list of all objects declared as children of
- the window.
-
- The data property allows you to freely mix visual children, resources and
- other windows in an ApplicationWindow.
-
- If you assign an Item to the contentData list, it becomes a child of the
- window's contentItem, so that it appears inside the window. The item's
- parent will be the window's \l contentItem.
-
- It should not generally be necessary to refer to the contentData property,
- as it is the default property for ApplicationWindow and thus all child
- items are automatically assigned to this property.
-
- \sa contentItem
-*/
-QQmlListProperty<QObject> QQuickApplicationWindowPrivate::contentData()
-{
- Q_Q(QQuickApplicationWindow);
- return QQmlListProperty<QObject>(q->contentItem(), q,
- QQuickApplicationWindowPrivate::contentData_append,
- QQuickItemPrivate::data_count,
- QQuickItemPrivate::data_at,
- QQuickItemPrivate::data_clear);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::ApplicationWindow::contentItem
- \readonly
-
- This property holds the window content item.
-
- The content item is stacked above the \l background item, and under the
- \l menuBar, \l header, and \l footer items.
-
- \sa background, menuBar, header, footer
-*/
-QQuickItem *QQuickApplicationWindow::contentItem() const
-{
- QQuickApplicationWindowPrivate *d = const_cast<QQuickApplicationWindowPrivate *>(d_func());
- if (!d->contentItem) {
- d->contentItem = new QQuickContentItem(this, QQuickWindow::contentItem());
- d->contentItem->setFlag(QQuickItem::ItemIsFocusScope);
- d->contentItem->setFocus(true);
- d->relayout();
- }
- return d->contentItem;
-}
-
-/*!
- \qmlproperty Control QtQuick.Controls::ApplicationWindow::activeFocusControl
- \readonly
-
- This property holds the control that currently has active focus, or \c null if there is
- no control with active focus.
-
- The difference between \l Window::activeFocusItem and ApplicationWindow::activeFocusControl
- is that the former may point to a building block of a control, whereas the latter points
- to the enclosing control. For example, when SpinBox has focus, activeFocusItem points to
- the editor and activeFocusControl to the SpinBox itself.
-
- \sa Window::activeFocusItem
-*/
-QQuickItem *QQuickApplicationWindow::activeFocusControl() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->activeFocusControl;
-}
-
-/*!
- \deprecated
- \qmlpropertygroup QtQuick.Controls::ApplicationWindow::overlay
- \qmlproperty Item QtQuick.Controls::ApplicationWindow::overlay
- \qmlproperty Component QtQuick.Controls::ApplicationWindow::overlay.modal
- \qmlproperty Component QtQuick.Controls::ApplicationWindow::overlay.modeless
-
- Use the \l Overlay attached properties and signals instead.
-
- This property holds the window overlay item. Popups are automatically
- reparented to the overlay.
-
- \table
- \header
- \li Property
- \li Description
- \row
- \li overlay.modal
- \li This property holds a component to use as a visual item that implements
- background dimming for modal popups. It is created for and stacked below
- visible modal popups.
- \row
- \li overlay.modeless
- \li This property holds a component to use as a visual item that implements
- background dimming for modeless popups. It is created for and stacked below
- visible dimming popups.
- \row
- \li overlay.pressed()
- \li This signal is emitted when the overlay is pressed by the user while
- a popup is visible.
- \row
- \li overlay.released()
- \li This signal is emitted when the overlay is released by the user while
- a modal popup is visible.
- \endtable
-
- \sa Popup::modal, Popup::dim
-*/
-QQuickOverlay *QQuickApplicationWindow::overlay() const
-{
- QQuickApplicationWindowPrivate *d = const_cast<QQuickApplicationWindowPrivate *>(d_func());
- if (!d) // being deleted
- return nullptr;
-
- if (!d->overlay) {
- d->overlay = new QQuickOverlay(QQuickWindow::contentItem());
- d->overlay->stackAfter(QQuickApplicationWindow::contentItem());
- }
- return d->overlay;
-}
-
-/*!
- \qmlproperty font QtQuick.Controls::ApplicationWindow::font
-
- This property holds the font currently set for the window.
-
- The default font depends on the system environment. QGuiApplication maintains a system/theme
- font which serves as a default for all application windows. You can also set the default font
- for windows by passing a custom font to QGuiApplication::setFont(), before loading any QML.
- Finally, the font is matched against Qt's font database to find the best match.
-
- ApplicationWindow propagates explicit font properties to child controls. If you change a specific
- property on the window's font, that property propagates to all child controls in the window,
- overriding any system defaults for that property.
-
- \sa Control::font
-*/
-QFont QQuickApplicationWindow::font() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->font;
-}
-
-void QQuickApplicationWindow::setFont(const QFont &font)
-{
- Q_D(QQuickApplicationWindow);
- if (d->font.resolve() == font.resolve() && d->font == font)
- return;
-
- QFont resolvedFont = font.resolve(QQuickTheme::font(QQuickTheme::System));
- d->setFont_helper(resolvedFont);
-}
-
-void QQuickApplicationWindow::resetFont()
-{
- setFont(QFont());
-}
-
-/*!
- \qmlproperty Locale QtQuick.Controls::ApplicationWindow::locale
-
- This property holds the locale of the window.
-
- The default locale depends on the system environment. You can set the
- default locale by calling QLocale::setDefault(), before loading any QML.
-
- ApplicationWindow propagates the locale to child controls. If you change
- the window's locale, that locale propagates to all child controls in the
- window, overriding the system default locale.
-
- \sa Control::locale, {LayoutMirroring}{LayoutMirroring}
-*/
-QLocale QQuickApplicationWindow::locale() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->locale;
-}
-
-void QQuickApplicationWindow::setLocale(const QLocale &locale)
-{
- Q_D(QQuickApplicationWindow);
- if (d->locale == locale)
- return;
-
- d->locale = locale;
- QQuickControlPrivate::updateLocaleRecur(QQuickWindow::contentItem(), locale);
-
- // TODO: internal QQuickPopupManager that provides reliable access to all QQuickPopup instances
- const QList<QQuickPopup *> popups = QQuickWindow::contentItem()->findChildren<QQuickPopup *>();
- for (QQuickPopup *popup : popups)
- QQuickControlPrivate::get(static_cast<QQuickControl *>(popup->popupItem()))->updateLocale(locale, false); // explicit=false
-
- emit localeChanged();
-}
-
-void QQuickApplicationWindow::resetLocale()
-{
- setLocale(QLocale());
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty palette QtQuick.Controls::ApplicationWindow::palette
-
- This property holds the palette currently set for the window.
-
- The default palette depends on the system environment. QGuiApplication maintains a system/theme
- palette which serves as a default for all application windows. You can also set the default palette
- for windows by passing a custom palette to QGuiApplication::setPalette(), before loading any QML.
-
- ApplicationWindow propagates explicit palette properties to child controls. If you change a specific
- property on the window's palette, that property propagates to all child controls in the window,
- overriding any system defaults for that property.
-
- \sa Control::palette, Popup::palette, {qtquickcontrols2-palette}{palette QML Basic Type}
-*/
-QPalette QQuickApplicationWindow::palette() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->palette;
-}
-
-void QQuickApplicationWindow::setPalette(const QPalette &palette)
-{
- Q_D(QQuickApplicationWindow);
- if (d->palette.resolve() == palette.resolve() && d->palette == palette)
- return;
-
- QPalette resolvedPalette = palette.resolve(QQuickTheme::palette(QQuickTheme::System));
- d->setPalette_helper(resolvedPalette);
-}
-
-void QQuickApplicationWindow::resetPalette()
-{
- setPalette(QPalette());
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty Item QtQuick.Controls::ApplicationWindow::menuBar
-
- This property holds the window menu bar. The menu bar is positioned at the
- top of the window, above the header, and resized to the width of the window.
- The default value is \c null.
-
- \code
- ApplicationWindow {
- menuBar: MenuBar {
- // ...
- }
- }
- \endcode
-
- \sa header, footer, MenuBar
-*/
-QQuickItem *QQuickApplicationWindow::menuBar() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->menuBar;
-}
-
-void QQuickApplicationWindow::setMenuBar(QQuickItem *menuBar)
-{
- Q_D(QQuickApplicationWindow);
- if (d->menuBar == menuBar)
- return;
-
- if (d->menuBar) {
- QQuickItemPrivate::get(d->menuBar)->removeItemChangeListener(d, ItemChanges);
- d->menuBar->setParentItem(nullptr);
- }
- d->menuBar = menuBar;
- if (menuBar) {
- menuBar->setParentItem(contentItem());
- QQuickItemPrivate *p = QQuickItemPrivate::get(menuBar);
- p->addItemChangeListener(d, ItemChanges);
- if (qFuzzyIsNull(menuBar->z()))
- menuBar->setZ(2);
- }
- if (isComponentComplete())
- d->relayout();
- emit menuBarChanged();
-}
-
-bool QQuickApplicationWindow::isComponentComplete() const
-{
- Q_D(const QQuickApplicationWindow);
- return d->complete;
-}
-
-void QQuickApplicationWindow::classBegin()
-{
- Q_D(QQuickApplicationWindow);
- d->complete = false;
- QQuickWindowQmlImpl::classBegin();
- d->resolveFont();
- d->resolvePalette();
-}
-
-void QQuickApplicationWindow::componentComplete()
-{
- Q_D(QQuickApplicationWindow);
- d->complete = true;
- d->executeBackground(true);
- QQuickWindowQmlImpl::componentComplete();
- d->relayout();
-}
-
-void QQuickApplicationWindow::resizeEvent(QResizeEvent *event)
-{
- Q_D(QQuickApplicationWindow);
- QQuickWindowQmlImpl::resizeEvent(event);
- d->relayout();
-}
-
-class QQuickApplicationWindowAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickApplicationWindowAttached)
-
-public:
- void windowChange(QQuickWindow *wnd);
- void activeFocusChange();
-
- QQuickWindow *window = nullptr;
- QQuickItem *activeFocusControl = nullptr;
-};
-
-void QQuickApplicationWindowAttachedPrivate::windowChange(QQuickWindow *wnd)
-{
- Q_Q(QQuickApplicationWindowAttached);
- if (window == wnd)
- return;
-
- QQuickApplicationWindow *oldWindow = qobject_cast<QQuickApplicationWindow *>(window);
- if (oldWindow && !QQuickApplicationWindowPrivate::get(oldWindow))
- oldWindow = nullptr; // being deleted (QTBUG-52731)
-
- if (oldWindow) {
- disconnect(oldWindow, &QQuickApplicationWindow::activeFocusControlChanged,
- this, &QQuickApplicationWindowAttachedPrivate::activeFocusChange);
- QObject::disconnect(oldWindow, &QQuickApplicationWindow::menuBarChanged,
- q, &QQuickApplicationWindowAttached::menuBarChanged);
- QObject::disconnect(oldWindow, &QQuickApplicationWindow::headerChanged,
- q, &QQuickApplicationWindowAttached::headerChanged);
- QObject::disconnect(oldWindow, &QQuickApplicationWindow::footerChanged,
- q, &QQuickApplicationWindowAttached::footerChanged);
- } else if (window) {
- disconnect(window, &QQuickWindow::activeFocusItemChanged,
- this, &QQuickApplicationWindowAttachedPrivate::activeFocusChange);
- }
-
- QQuickApplicationWindow *newWindow = qobject_cast<QQuickApplicationWindow *>(wnd);
- if (newWindow) {
- connect(newWindow, &QQuickApplicationWindow::activeFocusControlChanged,
- this, &QQuickApplicationWindowAttachedPrivate::activeFocusChange);
- QObject::connect(newWindow, &QQuickApplicationWindow::menuBarChanged,
- q, &QQuickApplicationWindowAttached::menuBarChanged);
- QObject::connect(newWindow, &QQuickApplicationWindow::headerChanged,
- q, &QQuickApplicationWindowAttached::headerChanged);
- QObject::connect(newWindow, &QQuickApplicationWindow::footerChanged,
- q, &QQuickApplicationWindowAttached::footerChanged);
- } else if (wnd) {
- connect(wnd, &QQuickWindow::activeFocusItemChanged,
- this, &QQuickApplicationWindowAttachedPrivate::activeFocusChange);
- }
-
- window = wnd;
- emit q->windowChanged();
- emit q->contentItemChanged();
- emit q->overlayChanged();
-
- activeFocusChange();
- if ((oldWindow && oldWindow->menuBar()) || (newWindow && newWindow->menuBar()))
- emit q->menuBarChanged();
- if ((oldWindow && oldWindow->header()) || (newWindow && newWindow->header()))
- emit q->headerChanged();
- if ((oldWindow && oldWindow->footer()) || (newWindow && newWindow->footer()))
- emit q->footerChanged();
-}
-
-void QQuickApplicationWindowAttachedPrivate::activeFocusChange()
-{
- Q_Q(QQuickApplicationWindowAttached);
- QQuickItem *control = nullptr;
- if (QQuickApplicationWindow *appWindow = qobject_cast<QQuickApplicationWindow *>(window))
- control = appWindow->activeFocusControl();
- else if (window)
- control = findActiveFocusControl(window);
- if (activeFocusControl == control)
- return;
-
- activeFocusControl = control;
- emit q->activeFocusControlChanged();
-}
-
-QQuickApplicationWindowAttached::QQuickApplicationWindowAttached(QObject *parent)
- : QObject(*(new QQuickApplicationWindowAttachedPrivate), parent)
-{
- Q_D(QQuickApplicationWindowAttached);
- if (QQuickItem *item = qobject_cast<QQuickItem *>(parent)) {
- d->windowChange(item->window());
- QObjectPrivate::connect(item, &QQuickItem::windowChanged, d, &QQuickApplicationWindowAttachedPrivate::windowChange);
- if (!d->window) {
- QQuickItem *p = item;
- while (p) {
- if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(p->parent())) {
- d->windowChange(popup->window());
- QObjectPrivate::connect(popup, &QQuickPopup::windowChanged, d, &QQuickApplicationWindowAttachedPrivate::windowChange);
- }
- p = p->parentItem();
- }
- }
- } else if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(parent)) {
- d->windowChange(popup->window());
- QObjectPrivate::connect(popup, &QQuickPopup::windowChanged, d, &QQuickApplicationWindowAttachedPrivate::windowChange);
- }
-}
-
-/*!
- \qmlattachedproperty ApplicationWindow QtQuick.Controls::ApplicationWindow::window
- \readonly
-
- This attached property holds the application window. The property can be attached
- to any item. The value is \c null if the item is not in an ApplicationWindow.
-
- \sa {Attached ApplicationWindow Properties}
-*/
-QQuickApplicationWindow *QQuickApplicationWindowAttached::window() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- return qobject_cast<QQuickApplicationWindow *>(d->window);
-}
-
-/*!
- \qmlattachedproperty Item QtQuick.Controls::ApplicationWindow::contentItem
- \readonly
-
- This attached property holds the window content item. The property can be attached
- to any item. The value is \c null if the item is not in an ApplicationWindow.
-
- \sa {Attached ApplicationWindow Properties}
-*/
-QQuickItem *QQuickApplicationWindowAttached::contentItem() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(d->window))
- return window->contentItem();
- return nullptr;
-}
-
-/*!
- \qmlattachedproperty Control QtQuick.Controls::ApplicationWindow::activeFocusControl
- \readonly
-
- This attached property holds the control that currently has active focus, or \c null
- if there is no control with active focus. The property can be attached to any item.
- The value is \c null if the item is not in a window, or the window has no active focus.
-
- \sa Window::activeFocusItem, {Attached ApplicationWindow Properties}
-*/
-QQuickItem *QQuickApplicationWindowAttached::activeFocusControl() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- return d->activeFocusControl;
-}
-
-/*!
- \qmlattachedproperty Item QtQuick.Controls::ApplicationWindow::header
- \readonly
-
- This attached property holds the window header item. The property can be attached
- to any item. The value is \c null if the item is not in an ApplicationWindow, or
- the window has no header item.
-
- \sa {Attached ApplicationWindow Properties}
-*/
-QQuickItem *QQuickApplicationWindowAttached::header() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(d->window))
- return window->header();
- return nullptr;
-}
-
-/*!
- \qmlattachedproperty Item QtQuick.Controls::ApplicationWindow::footer
- \readonly
-
- This attached property holds the window footer item. The property can be attached
- to any item. The value is \c null if the item is not in an ApplicationWindow, or
- the window has no footer item.
-
- \sa {Attached ApplicationWindow Properties}
-*/
-QQuickItem *QQuickApplicationWindowAttached::footer() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(d->window))
- return window->footer();
- return nullptr;
-}
-
-/*!
- \deprecated
- \qmlattachedproperty Item QtQuick.Controls::ApplicationWindow::overlay
- \readonly
-
- Use the \l Overlay::overlay attached property instead.
-
- This attached property holds the window overlay item. The property can be attached
- to any item. The value is \c null if the item is not in an ApplicationWindow.
-
- \sa {Attached ApplicationWindow Properties}
-*/
-QQuickOverlay *QQuickApplicationWindowAttached::overlay() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- return QQuickOverlay::overlay(d->window);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlattachedproperty Item QtQuick.Controls::ApplicationWindow::menuBar
- \readonly
-
- This attached property holds the window menu bar. The property can be attached
- to any item. The value is \c null if the item is not in an ApplicationWindow, or
- the window has no menu bar.
-
- \sa {Attached ApplicationWindow Properties}
-*/
-QQuickItem *QQuickApplicationWindowAttached::menuBar() const
-{
- Q_D(const QQuickApplicationWindowAttached);
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(d->window))
- return window->menuBar();
- return nullptr;
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickapplicationwindow_p.cpp"
diff --git a/src/quicktemplates2/qquickapplicationwindow_p.h b/src/quicktemplates2/qquickapplicationwindow_p.h
deleted file mode 100644
index c004ee3a..00000000
--- a/src/quicktemplates2/qquickapplicationwindow_p.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKAPPLICATIONWINDOW_P_H
-#define QQUICKAPPLICATIONWINDOW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickwindowmodule_p.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qpalette.h>
-#include <QtCore/qlocale.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickOverlay;
-class QQuickApplicationWindowPrivate;
-class QQuickApplicationWindowAttached;
-class QQuickApplicationWindowAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickApplicationWindow : public QQuickWindowQmlImpl
-{
- Q_OBJECT
- Q_PROPERTY(QQuickItem *background READ background WRITE setBackground NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(QQuickItem *contentItem READ contentItem CONSTANT FINAL)
- Q_PRIVATE_PROPERTY(QQuickApplicationWindow::d_func(), QQmlListProperty<QObject> contentData READ contentData FINAL)
- Q_PROPERTY(QQuickItem *activeFocusControl READ activeFocusControl NOTIFY activeFocusControlChanged FINAL)
- Q_PROPERTY(QQuickItem *header READ header WRITE setHeader NOTIFY headerChanged FINAL)
- Q_PROPERTY(QQuickItem *footer READ footer WRITE setFooter NOTIFY footerChanged FINAL)
- Q_PROPERTY(QQuickOverlay *overlay READ overlay CONSTANT FINAL)
- Q_PROPERTY(QFont font READ font WRITE setFont RESET resetFont NOTIFY fontChanged FINAL)
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale RESET resetLocale NOTIFY localeChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged FINAL REVISION 3)
- Q_PROPERTY(QQuickItem *menuBar READ menuBar WRITE setMenuBar NOTIFY menuBarChanged FINAL REVISION 3)
- Q_CLASSINFO("DeferredPropertyNames", "background")
- Q_CLASSINFO("DefaultProperty", "contentData")
-
-public:
- explicit QQuickApplicationWindow(QWindow *parent = nullptr);
- ~QQuickApplicationWindow();
-
- static QQuickApplicationWindowAttached *qmlAttachedProperties(QObject *object);
-
- QQuickItem *background() const;
- void setBackground(QQuickItem *background);
-
- QQuickItem *contentItem() const;
-
- QQuickItem *activeFocusControl() const;
-
- QQuickItem *header() const;
- void setHeader(QQuickItem *header);
-
- QQuickItem *footer() const;
- void setFooter(QQuickItem *footer);
-
- QQuickOverlay *overlay() const;
-
- QFont font() const;
- void setFont(const QFont &font);
- void resetFont();
-
- QLocale locale() const;
- void setLocale(const QLocale &locale);
- void resetLocale();
-
- // 2.3 (Qt 5.10)
- QPalette palette() const;
- void setPalette(const QPalette &palette);
- void resetPalette();
-
- QQuickItem *menuBar() const;
- void setMenuBar(QQuickItem *menuBar);
-
-Q_SIGNALS:
- void backgroundChanged();
- void activeFocusControlChanged();
- void headerChanged();
- void footerChanged();
- void fontChanged();
- void localeChanged();
- Q_REVISION(3) void paletteChanged();
- Q_REVISION(3) void menuBarChanged();
-
-protected:
- bool isComponentComplete() const;
- void classBegin() override;
- void componentComplete() override;
- void resizeEvent(QResizeEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickApplicationWindow)
- Q_DECLARE_PRIVATE(QQuickApplicationWindow)
- Q_PRIVATE_SLOT(d_func(), void _q_updateActiveFocus())
- QScopedPointer<QQuickApplicationWindowPrivate> d_ptr;
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickApplicationWindowAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickApplicationWindow *window READ window NOTIFY windowChanged FINAL)
- Q_PROPERTY(QQuickItem *contentItem READ contentItem NOTIFY contentItemChanged FINAL)
- Q_PROPERTY(QQuickItem *activeFocusControl READ activeFocusControl NOTIFY activeFocusControlChanged FINAL)
- Q_PROPERTY(QQuickItem *header READ header NOTIFY headerChanged FINAL)
- Q_PROPERTY(QQuickItem *footer READ footer NOTIFY footerChanged FINAL)
- Q_PROPERTY(QQuickOverlay *overlay READ overlay NOTIFY overlayChanged FINAL)
- Q_PROPERTY(QQuickItem *menuBar READ menuBar NOTIFY menuBarChanged FINAL) // REVISION 3
-
-public:
- explicit QQuickApplicationWindowAttached(QObject *parent = nullptr);
-
- QQuickApplicationWindow *window() const;
- QQuickItem *contentItem() const;
- QQuickItem *activeFocusControl() const;
- QQuickItem *header() const;
- QQuickItem *footer() const;
- QQuickOverlay *overlay() const;
- QQuickItem *menuBar() const;
-
-Q_SIGNALS:
- void windowChanged();
- void contentItemChanged();
- void activeFocusControlChanged();
- void headerChanged();
- void footerChanged();
- void overlayChanged();
- // 2.3 (Qt 5.10)
- /*Q_REVISION(3)*/ void menuBarChanged();
-
-private:
- Q_DISABLE_COPY(QQuickApplicationWindowAttached)
- Q_DECLARE_PRIVATE(QQuickApplicationWindowAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickApplicationWindow)
-QML_DECLARE_TYPEINFO(QQuickApplicationWindow, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKAPPLICATIONWINDOW_P_H
diff --git a/src/quicktemplates2/qquickbusyindicator.cpp b/src/quicktemplates2/qquickbusyindicator.cpp
deleted file mode 100644
index eea8eadb..00000000
--- a/src/quicktemplates2/qquickbusyindicator.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickbusyindicator_p.h"
-#include "qquickcontrol_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype BusyIndicator
- \inherits Control
- \instantiates QQuickBusyIndicator
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-indicators
- \brief Indicates background activity, for example, while content is being loaded.
-
- \image qtquickcontrols2-busyindicator.gif
-
- The busy indicator should be used to indicate activity while content is
- being loaded or the UI is blocked waiting for a resource to become available.
-
- The following snippet shows how to use the BusyIndicator:
-
- \qml
- BusyIndicator {
- running: image.status === Image.Loading
- }
- \endqml
-
- BusyIndicator is similar to an indeterminate \l ProgressBar. Both can be
- used to indicate background activity. The main difference is visual, and
- that ProgressBar can also present a concrete amount of progress (when it
- can be determined). Due to the visual difference, busy indicators and
- indeterminate progress bars fit different places in user interfaces.
- Typical places for a busy indicator:
- \list
- \li in the corner of a \l ToolBar
- \li as an overlay on top of a \l Page
- \li on the side of an \l ItemDelegate
- \endlist
-
- \sa {Customizing BusyIndicator}, {Indicator Controls}, ProgressBar
-*/
-
-class QQuickBusyIndicatorPrivate : public QQuickControlPrivate
-{
-public:
- bool running = true;
-};
-
-QQuickBusyIndicator::QQuickBusyIndicator(QQuickItem *parent)
- : QQuickControl(*(new QQuickBusyIndicatorPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::BusyIndicator::running
-
- This property holds whether the busy indicator is currently indicating
- activity.
-
- \note The indicator is only visible when this property is set to \c true.
-
- The default value is \c true.
-*/
-bool QQuickBusyIndicator::isRunning() const
-{
- Q_D(const QQuickBusyIndicator);
- return d->running;
-}
-
-void QQuickBusyIndicator::setRunning(bool running)
-{
- Q_D(QQuickBusyIndicator);
- if (d->running == running)
- return;
-
- d->running = running;
- emit runningChanged();
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickBusyIndicator::touchEvent(QTouchEvent *event)
-{
- event->ignore(); // QTBUG-61785
-}
-#endif
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickBusyIndicator::accessibleRole() const
-{
- return QAccessible::Indicator;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickbusyindicator_p.h b/src/quicktemplates2/qquickbusyindicator_p.h
deleted file mode 100644
index f140764b..00000000
--- a/src/quicktemplates2/qquickbusyindicator_p.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKBUSYINDICATOR_P_H
-#define QQUICKBUSYINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickBusyIndicatorPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickBusyIndicator : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged FINAL)
-
-public:
- explicit QQuickBusyIndicator(QQuickItem *parent = nullptr);
-
- bool isRunning() const;
- void setRunning(bool running);
-
-Q_SIGNALS:
- void runningChanged();
-
-protected:
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickBusyIndicator)
- Q_DECLARE_PRIVATE(QQuickBusyIndicator)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickBusyIndicator)
-
-#endif // QQUICKBUSYINDICATOR_P_H
diff --git a/src/quicktemplates2/qquickbutton.cpp b/src/quicktemplates2/qquickbutton.cpp
deleted file mode 100644
index b4188a95..00000000
--- a/src/quicktemplates2/qquickbutton.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickbutton_p.h"
-#include "qquickbutton_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Button
- \inherits AbstractButton
- \instantiates QQuickButton
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-buttons
- \brief Push-button that can be clicked to perform a command or answer a question.
-
- \image qtquickcontrols2-button.gif
-
- Button presents a push-button control that can be pushed or clicked by
- the user. Buttons are normally used to perform an action, or to answer
- a question. Typical buttons are \e OK, \e Apply, \e Cancel, \e Close,
- \e Yes, \e No, and \e Help.
-
- Button inherits its API from AbstractButton. For instance, you can set
- \l {AbstractButton::text}{text}, display an \l {Icons in Qt Quick Controls}{icon},
- and react to \l {AbstractButton::clicked}{clicks} using the AbstractButton API.
-
- A button emits the signal \l {AbstractButton::}{clicked()} when it is activated by the user.
- Connect to this signal to perform the button's action. Buttons also
- provide the signals \l {AbstractButton::}{canceled()}, \l {AbstractButton::}{doubleClicked()}, \l {AbstractButton::}{pressed()},
- \l {AbstractButton::}{released()} and \l {AbstractButton::}{pressAndHold()} for long presses.
-
- See the snippet below on how to connect to the button's signals.
-
- \code
- RowLayout {
- Button {
- text: "Ok"
- onClicked: model.submit()
- }
- Button {
- text: "Cancel"
- onClicked: model.revert()
- }
- }
- \endcode
-
- \sa {Customizing Button}, {Button Controls}
-*/
-
-QQuickButton::QQuickButton(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickButtonPrivate), parent)
-{
-}
-
-QQuickButton::QQuickButton(QQuickButtonPrivate &dd, QQuickItem *parent)
- : QQuickAbstractButton(dd, parent)
-{
-}
-
-QFont QQuickButton::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Button);
-}
-
-QPalette QQuickButton::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Button);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Button::highlighted
-
- This property holds whether the button is highlighted.
-
- \image qtquickcontrols2-button-highlighted.gif
-
- A button can be highlighted in order to draw the user's attention towards
- it. It has no effect on keyboard interaction.
-
- The default value is \c false.
-*/
-bool QQuickButton::isHighlighted() const
-{
- Q_D(const QQuickButton);
- return d->highlighted;
-}
-
-void QQuickButton::setHighlighted(bool highlighted)
-{
- Q_D(QQuickButton);
- if (highlighted == d->highlighted)
- return;
-
- d->highlighted = highlighted;
- emit highlightedChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Button::flat
-
- This property holds whether the button is flat.
-
- \image qtquickcontrols2-button-flat.gif
-
- A flat button typically does not draw a background unless it is pressed or checked.
-
- The default value is \c false.
-*/
-bool QQuickButton::isFlat() const
-{
- Q_D(const QQuickButton);
- return d->flat;
-}
-
-void QQuickButton::setFlat(bool flat)
-{
- Q_D(QQuickButton);
- if (flat == d->flat)
- return;
-
- d->flat = flat;
- emit flatChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickbutton_p.h b/src/quicktemplates2/qquickbutton_p.h
deleted file mode 100644
index a77db16e..00000000
--- a/src/quicktemplates2/qquickbutton_p.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKBUTTON_P_H
-#define QQUICKBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickButtonPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickButton : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged FINAL)
- Q_PROPERTY(bool flat READ isFlat WRITE setFlat NOTIFY flatChanged FINAL)
-
-public:
- explicit QQuickButton(QQuickItem *parent = nullptr);
-
- bool isHighlighted() const;
- void setHighlighted(bool highlighted);
-
- bool isFlat() const;
- void setFlat(bool flat);
-
-Q_SIGNALS:
- void highlightedChanged();
- void flatChanged();
-
-protected:
- QQuickButton(QQuickButtonPrivate &dd, QQuickItem *parent);
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-private:
- Q_DISABLE_COPY(QQuickButton)
- Q_DECLARE_PRIVATE(QQuickButton)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickButton)
-
-#endif // QQUICKBUTTON_P_H
diff --git a/src/quicktemplates2/qquickbutton_p_p.h b/src/quicktemplates2/qquickbutton_p_p.h
deleted file mode 100644
index 1d02e2ea..00000000
--- a/src/quicktemplates2/qquickbutton_p_p.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKBUTTON_P_P_H
-#define QQUICKBUTTON_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickButtonPrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickButton)
-
-public:
- bool flat = false;
- bool highlighted = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKBUTTON_P_P_H
diff --git a/src/quicktemplates2/qquickbuttongroup.cpp b/src/quicktemplates2/qquickbuttongroup.cpp
deleted file mode 100644
index cddfb199..00000000
--- a/src/quicktemplates2/qquickbuttongroup.cpp
+++ /dev/null
@@ -1,547 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickbuttongroup_p.h"
-
-#include <QtCore/private/qobject_p.h>
-#include <QtCore/qmetaobject.h>
-#include <QtCore/qvariant.h>
-#include <QtQml/qqmlinfo.h>
-
-#include "qquickabstractbutton_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ButtonGroup
- \inherits QtObject
- \instantiates QQuickButtonGroup
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup utilities
- \brief Mutually-exclusive group of checkable buttons.
-
- ButtonGroup is a non-visual, mutually exclusive group of buttons.
- It is used with controls such as RadioButton, where only one of the options
- can be selected at a time.
-
- The most straight-forward way to use ButtonGroup is to assign
- a list of buttons. For example, the list of children of a
- \l{Item Positioners}{positioner} or a \l{Qt Quick Layouts}{layout}
- that manages a group of mutually exclusive buttons.
-
- \code
- ButtonGroup {
- buttons: column.children
- }
-
- Column {
- id: column
-
- RadioButton {
- checked: true
- text: qsTr("DAB")
- }
-
- RadioButton {
- text: qsTr("FM")
- }
-
- RadioButton {
- text: qsTr("AM")
- }
- }
- \endcode
-
- Mutually exclusive buttons do not always share the same parent item,
- or the parent layout may sometimes contain items that should not be
- included in the button group. Such cases are best handled using
- the \l group attached property.
-
- \code
- ButtonGroup { id: radioGroup }
-
- Column {
- Label {
- text: qsTr("Radio:")
- }
-
- RadioButton {
- checked: true
- text: qsTr("DAB")
- ButtonGroup.group: radioGroup
- }
-
- RadioButton {
- text: qsTr("FM")
- ButtonGroup.group: radioGroup
- }
-
- RadioButton {
- text: qsTr("AM")
- ButtonGroup.group: radioGroup
- }
- }
- \endcode
-
- More advanced use cases can be handled using the \c addButton() and
- \c removeButton() methods.
-
- \sa RadioButton, {Button Controls}
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::ButtonGroup::clicked(AbstractButton button)
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This signal is emitted when a \a button in the group has been clicked.
-
- This signal is convenient for implementing a common signal handler for
- all buttons in the same group.
-
- \code
- ButtonGroup {
- buttons: column.children
- onClicked: console.log("clicked:", button.text)
- }
-
- Column {
- id: column
- Button { text: "First" }
- Button { text: "Second" }
- Button { text: "Third" }
- }
- \endcode
-
- \sa AbstractButton::clicked()
-*/
-
-class QQuickButtonGroupPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickButtonGroup)
-
-public:
- void clear();
- void buttonClicked();
- void _q_updateCurrent();
- void updateCheckState();
- void setCheckState(Qt::CheckState state);
-
- static void buttons_append(QQmlListProperty<QQuickAbstractButton> *prop, QQuickAbstractButton *obj);
- static int buttons_count(QQmlListProperty<QQuickAbstractButton> *prop);
- static QQuickAbstractButton *buttons_at(QQmlListProperty<QQuickAbstractButton> *prop, int index);
- static void buttons_clear(QQmlListProperty<QQuickAbstractButton> *prop);
-
- bool complete = true;
- bool exclusive = true;
- bool settingCheckState = false;
- Qt::CheckState checkState = Qt::Unchecked;
- QPointer<QQuickAbstractButton> checkedButton;
- QVector<QQuickAbstractButton*> buttons;
-};
-
-void QQuickButtonGroupPrivate::clear()
-{
- for (QQuickAbstractButton *button : qAsConst(buttons)) {
- QQuickAbstractButtonPrivate::get(button)->group = nullptr;
- QObjectPrivate::disconnect(button, &QQuickAbstractButton::clicked, this, &QQuickButtonGroupPrivate::buttonClicked);
- QObjectPrivate::disconnect(button, &QQuickAbstractButton::checkedChanged, this, &QQuickButtonGroupPrivate::_q_updateCurrent);
- }
- buttons.clear();
-}
-
-void QQuickButtonGroupPrivate::buttonClicked()
-{
- Q_Q(QQuickButtonGroup);
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton*>(q->sender());
- if (button)
- emit q->clicked(button);
-}
-
-void QQuickButtonGroupPrivate::_q_updateCurrent()
-{
- Q_Q(QQuickButtonGroup);
- if (exclusive) {
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton*>(q->sender());
- if (button && button->isChecked())
- q->setCheckedButton(button);
- else if (!buttons.contains(checkedButton))
- q->setCheckedButton(nullptr);
- }
- updateCheckState();
-}
-
-void QQuickButtonGroupPrivate::updateCheckState()
-{
- if (!complete || settingCheckState)
- return;
-
- bool anyChecked = false;
- bool allChecked = !buttons.isEmpty();
- for (QQuickAbstractButton *button : qAsConst(buttons)) {
- const bool isChecked = button->isChecked();
- anyChecked |= isChecked;
- allChecked &= isChecked;
- }
- setCheckState(Qt::CheckState(anyChecked + allChecked));
-}
-
-void QQuickButtonGroupPrivate::setCheckState(Qt::CheckState state)
-{
- Q_Q(QQuickButtonGroup);
- if (checkState == state)
- return;
-
- checkState = state;
- emit q->checkStateChanged();
-}
-
-void QQuickButtonGroupPrivate::buttons_append(QQmlListProperty<QQuickAbstractButton> *prop, QQuickAbstractButton *obj)
-{
- QQuickButtonGroup *q = static_cast<QQuickButtonGroup *>(prop->object);
- q->addButton(obj);
-}
-
-int QQuickButtonGroupPrivate::buttons_count(QQmlListProperty<QQuickAbstractButton> *prop)
-{
- QQuickButtonGroupPrivate *p = static_cast<QQuickButtonGroupPrivate *>(prop->data);
- return p->buttons.count();
-}
-
-QQuickAbstractButton *QQuickButtonGroupPrivate::buttons_at(QQmlListProperty<QQuickAbstractButton> *prop, int index)
-{
- QQuickButtonGroupPrivate *p = static_cast<QQuickButtonGroupPrivate *>(prop->data);
- return p->buttons.value(index);
-}
-
-void QQuickButtonGroupPrivate::buttons_clear(QQmlListProperty<QQuickAbstractButton> *prop)
-{
- QQuickButtonGroupPrivate *p = static_cast<QQuickButtonGroupPrivate *>(prop->data);
- if (!p->buttons.isEmpty()) {
- p->clear();
- QQuickButtonGroup *q = static_cast<QQuickButtonGroup *>(prop->object);
- // QTBUG-52358: don't clear the checked button immediately
- QMetaObject::invokeMethod(q, "_q_updateCurrent", Qt::QueuedConnection);
- emit q->buttonsChanged();
- }
-}
-
-QQuickButtonGroup::QQuickButtonGroup(QObject *parent)
- : QObject(*(new QQuickButtonGroupPrivate), parent)
-{
-}
-
-QQuickButtonGroup::~QQuickButtonGroup()
-{
- Q_D(QQuickButtonGroup);
- d->clear();
-}
-
-QQuickButtonGroupAttached *QQuickButtonGroup::qmlAttachedProperties(QObject *object)
-{
- return new QQuickButtonGroupAttached(object);
-}
-
-/*!
- \qmlproperty AbstractButton QtQuick.Controls::ButtonGroup::checkedButton
-
- This property holds the currently selected button in an exclusive group,
- or \c null if there is none or the group is non-exclusive.
-
- By default, it is the first checked button added to an exclusive button group.
-
- \sa exclusive
-*/
-QQuickAbstractButton *QQuickButtonGroup::checkedButton() const
-{
- Q_D(const QQuickButtonGroup);
- return d->checkedButton;
-}
-
-void QQuickButtonGroup::setCheckedButton(QQuickAbstractButton *checkedButton)
-{
- Q_D(QQuickButtonGroup);
- if (d->checkedButton == checkedButton)
- return;
-
- if (d->checkedButton)
- d->checkedButton->setChecked(false);
- d->checkedButton = checkedButton;
- if (checkedButton)
- checkedButton->setChecked(true);
- emit checkedButtonChanged();
-}
-
-/*!
- \qmlproperty list<AbstractButton> QtQuick.Controls::ButtonGroup::buttons
- \default
-
- This property holds the list of buttons.
-
- \code
- ButtonGroup {
- buttons: column.children
- }
-
- Column {
- id: column
-
- RadioButton {
- checked: true
- text: qsTr("Option A")
- }
-
- RadioButton {
- text: qsTr("Option B")
- }
- }
- \endcode
-
- \sa group
-*/
-QQmlListProperty<QQuickAbstractButton> QQuickButtonGroup::buttons()
-{
- Q_D(QQuickButtonGroup);
- return QQmlListProperty<QQuickAbstractButton>(this, d,
- QQuickButtonGroupPrivate::buttons_append,
- QQuickButtonGroupPrivate::buttons_count,
- QQuickButtonGroupPrivate::buttons_at,
- QQuickButtonGroupPrivate::buttons_clear);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::ButtonGroup::exclusive
-
- This property holds whether the button group is exclusive. The default value is \c true.
-
- If this property is \c true, then only one button in the group can be checked at any given time.
- The user can click on any button to check it, and that button will replace the existing one as
- the checked button in the group.
-
- In an exclusive group, the user cannot uncheck the currently checked button by clicking on it;
- instead, another button in the group must be clicked to set the new checked button for that group.
-
- In a non-exclusive group, checking and unchecking buttons does not affect the other buttons in
- the group. Furthermore, the value of the \l checkedButton property is \c null.
-*/
-bool QQuickButtonGroup::isExclusive() const
-{
- Q_D(const QQuickButtonGroup);
- return d->exclusive;
-}
-
-void QQuickButtonGroup::setExclusive(bool exclusive)
-{
- Q_D(QQuickButtonGroup);
- if (d->exclusive == exclusive)
- return;
-
- d->exclusive = exclusive;
- emit exclusiveChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty enumeration QtQuick.Controls::ButtonGroup::checkState
-
- This property holds the combined check state of the button group.
-
- Available states:
- \value Qt.Unchecked None of the buttons are checked.
- \value Qt.PartiallyChecked Some of the buttons are checked.
- \value Qt.Checked All of the buttons are checked.
-
- Setting the check state of a non-exclusive button group to \c Qt.Unchecked
- or \c Qt.Checked unchecks or checks all buttons in the group, respectively.
- \c Qt.PartiallyChecked is ignored.
-
- Setting the check state of an exclusive button group to \c Qt.Unchecked
- unchecks the \l checkedButton. \c Qt.Checked and \c Qt.PartiallyChecked
- are ignored.
-*/
-Qt::CheckState QQuickButtonGroup::checkState() const
-{
- Q_D(const QQuickButtonGroup);
- return d->checkState;
-}
-
-void QQuickButtonGroup::setCheckState(Qt::CheckState state)
-{
- Q_D(QQuickButtonGroup);
- if (d->checkState == state || state == Qt::PartiallyChecked)
- return;
-
- d->settingCheckState = true;
- if (d->exclusive) {
- if (d->checkedButton && state == Qt::Unchecked)
- setCheckedButton(nullptr);
- } else {
- for (QQuickAbstractButton *button : qAsConst(d->buttons))
- button->setChecked(state == Qt::Checked);
- }
- d->settingCheckState = false;
- d->setCheckState(state);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ButtonGroup::addButton(AbstractButton button)
-
- Adds a \a button to the button group.
-
- \note Manually adding objects to a button group is typically unnecessary.
- The \l buttons property and the \l group attached property provide a
- convenient and declarative syntax.
-
- \sa buttons, group
-*/
-void QQuickButtonGroup::addButton(QQuickAbstractButton *button)
-{
- Q_D(QQuickButtonGroup);
- if (!button || d->buttons.contains(button))
- return;
-
- QQuickAbstractButtonPrivate::get(button)->group = this;
- QObjectPrivate::connect(button, &QQuickAbstractButton::clicked, d, &QQuickButtonGroupPrivate::buttonClicked);
- QObjectPrivate::connect(button, &QQuickAbstractButton::checkedChanged, d, &QQuickButtonGroupPrivate::_q_updateCurrent);
-
- if (d->exclusive && button->isChecked())
- setCheckedButton(button);
-
- d->buttons.append(button);
- d->updateCheckState();
- emit buttonsChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ButtonGroup::removeButton(AbstractButton button)
-
- Removes a \a button from the button group.
-
- \note Manually removing objects from a button group is typically unnecessary.
- The \l buttons property and the \l group attached property provide a
- convenient and declarative syntax.
-
- \sa buttons, group
-*/
-void QQuickButtonGroup::removeButton(QQuickAbstractButton *button)
-{
- Q_D(QQuickButtonGroup);
- if (!button || !d->buttons.contains(button))
- return;
-
- QQuickAbstractButtonPrivate::get(button)->group = nullptr;
- QObjectPrivate::disconnect(button, &QQuickAbstractButton::clicked, d, &QQuickButtonGroupPrivate::buttonClicked);
- QObjectPrivate::disconnect(button, &QQuickAbstractButton::checkedChanged, d, &QQuickButtonGroupPrivate::_q_updateCurrent);
-
- if (d->checkedButton == button)
- setCheckedButton(nullptr);
-
- d->buttons.removeOne(button);
- d->updateCheckState();
- emit buttonsChanged();
-}
-
-void QQuickButtonGroup::classBegin()
-{
- Q_D(QQuickButtonGroup);
- d->complete = false;
-}
-
-void QQuickButtonGroup::componentComplete()
-{
- Q_D(QQuickButtonGroup);
- d->complete = true;
- if (!d->buttons.isEmpty())
- d->updateCheckState();
-}
-
-class QQuickButtonGroupAttachedPrivate : public QObjectPrivate
-{
-public:
- QQuickButtonGroup *group = nullptr;
-};
-
-QQuickButtonGroupAttached::QQuickButtonGroupAttached(QObject *parent)
- : QObject(*(new QQuickButtonGroupAttachedPrivate), parent)
-{
-}
-
-/*!
- \qmlattachedproperty ButtonGroup QtQuick.Controls::ButtonGroup::group
-
- This property attaches a button to a button group.
-
- \code
- ButtonGroup { id: group }
-
- RadioButton {
- checked: true
- text: qsTr("Option A")
- ButtonGroup.group: group
- }
-
- RadioButton {
- text: qsTr("Option B")
- ButtonGroup.group: group
- }
- \endcode
-
- \sa buttons
-*/
-QQuickButtonGroup *QQuickButtonGroupAttached::group() const
-{
- Q_D(const QQuickButtonGroupAttached);
- return d->group;
-}
-
-void QQuickButtonGroupAttached::setGroup(QQuickButtonGroup *group)
-{
- Q_D(QQuickButtonGroupAttached);
- if (d->group == group)
- return;
-
- if (d->group)
- d->group->removeButton(qobject_cast<QQuickAbstractButton*>(parent()));
- d->group = group;
- if (group)
- group->addButton(qobject_cast<QQuickAbstractButton*>(parent()));
- emit groupChanged();
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickbuttongroup_p.cpp"
diff --git a/src/quicktemplates2/qquickbuttongroup_p.h b/src/quicktemplates2/qquickbuttongroup_p.h
deleted file mode 100644
index 84ddd225..00000000
--- a/src/quicktemplates2/qquickbuttongroup_p.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKBUTTONGROUP_P_H
-#define QQUICKBUTTONGROUP_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtQml/qqml.h>
-#include <QtQml/qqmlparserstatus.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAbstractButton;
-class QQuickButtonGroupPrivate;
-class QQuickButtonGroupAttached;
-class QQuickButtonGroupAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickButtonGroup : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_PROPERTY(QQuickAbstractButton *checkedButton READ checkedButton WRITE setCheckedButton NOTIFY checkedButtonChanged FINAL)
- Q_PROPERTY(QQmlListProperty<QQuickAbstractButton> buttons READ buttons NOTIFY buttonsChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool exclusive READ isExclusive WRITE setExclusive NOTIFY exclusiveChanged FINAL REVISION 3)
- // 2.4 (Qt 5.11)
- Q_PROPERTY(Qt::CheckState checkState READ checkState WRITE setCheckState NOTIFY checkStateChanged FINAL REVISION 4)
- Q_INTERFACES(QQmlParserStatus)
-
-public:
- explicit QQuickButtonGroup(QObject *parent = nullptr);
- ~QQuickButtonGroup();
-
- static QQuickButtonGroupAttached *qmlAttachedProperties(QObject *object);
-
- QQuickAbstractButton *checkedButton() const;
- void setCheckedButton(QQuickAbstractButton *checkedButton);
-
- QQmlListProperty<QQuickAbstractButton> buttons();
-
- bool isExclusive() const;
- void setExclusive(bool exclusive);
-
- // 2.4 (Qt 5.11)
- Qt::CheckState checkState() const;
- void setCheckState(Qt::CheckState state);
-
-public Q_SLOTS:
- void addButton(QQuickAbstractButton *button);
- void removeButton(QQuickAbstractButton *button);
-
-Q_SIGNALS:
- void checkedButtonChanged();
- void buttonsChanged();
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void clicked(QQuickAbstractButton *button);
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void exclusiveChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void checkStateChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
-private:
- Q_DISABLE_COPY(QQuickButtonGroup)
- Q_DECLARE_PRIVATE(QQuickButtonGroup)
-
- Q_PRIVATE_SLOT(d_func(), void _q_updateCurrent())
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickButtonGroupAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickButtonGroup *group READ group WRITE setGroup NOTIFY groupChanged FINAL)
-
-public:
- explicit QQuickButtonGroupAttached(QObject *parent = nullptr);
-
- QQuickButtonGroup *group() const;
- void setGroup(QQuickButtonGroup *group);
-
-Q_SIGNALS:
- void groupChanged();
-
-private:
- Q_DISABLE_COPY(QQuickButtonGroupAttached)
- Q_DECLARE_PRIVATE(QQuickButtonGroupAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickButtonGroup)
-QML_DECLARE_TYPEINFO(QQuickButtonGroup, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKBUTTONGROUP_P_H
diff --git a/src/quicktemplates2/qquickcheckbox.cpp b/src/quicktemplates2/qquickcheckbox.cpp
deleted file mode 100644
index 0227e95d..00000000
--- a/src/quicktemplates2/qquickcheckbox.cpp
+++ /dev/null
@@ -1,248 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcheckbox_p.h"
-#include "qquickabstractbutton_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/qjsvalue.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype CheckBox
- \inherits AbstractButton
- \instantiates QQuickCheckBox
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-buttons
- \brief Check button that can be toggled on or off.
-
- \image qtquickcontrols2-checkbox.gif
-
- CheckBox presents an option button that can be toggled on (checked) or
- off (unchecked). Check boxes are typically used to select one or more
- options from a set of options. For larger sets of options, such as those
- in a list, consider using \l CheckDelegate instead.
-
- CheckBox inherits its API from \l AbstractButton. For instance, the
- state of the checkbox can be set with the \l {AbstractButton::}{checked} property.
-
- In addition to the checked and unchecked states, there is a third state:
- partially checked. The partially checked state can be enabled using the
- \l tristate property. This state indicates that the regular checked/unchecked
- state can not be determined; generally because of other states that affect
- the checkbox. This state is useful when several child nodes are selected
- in a treeview, for example.
-
- \code
- ColumnLayout {
- CheckBox {
- checked: true
- text: qsTr("First")
- }
- CheckBox {
- text: qsTr("Second")
- }
- CheckBox {
- checked: true
- text: qsTr("Third")
- }
- }
- \endcode
-
- Hierarchical checkbox groups can be managed with a non-exclusive
- \l ButtonGroup.
-
- \image qtquickcontrols2-checkbox-group.png
-
- The following example illustrates how the combined check state of
- children can be bound to the check state of the parent checkbox:
-
- \snippet qtquickcontrols2-checkbox-group.qml 1
-
- \sa {Customizing CheckBox}, ButtonGroup, {Button Controls}
-*/
-
-class QQuickCheckBoxPrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickCheckBox)
-
-public:
- void setNextCheckState(const QJSValue &callback);
-
- bool tristate = false;
- Qt::CheckState checkState = Qt::Unchecked;
- QJSValue nextCheckState;
-};
-
-void QQuickCheckBoxPrivate::setNextCheckState(const QJSValue &callback)
-{
- Q_Q(QQuickCheckBox);
- nextCheckState = callback;
- emit q->nextCheckStateChanged();
-}
-
-QQuickCheckBox::QQuickCheckBox(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickCheckBoxPrivate), parent)
-{
- setCheckable(true);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::CheckBox::tristate
-
- This property holds whether the checkbox is a tri-state checkbox.
-
- In the animation below, the first checkbox is tri-state:
-
- \image qtquickcontrols2-checkbox-tristate.gif
-
- The default is \c false, i.e., the checkbox has only two states.
-*/
-bool QQuickCheckBox::isTristate() const
-{
- Q_D(const QQuickCheckBox);
- return d->tristate;
-}
-
-void QQuickCheckBox::setTristate(bool tristate)
-{
- Q_D(QQuickCheckBox);
- if (d->tristate == tristate)
- return;
-
- d->tristate = tristate;
- emit tristateChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::CheckBox::checkState
-
- This property holds the check state of the checkbox.
-
- Available states:
- \value Qt.Unchecked The checkbox is unchecked.
- \value Qt.PartiallyChecked The checkbox is partially checked. This state is only used when \l tristate is enabled.
- \value Qt.Checked The checkbox is checked.
-
- \sa tristate, {AbstractButton::checked}{checked}
-*/
-Qt::CheckState QQuickCheckBox::checkState() const
-{
- Q_D(const QQuickCheckBox);
- return d->checkState;
-}
-
-void QQuickCheckBox::setCheckState(Qt::CheckState state)
-{
- Q_D(QQuickCheckBox);
- if (d->checkState == state)
- return;
-
- bool wasChecked = isChecked();
- d->checked = state == Qt::Checked;
- d->checkState = state;
- emit checkStateChanged();
- if (d->checked != wasChecked)
- emit checkedChanged();
-}
-
-QFont QQuickCheckBox::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::CheckBox);
-}
-
-QPalette QQuickCheckBox::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::CheckBox);
-}
-
-void QQuickCheckBox::buttonChange(ButtonChange change)
-{
- if (change == ButtonCheckedChange)
- setCheckState(isChecked() ? Qt::Checked : Qt::Unchecked);
- else
- QQuickAbstractButton::buttonChange(change);
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty function QtQuick.Controls::CheckBox::nextCheckState
-
- This property holds a callback function that is called to determine
- the next check state whenever the checkbox is interactively toggled
- by the user via touch, mouse, or keyboard.
-
- By default, a normal checkbox cycles between \c Qt.Unchecked and
- \c Qt.Checked states, and a tri-state checkbox cycles between
- \c Qt.Unchecked, \c Qt.PartiallyChecked, and \c Qt.Checked states.
-
- The \c nextCheckState callback function can override the default behavior.
- The following example implements a tri-state checkbox that can present
- a partially checked state depending on external conditions, but never
- cycles to the partially checked state when interactively toggled by
- the user.
-
- \code
- CheckBox {
- tristate: true
- checkState: allChildrenChecked ? Qt.Checked :
- anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked
-
- nextCheckState: function() {
- if (checkState === Qt.Checked)
- return Qt.Unchecked
- else
- return Qt.Checked
- }
- }
- \endcode
-*/
-void QQuickCheckBox::nextCheckState()
-{
- Q_D(QQuickCheckBox);
- if (d->nextCheckState.isCallable())
- setCheckState(static_cast<Qt::CheckState>(d->nextCheckState.call().toInt()));
- else if (d->tristate)
- setCheckState(static_cast<Qt::CheckState>((d->checkState + 1) % 3));
- else
- QQuickAbstractButton::nextCheckState();
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickcheckbox_p.cpp"
diff --git a/src/quicktemplates2/qquickcheckbox_p.h b/src/quicktemplates2/qquickcheckbox_p.h
deleted file mode 100644
index f0293c11..00000000
--- a/src/quicktemplates2/qquickcheckbox_p.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCHECKBOX_P_H
-#define QQUICKCHECKBOX_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickCheckBoxPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickCheckBox : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(bool tristate READ isTristate WRITE setTristate NOTIFY tristateChanged FINAL)
- Q_PROPERTY(Qt::CheckState checkState READ checkState WRITE setCheckState NOTIFY checkStateChanged FINAL)
- // 2.4 (Qt 5.11)
- Q_PRIVATE_PROPERTY(QQuickCheckBox::d_func(), QJSValue nextCheckState MEMBER nextCheckState WRITE setNextCheckState NOTIFY nextCheckStateChanged FINAL REVISION 4)
-
-public:
- explicit QQuickCheckBox(QQuickItem *parent = nullptr);
-
- bool isTristate() const;
- void setTristate(bool tristate);
-
- Qt::CheckState checkState() const;
- void setCheckState(Qt::CheckState state);
-
-Q_SIGNALS:
- void tristateChanged();
- void checkStateChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void nextCheckStateChanged();
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
- void buttonChange(ButtonChange change) override;
- void nextCheckState() override;
-
-private:
- Q_DISABLE_COPY(QQuickCheckBox)
- Q_DECLARE_PRIVATE(QQuickCheckBox)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickCheckBox)
-
-#endif // QQUICKCHECKBOX_P_H
diff --git a/src/quicktemplates2/qquickcheckdelegate.cpp b/src/quicktemplates2/qquickcheckdelegate.cpp
deleted file mode 100644
index 17f1f0b2..00000000
--- a/src/quicktemplates2/qquickcheckdelegate.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcheckdelegate_p.h"
-#include "qquickitemdelegate_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/qjsvalue.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype CheckDelegate
- \inherits ItemDelegate
- \instantiates QQuickCheckDelegate
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-delegates
- \brief Item delegate with a check indicator that can be toggled on or off.
-
- \image qtquickcontrols2-checkdelegate.gif
-
- CheckDelegate presents an item delegate that can be toggled on (checked) or
- off (unchecked). Check delegates are typically used to select one or more
- options from a set of options in a list. For smaller sets of options, or
- for options that need to be uniquely identifiable, consider using
- \l CheckBox instead.
-
- CheckDelegate inherits its API from \l ItemDelegate, which is inherited
- from AbstractButton. For instance, you can set \l {AbstractButton::text}{text},
- and react to \l {AbstractButton::clicked}{clicks} using the AbstractButton
- API. The state of the check delegate can be set with the
- \l {AbstractButton::}{checked} property.
-
- In addition to the checked and unchecked states, there is a third state:
- partially checked. The partially checked state can be enabled using the
- \l tristate property. This state indicates that the regular checked/unchecked
- state can not be determined; generally because of other states that affect
- the check delegate. This state is useful when several child nodes are selected
- in a treeview, for example.
-
- \code
- ListView {
- model: ["Option 1", "Option 2", "Option 3"]
- delegate: CheckDelegate {
- text: modelData
- }
- }
- \endcode
-
- \sa {Customizing CheckDelegate}, {Delegate Controls}, CheckBox
-*/
-
-class QQuickCheckDelegatePrivate : public QQuickItemDelegatePrivate
-{
- Q_DECLARE_PUBLIC(QQuickCheckDelegate)
-
-public:
- void setNextCheckState(const QJSValue &callback);
-
- bool tristate = false;
- Qt::CheckState checkState = Qt::Unchecked;
- QJSValue nextCheckState;
-};
-
-void QQuickCheckDelegatePrivate::setNextCheckState(const QJSValue &callback)
-{
- Q_Q(QQuickCheckDelegate);
- nextCheckState = callback;
- emit q->nextCheckStateChanged();
-}
-
-QQuickCheckDelegate::QQuickCheckDelegate(QQuickItem *parent)
- : QQuickItemDelegate(*(new QQuickCheckDelegatePrivate), parent)
-{
- setCheckable(true);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::CheckDelegate::tristate
-
- This property determines whether the check delegate has three states.
-
- In the animation below, the first checkdelegate is tri-state:
-
- \image qtquickcontrols2-checkdelegate-tristate.gif
-
- The default is \c false, i.e., the delegate has only two states.
-*/
-bool QQuickCheckDelegate::isTristate() const
-{
- Q_D(const QQuickCheckDelegate);
- return d->tristate;
-}
-
-void QQuickCheckDelegate::setTristate(bool tristate)
-{
- Q_D(QQuickCheckDelegate);
- if (d->tristate == tristate)
- return;
-
- d->tristate = tristate;
- emit tristateChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::CheckDelegate::checkState
-
- This property determines the check state of the check delegate.
-
- Available states:
- \value Qt.Unchecked The delegate is unchecked.
- \value Qt.PartiallyChecked The delegate is partially checked. This state is only used when \l tristate is enabled.
- \value Qt.Checked The delegate is checked.
-
- \sa tristate, {AbstractButton::checked}{checked}
-*/
-Qt::CheckState QQuickCheckDelegate::checkState() const
-{
- Q_D(const QQuickCheckDelegate);
- return d->checkState;
-}
-
-void QQuickCheckDelegate::setCheckState(Qt::CheckState state)
-{
- Q_D(QQuickCheckDelegate);
- if (d->checkState == state)
- return;
-
- bool wasChecked = isChecked();
- d->checked = state == Qt::Checked;
- d->checkState = state;
- emit checkStateChanged();
- if (d->checked != wasChecked)
- emit checkedChanged();
-}
-
-QFont QQuickCheckDelegate::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ListView);
-}
-
-QPalette QQuickCheckDelegate::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ListView);
-}
-
-void QQuickCheckDelegate::buttonChange(ButtonChange change)
-{
- if (change == ButtonCheckedChange)
- setCheckState(isChecked() ? Qt::Checked : Qt::Unchecked);
- else
- QQuickAbstractButton::buttonChange(change);
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty function QtQuick.Controls::CheckDelegate::nextCheckState
-
- This property holds a callback function that is called to determine
- the next check state whenever the check delegate is interactively toggled
- by the user via touch, mouse, or keyboard.
-
- By default, a normal check delegate cycles between \c Qt.Unchecked and
- \c Qt.Checked states, and a tri-state check delegate cycles between
- \c Qt.Unchecked, \c Qt.PartiallyChecked, and \c Qt.Checked states.
-
- The \c nextCheckState callback function can override the default behavior.
- The following example implements a tri-state check delegate that can present
- a partially checked state depending on external conditions, but never
- cycles to the partially checked state when interactively toggled by
- the user.
-
- \code
- CheckDelegate {
- tristate: true
- checkState: allChildrenChecked ? Qt.Checked :
- anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked
-
- nextCheckState: function() {
- if (checkState === Qt.Checked)
- return Qt.Unchecked
- else
- return Qt.Checked
- }
- }
- \endcode
-*/
-void QQuickCheckDelegate::nextCheckState()
-{
- Q_D(QQuickCheckDelegate);
- if (d->nextCheckState.isCallable())
- setCheckState(static_cast<Qt::CheckState>(d->nextCheckState.call().toInt()));
- else if (d->tristate)
- setCheckState(static_cast<Qt::CheckState>((d->checkState + 1) % 3));
- else
- QQuickItemDelegate::nextCheckState();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickCheckDelegate::accessibleRole() const
-{
- return QAccessible::CheckBox;
-}
-#endif
-
-QT_END_NAMESPACE
-
-#include "moc_qquickcheckdelegate_p.cpp"
diff --git a/src/quicktemplates2/qquickcheckdelegate_p.h b/src/quicktemplates2/qquickcheckdelegate_p.h
deleted file mode 100644
index 2d5a5cb2..00000000
--- a/src/quicktemplates2/qquickcheckdelegate_p.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCHECKDELEGATE_P_H
-#define QQUICKCHECKDELEGATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickitemdelegate_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickCheckDelegatePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickCheckDelegate : public QQuickItemDelegate
-{
- Q_OBJECT
- Q_PROPERTY(bool tristate READ isTristate WRITE setTristate NOTIFY tristateChanged FINAL)
- Q_PROPERTY(Qt::CheckState checkState READ checkState WRITE setCheckState NOTIFY checkStateChanged FINAL)
- // 2.4 (Qt 5.11)
- Q_PRIVATE_PROPERTY(QQuickCheckDelegate::d_func(), QJSValue nextCheckState MEMBER nextCheckState WRITE setNextCheckState NOTIFY nextCheckStateChanged FINAL REVISION 4)
-
-public:
- explicit QQuickCheckDelegate(QQuickItem *parent = nullptr);
-
- bool isTristate() const;
- void setTristate(bool tristate);
-
- Qt::CheckState checkState() const;
- void setCheckState(Qt::CheckState state);
-
-Q_SIGNALS:
- void tristateChanged();
- void checkStateChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void nextCheckStateChanged();
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
- void buttonChange(ButtonChange change) override;
- void nextCheckState() override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickCheckDelegate)
- Q_DECLARE_PRIVATE(QQuickCheckDelegate)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickCheckDelegate)
-
-#endif // QQUICKCHECKDELEGATE_P_H
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
deleted file mode 100644
index 21eecfe1..00000000
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ /dev/null
@@ -1,1979 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcombobox_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickabstractbutton_p.h"
-#include "qquickabstractbutton_p_p.h"
-#include "qquickpopup_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtCore/qregularexpression.h>
-#include <QtCore/qabstractitemmodel.h>
-#include <QtCore/qglobal.h>
-#include <QtGui/qinputmethod.h>
-#include <QtGui/qguiapplication.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/qjsvalue.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/private/qlazilyallocated_p.h>
-#include <private/qqmldelegatemodel_p.h>
-#include <QtQuick/private/qquickevents_p_p.h>
-#include <QtQuick/private/qquicktextinput_p.h>
-#include <QtQuick/private/qquickitemview_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ComboBox
- \inherits Control
- \instantiates QQuickComboBox
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \ingroup qtquickcontrols2-focusscopes
- \brief Combined button and popup list for selecting options.
-
- \image qtquickcontrols2-combobox.gif
-
- ComboBox is a combined button and popup list. It provides a means of
- presenting a list of options to the user in a way that takes up the
- minimum amount of screen space.
-
- ComboBox is populated with a data model. The data model is commonly
- a JavaScript array, a \l ListModel or an integer, but other types
- of \l {qml-data-models}{data models} are also supported.
-
- \code
- ComboBox {
- model: ["First", "Second", "Third"]
- }
- \endcode
-
- \section1 Editable ComboBox
-
- ComboBox can be made \l editable. An editable combo box auto-completes
- its text based on what is available in the model.
-
- The following example demonstrates appending content to an editable
- combo box by reacting to the \l accepted signal.
-
- \snippet qtquickcontrols2-combobox-accepted.qml combobox
-
- \section1 ComboBox Model Roles
-
- ComboBox is able to visualize standard \l {qml-data-models}{data models}
- that provide the \c modelData role:
- \list
- \li models that have only one role
- \li models that do not have named roles (JavaScript array, integer)
- \endlist
-
- When using models that have multiple named roles, ComboBox must be configured
- to use a specific \l {textRole}{text role} for its \l {displayText}{display text}
- and \l delegate instances. If you want to use a role of the model item
- that corresponds to the text role, set \l valueRole. The \l currentValue
- property and \l indexOfValue() method can then be used to get information
- about those values.
-
- For example:
-
- \snippet qtquickcontrols2-combobox-valuerole.qml file
-
- \note If ComboBox is assigned a data model that has multiple named roles, but
- \l textRole is not defined, ComboBox is unable to visualize it and throws a
- \c {ReferenceError: modelData is not defined}.
-
- \sa {Customizing ComboBox}, {Input Controls}, {Focus Management in Qt Quick Controls}
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::ComboBox::activated(int index)
-
- This signal is emitted when the item at \a index is activated by the user.
-
- An item is activated when it is selected while the popup is open,
- causing the popup to close (and \l currentIndex to change),
- or while the popup is closed and the combo box is navigated via
- keyboard, causing the \l currentIndex to change.
- The \l currentIndex property is set to \a index.
-
- \sa currentIndex
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::ComboBox::highlighted(int index)
-
- This signal is emitted when the item at \a index in the popup list is highlighted by the user.
-
- The highlighted signal is only emitted when the popup is open and an item
- is highlighted, but not necessarily \l activated.
-
- \sa highlightedIndex
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal void QtQuick.Controls::ComboBox::accepted()
-
- This signal is emitted when the \uicontrol Return or \uicontrol Enter key is pressed
- on an \l editable combo box.
-
- You can handle this signal in order to add the newly entered
- item to the model, for example:
-
- \snippet qtquickcontrols2-combobox-accepted.qml combobox
-
- Before the signal is emitted, a check is done to see if the string
- exists in the model. If it does, \l currentIndex will be set to its index,
- and \l currentText to the string itself.
-
- After the signal has been emitted, and if the first check failed (that is,
- the item did not exist), another check will be done to see if the item was
- added by the signal handler. If it was, the \l currentIndex and
- \l currentText are updated accordingly. Otherwise, they will be set to
- \c -1 and \c "", respectively.
-
- \note If there is a \l validator set on the combo box, the signal will only be
- emitted if the input is in an acceptable state.
-*/
-
-namespace {
- enum Activation { NoActivate, Activate };
- enum Highlighting { NoHighlight, Highlight };
-}
-
-class QQuickComboBoxDelegateModel : public QQmlDelegateModel
-{
-public:
- explicit QQuickComboBoxDelegateModel(QQuickComboBox *combo);
- QVariant variantValue(int index, const QString &role) override;
-
-private:
- QQuickComboBox *combo = nullptr;
-};
-
-QQuickComboBoxDelegateModel::QQuickComboBoxDelegateModel(QQuickComboBox *combo)
- : QQmlDelegateModel(qmlContext(combo), combo),
- combo(combo)
-{
-}
-
-QVariant QQuickComboBoxDelegateModel::variantValue(int index, const QString &role)
-{
- const QVariant model = combo->model();
- if (model.userType() == QMetaType::QVariantList) {
- QVariant object = model.toList().value(index);
- if (object.userType() == QMetaType::QVariantMap) {
- const QVariantMap data = object.toMap();
- if (data.count() == 1 && role == QLatin1String("modelData"))
- return data.first();
- return data.value(role);
- } else if (object.userType() == QMetaType::QObjectStar) {
- const QObject *data = object.value<QObject *>();
- if (data && role != QLatin1String("modelData"))
- return data->property(role.toUtf8());
- }
- }
- return QQmlDelegateModel::variantValue(index, role);
-}
-
-class QQuickComboBoxPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickComboBox)
-
-public:
- bool isPopupVisible() const;
- void showPopup();
- void hidePopup(bool accept);
- void togglePopup(bool accept);
- void popupVisibleChanged();
-
- void itemClicked();
- void itemHovered();
-
- void createdItem(int index, QObject *object);
- void modelUpdated();
- void countChanged();
-
- void updateEditText();
- void updateCurrentText();
- void updateCurrentValue();
- void updateCurrentText(bool hasDelegateModelObject);
- void updateCurrentValue(bool hasDelegateModelObject);
- void updateCurrentTextAndValue();
-
- bool isValidIndex(int index) const;
- QString fastTextAt(int index) const;
- QVariant fastValueAt(int index) const;
-
- void acceptInput();
- QString tryComplete(const QString &inputText);
-
- void incrementCurrentIndex();
- void decrementCurrentIndex();
- void setCurrentIndex(int index, Activation activate);
- void updateHighlightedIndex();
- void setHighlightedIndex(int index, Highlighting highlight);
-
- void keySearch(const QString &text);
- int match(int start, const QString &text, Qt::MatchFlags flags) const;
-
- void createDelegateModel();
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- void cancelIndicator();
- void executeIndicator(bool complete = false);
-
- void cancelPopup();
- void executePopup(bool complete = false);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- bool flat = false;
- bool down = false;
- bool hasDown = false;
- bool pressed = false;
- bool ownModel = false;
- bool keyNavigating = false;
- bool hasDisplayText = false;
- bool hasCurrentIndex = false;
- int highlightedIndex = -1;
- int currentIndex = -1;
- QVariant model;
- QString textRole;
- QString currentText;
- QString displayText;
- QString valueRole;
- QVariant currentValue;
- QQuickItem *pressedItem = nullptr;
- QQmlInstanceModel *delegateModel = nullptr;
- QQmlComponent *delegate = nullptr;
- QQuickDeferredPointer<QQuickItem> indicator;
- QQuickDeferredPointer<QQuickPopup> popup;
-
- struct ExtraData {
- bool editable = false;
- bool accepting = false;
- bool allowComplete = false;
- Qt::InputMethodHints inputMethodHints = Qt::ImhNone;
- QString editText;
- QValidator *validator = nullptr;
- };
- QLazilyAllocated<ExtraData> extra;
-};
-
-bool QQuickComboBoxPrivate::isPopupVisible() const
-{
- return popup && popup->isVisible();
-}
-
-void QQuickComboBoxPrivate::showPopup()
-{
- if (!popup)
- executePopup(true);
-
- if (popup && !popup->isVisible())
- popup->open();
-}
-
-void QQuickComboBoxPrivate::hidePopup(bool accept)
-{
- Q_Q(QQuickComboBox);
- if (accept) {
- q->setCurrentIndex(highlightedIndex);
- emit q->activated(currentIndex);
- }
- if (popup && popup->isVisible())
- popup->close();
-}
-
-void QQuickComboBoxPrivate::togglePopup(bool accept)
-{
- if (!popup || !popup->isVisible())
- showPopup();
- else
- hidePopup(accept);
-}
-
-void QQuickComboBoxPrivate::popupVisibleChanged()
-{
- Q_Q(QQuickComboBox);
- if (isPopupVisible())
- QGuiApplication::inputMethod()->reset();
-
- QQuickItemView *itemView = popup->findChild<QQuickItemView *>();
- if (itemView)
- itemView->setHighlightRangeMode(QQuickItemView::NoHighlightRange);
-
- updateHighlightedIndex();
-
- if (itemView)
- itemView->positionViewAtIndex(highlightedIndex, QQuickItemView::Beginning);
-
- if (!hasDown) {
- q->setDown(pressed || isPopupVisible());
- hasDown = false;
- }
-}
-
-void QQuickComboBoxPrivate::itemClicked()
-{
- Q_Q(QQuickComboBox);
- int index = delegateModel->indexOf(q->sender(), nullptr);
- if (index != -1) {
- setHighlightedIndex(index, Highlight);
- hidePopup(true);
- }
-}
-
-void QQuickComboBoxPrivate::itemHovered()
-{
- Q_Q(QQuickComboBox);
- if (keyNavigating)
- return;
-
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(q->sender());
- if (!button || !button->isHovered() || QQuickAbstractButtonPrivate::get(button)->touchId != -1)
- return;
-
- int index = delegateModel->indexOf(button, nullptr);
- if (index != -1) {
- setHighlightedIndex(index, Highlight);
-
- if (QQuickItemView *itemView = popup->findChild<QQuickItemView *>())
- itemView->positionViewAtIndex(index, QQuickItemView::Contain);
- }
-}
-
-void QQuickComboBoxPrivate::createdItem(int index, QObject *object)
-{
- Q_Q(QQuickComboBox);
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (item && !item->parentItem()) {
- if (popup)
- item->setParentItem(popup->contentItem());
- else
- item->setParentItem(q);
- QQuickItemPrivate::get(item)->setCulled(true);
- }
-
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(object);
- if (button) {
- button->setFocusPolicy(Qt::NoFocus);
- connect(button, &QQuickAbstractButton::clicked, this, &QQuickComboBoxPrivate::itemClicked);
- connect(button, &QQuickAbstractButton::hoveredChanged, this, &QQuickComboBoxPrivate::itemHovered);
- }
-
- if (index == currentIndex && !q->isEditable())
- updateCurrentText();
-}
-
-void QQuickComboBoxPrivate::modelUpdated()
-{
- if (!extra.isAllocated() || !extra->accepting)
- updateCurrentText();
-}
-
-void QQuickComboBoxPrivate::countChanged()
-{
- Q_Q(QQuickComboBox);
- if (q->count() == 0)
- q->setCurrentIndex(-1);
- emit q->countChanged();
-}
-
-void QQuickComboBoxPrivate::updateEditText()
-{
- Q_Q(QQuickComboBox);
- QQuickTextInput *input = qobject_cast<QQuickTextInput *>(contentItem);
- if (!input)
- return;
-
- const QString text = input->text();
-
- if (extra.isAllocated() && extra->allowComplete && !text.isEmpty()) {
- const QString completed = tryComplete(text);
- if (completed.length() > text.length()) {
- input->setText(completed);
- input->select(completed.length(), text.length());
- return;
- }
- }
- q->setEditText(text);
-}
-
-// We have these two rather than just using default arguments
-// because QObjectPrivate::connect() doesn't accept lambdas.
-void QQuickComboBoxPrivate::updateCurrentText()
-{
- updateCurrentText(false);
-}
-
-void QQuickComboBoxPrivate::updateCurrentValue()
-{
- updateCurrentValue(false);
-}
-
-void QQuickComboBoxPrivate::updateCurrentText(bool hasDelegateModelObject)
-{
- Q_Q(QQuickComboBox);
- QString text;
- // If a delegate model object was passed in, it means the calling code
- // has decided to reuse it for several function calls to speed things up.
- // So, use the faster (private) version in that case.
- // For other cases, we use the version that creates the delegate model object
- // itself in order to have neater, more convenient calling code.
- if (isValidIndex(currentIndex)) {
- if (hasDelegateModelObject)
- text = fastTextAt(currentIndex);
- else
- text = q->textAt(currentIndex);
- }
-
- if (currentText != text) {
- currentText = text;
- if (!hasDisplayText)
- q->setAccessibleName(text);
- emit q->currentTextChanged();
- }
- if (!hasDisplayText && displayText != text) {
- displayText = text;
- emit q->displayTextChanged();
- }
- if (!extra.isAllocated() || !extra->accepting)
- q->setEditText(currentText);
-}
-
-void QQuickComboBoxPrivate::updateCurrentValue(bool hasDelegateModelObject)
-{
- Q_Q(QQuickComboBox);
- QVariant value;
- // If a delegate model object was passed in, it means the calling code
- // has decided to reuse it for several function calls to speed things up.
- // So, use the faster (private) version in that case.
- if (isValidIndex(currentIndex)) {
- if (hasDelegateModelObject)
- value = fastValueAt(currentIndex);
- else
- value = q->valueAt(currentIndex);
- }
- if (currentValue == value)
- return;
-
- currentValue = value;
- emit q->currentValueChanged();
-}
-
-void QQuickComboBoxPrivate::updateCurrentTextAndValue()
-{
- QObject *object = nullptr;
- // For performance reasons, we reuse the same delegate model object: QTBUG-76029.
- if (isValidIndex(currentIndex))
- object = delegateModel->object(currentIndex);
- const bool hasDelegateModelObject = object != nullptr;
- updateCurrentText(hasDelegateModelObject);
- updateCurrentValue(hasDelegateModelObject);
- if (object)
- delegateModel->release(object);
-}
-
-bool QQuickComboBoxPrivate::isValidIndex(int index) const
-{
- return delegateModel && index >= 0 && index < delegateModel->count();
-}
-
-// For performance reasons (QTBUG-76029), both this and valueAt assume that
-// the index is valid and delegateModel->object(index) has been called.
-QString QQuickComboBoxPrivate::fastTextAt(int index) const
-{
- const QString effectiveTextRole = textRole.isEmpty() ? QStringLiteral("modelData") : textRole;
- return delegateModel->stringValue(index, effectiveTextRole);
-}
-
-QVariant QQuickComboBoxPrivate::fastValueAt(int index) const
-{
- const QString effectiveValueRole = valueRole.isEmpty() ? QStringLiteral("modelData") : valueRole;
- return delegateModel->variantValue(index, effectiveValueRole);
-}
-
-void QQuickComboBoxPrivate::acceptInput()
-{
- Q_Q(QQuickComboBox);
- int idx = q->find(extra.value().editText, Qt::MatchFixedString);
- if (idx > -1)
- q->setCurrentIndex(idx);
-
- extra.value().accepting = true;
- emit q->accepted();
-
- if (idx == -1)
- q->setCurrentIndex(q->find(extra.value().editText, Qt::MatchFixedString));
- extra.value().accepting = false;
-}
-
-QString QQuickComboBoxPrivate::tryComplete(const QString &input)
-{
- Q_Q(QQuickComboBox);
- QString match;
-
- const int itemCount = q->count();
- for (int idx = 0; idx < itemCount; ++idx) {
- const QString text = q->textAt(idx);
- if (!text.startsWith(input, Qt::CaseInsensitive))
- continue;
-
- // either the first or the shortest match
- if (match.isEmpty() || text.length() < match.length())
- match = text;
- }
-
- if (match.isEmpty())
- return input;
-
- return input + match.mid(input.length());
-}
-
-void QQuickComboBoxPrivate::setCurrentIndex(int index, Activation activate)
-{
- Q_Q(QQuickComboBox);
- if (currentIndex == index)
- return;
-
- currentIndex = index;
- emit q->currentIndexChanged();
-
- if (componentComplete)
- updateCurrentTextAndValue();
-
- if (activate)
- emit q->activated(index);
-}
-
-void QQuickComboBoxPrivate::incrementCurrentIndex()
-{
- Q_Q(QQuickComboBox);
- if (extra.isAllocated())
- extra->allowComplete = false;
- if (isPopupVisible()) {
- if (highlightedIndex < q->count() - 1)
- setHighlightedIndex(highlightedIndex + 1, Highlight);
- } else {
- if (currentIndex < q->count() - 1)
- setCurrentIndex(currentIndex + 1, Activate);
- }
- if (extra.isAllocated())
- extra->allowComplete = true;
-}
-
-void QQuickComboBoxPrivate::decrementCurrentIndex()
-{
- if (extra.isAllocated())
- extra->allowComplete = false;
- if (isPopupVisible()) {
- if (highlightedIndex > 0)
- setHighlightedIndex(highlightedIndex - 1, Highlight);
- } else {
- if (currentIndex > 0)
- setCurrentIndex(currentIndex - 1, Activate);
- }
- if (extra.isAllocated())
- extra->allowComplete = true;
-}
-
-void QQuickComboBoxPrivate::updateHighlightedIndex()
-{
- setHighlightedIndex(popup->isVisible() ? currentIndex : -1, NoHighlight);
-}
-
-void QQuickComboBoxPrivate::setHighlightedIndex(int index, Highlighting highlight)
-{
- Q_Q(QQuickComboBox);
- if (highlightedIndex == index)
- return;
-
- highlightedIndex = index;
- emit q->highlightedIndexChanged();
-
- if (highlight)
- emit q->highlighted(index);
-}
-
-void QQuickComboBoxPrivate::keySearch(const QString &text)
-{
- const int startIndex = isPopupVisible() ? highlightedIndex : currentIndex;
- const int index = match(startIndex + 1, text, Qt::MatchStartsWith | Qt::MatchWrap);
- if (index != -1) {
- if (isPopupVisible())
- setHighlightedIndex(index, Highlight);
- else
- setCurrentIndex(index, Activate);
- }
-}
-
-int QQuickComboBoxPrivate::match(int start, const QString &text, Qt::MatchFlags flags) const
-{
- Q_Q(const QQuickComboBox);
- uint matchType = flags & 0x0F;
- bool wrap = flags & Qt::MatchWrap;
- Qt::CaseSensitivity cs = flags & Qt::MatchCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive;
- QRegularExpression::PatternOptions options = flags & Qt::MatchCaseSensitive ? QRegularExpression::NoPatternOption
- : QRegularExpression::CaseInsensitiveOption;
- int from = start;
- int to = q->count();
-
- // iterates twice if wrapping
- for (int i = 0; (wrap && i < 2) || (!wrap && i < 1); ++i) {
- for (int idx = from; idx < to; ++idx) {
- QString t = q->textAt(idx);
- switch (matchType) {
- case Qt::MatchExactly:
- if (t == text)
- return idx;
- break;
- case Qt::MatchRegExp: {
- QRegularExpression rx(QRegularExpression::anchoredPattern(text), options);
- if (rx.match(t).hasMatch())
- return idx;
- break;
- }
- case Qt::MatchWildcard: {
- QRegularExpression rx(QRegularExpression::wildcardToRegularExpression(text),
- options);
- if (rx.match(t).hasMatch())
- return idx;
- break;
- }
- case Qt::MatchStartsWith:
- if (t.startsWith(text, cs))
- return idx;
- break;
- case Qt::MatchEndsWith:
- if (t.endsWith(text, cs))
- return idx;
- break;
- case Qt::MatchFixedString:
- if (t.compare(text, cs) == 0)
- return idx;
- break;
- case Qt::MatchContains:
- default:
- if (t.contains(text, cs))
- return idx;
- break;
- }
- }
- // prepare for the next iteration
- from = 0;
- to = start;
- }
- return -1;
-}
-
-void QQuickComboBoxPrivate::createDelegateModel()
-{
- Q_Q(QQuickComboBox);
- bool ownedOldModel = ownModel;
- QQmlInstanceModel* oldModel = delegateModel;
- if (oldModel) {
- disconnect(delegateModel, &QQmlInstanceModel::countChanged, this, &QQuickComboBoxPrivate::countChanged);
- disconnect(delegateModel, &QQmlInstanceModel::modelUpdated, this, &QQuickComboBoxPrivate::modelUpdated);
- disconnect(delegateModel, &QQmlInstanceModel::createdItem, this, &QQuickComboBoxPrivate::createdItem);
- }
-
- ownModel = false;
- delegateModel = model.value<QQmlInstanceModel *>();
-
- if (!delegateModel && model.isValid()) {
- QQmlDelegateModel *dataModel = new QQuickComboBoxDelegateModel(q);
- dataModel->setModel(model);
- dataModel->setDelegate(delegate);
- if (q->isComponentComplete())
- dataModel->componentComplete();
-
- ownModel = true;
- delegateModel = dataModel;
- }
-
- if (delegateModel) {
- connect(delegateModel, &QQmlInstanceModel::countChanged, this, &QQuickComboBoxPrivate::countChanged);
- connect(delegateModel, &QQmlInstanceModel::modelUpdated, this, &QQuickComboBoxPrivate::modelUpdated);
- connect(delegateModel, &QQmlInstanceModel::createdItem, this, &QQuickComboBoxPrivate::createdItem);
- }
-
- emit q->delegateModelChanged();
-
- if (ownedOldModel)
- delete oldModel;
-}
-
-void QQuickComboBoxPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickComboBox);
- QQuickControlPrivate::handlePress(point);
- q->setPressed(true);
-}
-
-void QQuickComboBoxPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickComboBox);
- QQuickControlPrivate::handleMove(point);
- q->setPressed(q->contains(point));
-}
-
-void QQuickComboBoxPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickComboBox);
- QQuickControlPrivate::handleRelease(point);
- if (pressed) {
- q->setPressed(false);
- togglePopup(false);
- }
-}
-
-void QQuickComboBoxPrivate::handleUngrab()
-{
- Q_Q(QQuickComboBox);
- QQuickControlPrivate::handleUngrab();
- q->setPressed(false);
-}
-
-static inline QString indicatorName() { return QStringLiteral("indicator"); }
-
-void QQuickComboBoxPrivate::cancelIndicator()
-{
- Q_Q(QQuickComboBox);
- quickCancelDeferred(q, indicatorName());
-}
-
-void QQuickComboBoxPrivate::executeIndicator(bool complete)
-{
- Q_Q(QQuickComboBox);
- if (indicator.wasExecuted())
- return;
-
- if (!indicator || complete)
- quickBeginDeferred(q, indicatorName(), indicator);
- if (complete)
- quickCompleteDeferred(q, indicatorName(), indicator);
-}
-
-static inline QString popupName() { return QStringLiteral("popup"); }
-
-void QQuickComboBoxPrivate::cancelPopup()
-{
- Q_Q(QQuickComboBox);
- quickCancelDeferred(q, popupName());
-}
-
-void QQuickComboBoxPrivate::executePopup(bool complete)
-{
- Q_Q(QQuickComboBox);
- if (popup.wasExecuted())
- return;
-
- if (!popup || complete)
- quickBeginDeferred(q, popupName(), popup);
- if (complete)
- quickCompleteDeferred(q, popupName(), popup);
-}
-
-void QQuickComboBoxPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickComboBox);
- QQuickControlPrivate::itemImplicitWidthChanged(item);
- if (item == indicator)
- emit q->implicitIndicatorWidthChanged();
-}
-
-void QQuickComboBoxPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickComboBox);
- QQuickControlPrivate::itemImplicitHeightChanged(item);
- if (item == indicator)
- emit q->implicitIndicatorHeightChanged();
-}
-
-QQuickComboBox::QQuickComboBox(QQuickItem *parent)
- : QQuickControl(*(new QQuickComboBoxPrivate), parent)
-{
- setFocusPolicy(Qt::StrongFocus);
- setFlag(QQuickItem::ItemIsFocusScope);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
- setInputMethodHints(Qt::ImhNoPredictiveText);
-}
-
-QQuickComboBox::~QQuickComboBox()
-{
- Q_D(QQuickComboBox);
- d->removeImplicitSizeListener(d->indicator);
- if (d->popup) {
- // Disconnect visibleChanged() to avoid a spurious highlightedIndexChanged() signal
- // emission during the destruction of the (visible) popup. (QTBUG-57650)
- QObjectPrivate::disconnect(d->popup.data(), &QQuickPopup::visibleChanged, d, &QQuickComboBoxPrivate::popupVisibleChanged);
- delete d->popup;
- d->popup = nullptr;
- }
-}
-
-/*!
- \readonly
- \qmlproperty int QtQuick.Controls::ComboBox::count
-
- This property holds the number of items in the combo box.
-*/
-int QQuickComboBox::count() const
-{
- Q_D(const QQuickComboBox);
- return d->delegateModel ? d->delegateModel->count() : 0;
-}
-
-/*!
- \qmlproperty model QtQuick.Controls::ComboBox::model
-
- This property holds the model providing data for the combo box.
-
- \code
- ComboBox {
- textRole: "key"
- model: ListModel {
- ListElement { key: "First"; value: 123 }
- ListElement { key: "Second"; value: 456 }
- ListElement { key: "Third"; value: 789 }
- }
- }
- \endcode
-
- \sa textRole, {qml-data-models}{Data Models}
-*/
-QVariant QQuickComboBox::model() const
-{
- Q_D(const QQuickComboBox);
- return d->model;
-}
-
-void QQuickComboBox::setModel(const QVariant& m)
-{
- Q_D(QQuickComboBox);
- QVariant model = m;
- if (model.userType() == qMetaTypeId<QJSValue>())
- model = model.value<QJSValue>().toVariant();
-
- if (d->model == model)
- return;
-
- if (QAbstractItemModel* aim = qvariant_cast<QAbstractItemModel *>(d->model)) {
- QObjectPrivate::disconnect(aim, &QAbstractItemModel::dataChanged,
- d, QOverload<>::of(&QQuickComboBoxPrivate::updateCurrentText));
- }
- if (QAbstractItemModel* aim = qvariant_cast<QAbstractItemModel *>(model)) {
- QObjectPrivate::connect(aim, &QAbstractItemModel::dataChanged,
- d, QOverload<>::of(&QQuickComboBoxPrivate::updateCurrentText));
- }
-
- d->model = model;
- d->createDelegateModel();
- emit countChanged();
- if (isComponentComplete()) {
- setCurrentIndex(count() > 0 ? 0 : -1);
- d->updateCurrentText();
- }
- emit modelChanged();
-}
-
-/*!
- \internal
- \qmlproperty model QtQuick.Controls::ComboBox::delegateModel
-
- This property holds the model providing delegate instances for the combo box.
-*/
-QQmlInstanceModel *QQuickComboBox::delegateModel() const
-{
- Q_D(const QQuickComboBox);
- return d->delegateModel;
-}
-
-
-/*!
- \qmlproperty bool QtQuick.Controls::ComboBox::pressed
-
- This property holds whether the combo box button is physically pressed.
- A button can be pressed by either touch or key events.
-
- \sa down
-*/
-bool QQuickComboBox::isPressed() const
-{
- Q_D(const QQuickComboBox);
- return d->pressed;
-}
-
-void QQuickComboBox::setPressed(bool pressed)
-{
- Q_D(QQuickComboBox);
- if (d->pressed == pressed)
- return;
-
- d->pressed = pressed;
- emit pressedChanged();
-
- if (!d->hasDown) {
- setDown(d->pressed || d->isPopupVisible());
- d->hasDown = false;
- }
-}
-
-/*!
- \readonly
- \qmlproperty int QtQuick.Controls::ComboBox::highlightedIndex
-
- This property holds the index of the highlighted item in the combo box popup list.
-
- When a highlighted item is activated, the popup is closed, \l currentIndex
- is set to \c highlightedIndex, and the value of this property is reset to
- \c -1, as there is no longer a highlighted item.
-
- \sa highlighted(), currentIndex
-*/
-int QQuickComboBox::highlightedIndex() const
-{
- Q_D(const QQuickComboBox);
- return d->highlightedIndex;
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::ComboBox::currentIndex
-
- This property holds the index of the current item in the combo box.
-
- The default value is \c -1 when \l count is \c 0, and \c 0 otherwise.
-
- \sa activated(), currentText, highlightedIndex
-*/
-int QQuickComboBox::currentIndex() const
-{
- Q_D(const QQuickComboBox);
- return d->currentIndex;
-}
-
-void QQuickComboBox::setCurrentIndex(int index)
-{
- Q_D(QQuickComboBox);
- d->hasCurrentIndex = true;
- d->setCurrentIndex(index, NoActivate);
-}
-
-/*!
- \readonly
- \qmlproperty string QtQuick.Controls::ComboBox::currentText
-
- This property holds the text of the current item in the combo box.
-
- \sa currentIndex, displayText, textRole, editText
-*/
-QString QQuickComboBox::currentText() const
-{
- Q_D(const QQuickComboBox);
- return d->currentText;
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::ComboBox::displayText
-
- This property holds the text that is displayed on the combo box button.
-
- By default, the display text presents the current selection. That is,
- it follows the text of the current item. However, the default display
- text can be overridden with a custom value.
-
- \code
- ComboBox {
- currentIndex: 1
- displayText: "Size: " + currentText
- model: ["S", "M", "L"]
- }
- \endcode
-
- \sa currentText, textRole
-*/
-QString QQuickComboBox::displayText() const
-{
- Q_D(const QQuickComboBox);
- return d->displayText;
-}
-
-void QQuickComboBox::setDisplayText(const QString &text)
-{
- Q_D(QQuickComboBox);
- d->hasDisplayText = true;
- if (d->displayText == text)
- return;
-
- d->displayText = text;
- setAccessibleName(text);
- emit displayTextChanged();
-}
-
-void QQuickComboBox::resetDisplayText()
-{
- Q_D(QQuickComboBox);
- if (!d->hasDisplayText)
- return;
-
- d->hasDisplayText = false;
- d->updateCurrentText();
-}
-
-
-/*!
- \qmlproperty string QtQuick.Controls::ComboBox::textRole
-
- This property holds the model role used for populating the combo box.
-
- When the model has multiple roles, \c textRole can be set to determine
- which role should be displayed.
-
- \sa model, currentText, displayText, {ComboBox Model Roles}
-*/
-QString QQuickComboBox::textRole() const
-{
- Q_D(const QQuickComboBox);
- return d->textRole;
-}
-
-void QQuickComboBox::setTextRole(const QString &role)
-{
- Q_D(QQuickComboBox);
- if (d->textRole == role)
- return;
-
- d->textRole = role;
- if (isComponentComplete())
- d->updateCurrentText();
- emit textRoleChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.14 (Qt 5.14)
- \qmlproperty string QtQuick.Controls::ComboBox::valueRole
-
- This property holds the model role used for storing the value associated
- with each item in the model.
-
- For an example of how to use this property, see \l {ComboBox Model Roles}.
-
- \sa model, currentValue
-*/
-QString QQuickComboBox::valueRole() const
-{
- Q_D(const QQuickComboBox);
- return d->valueRole;
-}
-
-void QQuickComboBox::setValueRole(const QString &role)
-{
- Q_D(QQuickComboBox);
- if (d->valueRole == role)
- return;
-
- d->valueRole = role;
- if (isComponentComplete())
- d->updateCurrentValue();
- emit valueRoleChanged();
-}
-
-/*!
- \qmlproperty Component QtQuick.Controls::ComboBox::delegate
-
- This property holds a delegate that presents an item in the combo box popup.
-
- It is recommended to use \l ItemDelegate (or any other \l AbstractButton
- derivatives) as the delegate. This ensures that the interaction works as
- expected, and the popup will automatically close when appropriate. When
- other types are used as the delegate, the popup must be closed manually.
- For example, if \l MouseArea is used:
-
- \code
- delegate: Rectangle {
- // ...
- MouseArea {
- // ...
- onClicked: comboBox.popup.close()
- }
- }
- \endcode
-
- \sa ItemDelegate, {Customizing ComboBox}
-*/
-QQmlComponent *QQuickComboBox::delegate() const
-{
- Q_D(const QQuickComboBox);
- return d->delegate;
-}
-
-void QQuickComboBox::setDelegate(QQmlComponent* delegate)
-{
- Q_D(QQuickComboBox);
- if (d->delegate == delegate)
- return;
-
- delete d->delegate;
- d->delegate = delegate;
- QQmlDelegateModel *delegateModel = qobject_cast<QQmlDelegateModel*>(d->delegateModel);
- if (delegateModel)
- delegateModel->setDelegate(d->delegate);
- emit delegateChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::ComboBox::indicator
-
- This property holds the drop indicator item.
-
- \sa {Customizing ComboBox}
-*/
-QQuickItem *QQuickComboBox::indicator() const
-{
- QQuickComboBoxPrivate *d = const_cast<QQuickComboBoxPrivate *>(d_func());
- if (!d->indicator)
- d->executeIndicator();
- return d->indicator;
-}
-
-void QQuickComboBox::setIndicator(QQuickItem *indicator)
-{
- Q_D(QQuickComboBox);
- if (d->indicator == indicator)
- return;
-
- if (!d->indicator.isExecuting())
- d->cancelIndicator();
-
- const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
- const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
-
- d->removeImplicitSizeListener(d->indicator);
- delete d->indicator;
- d->indicator = indicator;
- if (indicator) {
- if (!indicator->parentItem())
- indicator->setParentItem(this);
- d->addImplicitSizeListener(indicator);
- }
-
- if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
- emit implicitIndicatorWidthChanged();
- if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
- emit implicitIndicatorHeightChanged();
- if (!d->indicator.isExecuting())
- emit indicatorChanged();
-}
-
-/*!
- \qmlproperty Popup QtQuick.Controls::ComboBox::popup
-
- This property holds the popup.
-
- The popup can be opened or closed manually, if necessary:
-
- \code
- onSpecialEvent: comboBox.popup.close()
- \endcode
-
- \sa {Customizing ComboBox}
-*/
-QQuickPopup *QQuickComboBox::popup() const
-{
- QQuickComboBoxPrivate *d = const_cast<QQuickComboBoxPrivate *>(d_func());
- if (!d->popup)
- d->executePopup(isComponentComplete());
- return d->popup;
-}
-
-void QQuickComboBox::setPopup(QQuickPopup *popup)
-{
- Q_D(QQuickComboBox);
- if (d->popup == popup)
- return;
-
- if (!d->popup.isExecuting())
- d->cancelPopup();
-
- if (d->popup) {
- QObjectPrivate::disconnect(d->popup.data(), &QQuickPopup::visibleChanged, d, &QQuickComboBoxPrivate::popupVisibleChanged);
- delete d->popup;
- }
- if (popup) {
- QQuickPopupPrivate::get(popup)->allowVerticalFlip = true;
- popup->setClosePolicy(QQuickPopup::CloseOnEscape | QQuickPopup::CloseOnPressOutsideParent);
- QObjectPrivate::connect(popup, &QQuickPopup::visibleChanged, d, &QQuickComboBoxPrivate::popupVisibleChanged);
-
- if (QQuickItemView *itemView = popup->findChild<QQuickItemView *>())
- itemView->setHighlightRangeMode(QQuickItemView::NoHighlightRange);
- }
- d->popup = popup;
- if (!d->popup.isExecuting())
- emit popupChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty bool QtQuick.Controls::ComboBox::flat
-
- This property holds whether the combo box button is flat.
-
- A flat combo box button does not draw a background unless it is interacted
- with. In comparison to normal combo boxes, flat combo boxes provide looks
- that make them stand out less from the rest of the UI. For instance, when
- placing a combo box into a tool bar, it may be desirable to make the combo
- box flat so it matches better with the flat looks of tool buttons.
-
- The default value is \c false.
-*/
-bool QQuickComboBox::isFlat() const
-{
- Q_D(const QQuickComboBox);
- return d->flat;
-}
-
-void QQuickComboBox::setFlat(bool flat)
-{
- Q_D(QQuickComboBox);
- if (d->flat == flat)
- return;
-
- d->flat = flat;
- emit flatChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::ComboBox::down
-
- This property holds whether the combo box button is visually down.
-
- Unless explicitly set, this property is \c true when either \c pressed
- or \c popup.visible is \c true. To return to the default value, set this
- property to \c undefined.
-
- \sa pressed, popup
-*/
-bool QQuickComboBox::isDown() const
-{
- Q_D(const QQuickComboBox);
- return d->down;
-}
-
-void QQuickComboBox::setDown(bool down)
-{
- Q_D(QQuickComboBox);
- d->hasDown = true;
-
- if (d->down == down)
- return;
-
- d->down = down;
- emit downChanged();
-}
-
-void QQuickComboBox::resetDown()
-{
- Q_D(QQuickComboBox);
- if (!d->hasDown)
- return;
-
- setDown(d->pressed || d->isPopupVisible());
- d->hasDown = false;
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::ComboBox::editable
-
- This property holds whether the combo box is editable.
-
- The default value is \c false.
-
- \sa validator
-*/
-bool QQuickComboBox::isEditable() const
-{
- Q_D(const QQuickComboBox);
- return d->extra.isAllocated() && d->extra->editable;
-}
-
-void QQuickComboBox::setEditable(bool editable)
-{
- Q_D(QQuickComboBox);
- if (editable == isEditable())
- return;
-
- if (d->contentItem) {
- if (editable) {
- d->contentItem->installEventFilter(this);
- if (QQuickTextInput *input = qobject_cast<QQuickTextInput *>(d->contentItem)) {
- QObjectPrivate::connect(input, &QQuickTextInput::textChanged, d, &QQuickComboBoxPrivate::updateEditText);
- QObjectPrivate::connect(input, &QQuickTextInput::accepted, d, &QQuickComboBoxPrivate::acceptInput);
- }
-#if QT_CONFIG(cursor)
- d->contentItem->setCursor(Qt::IBeamCursor);
-#endif
- } else {
- d->contentItem->removeEventFilter(this);
- if (QQuickTextInput *input = qobject_cast<QQuickTextInput *>(d->contentItem)) {
- QObjectPrivate::disconnect(input, &QQuickTextInput::textChanged, d, &QQuickComboBoxPrivate::updateEditText);
- QObjectPrivate::disconnect(input, &QQuickTextInput::accepted, d, &QQuickComboBoxPrivate::acceptInput);
- }
-#if QT_CONFIG(cursor)
- d->contentItem->unsetCursor();
-#endif
- }
- }
-
- d->extra.value().editable = editable;
- setAccessibleProperty("editable", editable);
- emit editableChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty string QtQuick.Controls::ComboBox::editText
-
- This property holds the text in the text field of an editable combo box.
-
- \sa editable, currentText, displayText
-*/
-QString QQuickComboBox::editText() const
-{
- Q_D(const QQuickComboBox);
- return d->extra.isAllocated() ? d->extra->editText : QString();
-}
-
-void QQuickComboBox::setEditText(const QString &text)
-{
- Q_D(QQuickComboBox);
- if (text == editText())
- return;
-
- d->extra.value().editText = text;
- emit editTextChanged();
-}
-
-void QQuickComboBox::resetEditText()
-{
- setEditText(QString());
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty Validator QtQuick.Controls::ComboBox::validator
-
- This property holds an input text validator for an editable combo box.
-
- When a validator is set, the text field will only accept input which
- leaves the text property in an intermediate state. The \l accepted signal
- will only be emitted if the text is in an acceptable state when the
- \uicontrol Return or \uicontrol Enter key is pressed.
-
- The currently supported validators are \l[QtQuick]{IntValidator},
- \l[QtQuick]{DoubleValidator}, and \l[QtQuick]{RegExpValidator}. An
- example of using validators is shown below, which allows input of
- integers between \c 0 and \c 10 into the text field:
-
- \code
- ComboBox {
- model: 10
- editable: true
- validator: IntValidator {
- top: 9
- bottom: 0
- }
- }
- \endcode
-
- \sa acceptableInput, accepted, editable
-*/
-QValidator *QQuickComboBox::validator() const
-{
- Q_D(const QQuickComboBox);
- return d->extra.isAllocated() ? d->extra->validator : nullptr;
-}
-
-void QQuickComboBox::setValidator(QValidator *validator)
-{
- Q_D(QQuickComboBox);
- if (validator == QQuickComboBox::validator())
- return;
-
- d->extra.value().validator = validator;
-#if QT_CONFIG(validator)
- if (validator)
- validator->setLocale(d->locale);
-#endif
- emit validatorChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty flags QtQuick.Controls::ComboBox::inputMethodHints
-
- Provides hints to the input method about the expected content of the combo box and how it
- should operate.
-
- The default value is \c Qt.ImhNoPredictiveText.
-
- \include inputmethodhints.qdocinc
-*/
-Qt::InputMethodHints QQuickComboBox::inputMethodHints() const
-{
- Q_D(const QQuickComboBox);
- return d->extra.isAllocated() ? d->extra->inputMethodHints : Qt::ImhNoPredictiveText;
-}
-
-void QQuickComboBox::setInputMethodHints(Qt::InputMethodHints hints)
-{
- Q_D(QQuickComboBox);
- if (hints == inputMethodHints())
- return;
-
- d->extra.value().inputMethodHints = hints;
- emit inputMethodHintsChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::ComboBox::inputMethodComposing
- \readonly
-
- This property holds whether an editable combo box has partial text input from an input method.
-
- While it is composing, an input method may rely on mouse or key events from the combo box to
- edit or commit the partial text. This property can be used to determine when to disable event
- handlers that may interfere with the correct operation of an input method.
-*/
-bool QQuickComboBox::isInputMethodComposing() const
-{
- Q_D(const QQuickComboBox);
- return d->contentItem && d->contentItem->property("inputMethodComposing").toBool();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::ComboBox::acceptableInput
- \readonly
-
- This property holds whether the combo box contains acceptable text in the editable text field.
-
- If a validator has been set, the value is \c true only if the current text is acceptable
- to the validator as a final string (not as an intermediate string).
-
- \sa validator, accepted
-*/
-bool QQuickComboBox::hasAcceptableInput() const
-{
- Q_D(const QQuickComboBox);
- return d->contentItem && d->contentItem->property("acceptableInput").toBool();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::ComboBox::implicitIndicatorWidth
- \readonly
-
- This property holds the implicit indicator width.
-
- The value is equal to \c {indicator ? indicator.implicitWidth : 0}.
-
- This is typically used, together with \l {Control::}{implicitContentWidth} and
- \l {Control::}{implicitBackgroundWidth}, to calculate the \l {Item::}{implicitWidth}.
-
- \sa implicitIndicatorHeight
-*/
-qreal QQuickComboBox::implicitIndicatorWidth() const
-{
- Q_D(const QQuickComboBox);
- if (!d->indicator)
- return 0;
- return d->indicator->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::ComboBox::implicitIndicatorHeight
- \readonly
-
- This property holds the implicit indicator height.
-
- The value is equal to \c {indicator ? indicator.implicitHeight : 0}.
-
- This is typically used, together with \l {Control::}{implicitContentHeight} and
- \l {Control::}{implicitBackgroundHeight}, to calculate the \l {Item::}{implicitHeight}.
-
- \sa implicitIndicatorWidth
-*/
-qreal QQuickComboBox::implicitIndicatorHeight() const
-{
- Q_D(const QQuickComboBox);
- if (!d->indicator)
- return 0;
- return d->indicator->implicitHeight();
-}
-
-/*!
- \readonly
- \since QtQuick.Controls 2.14 (Qt 5.14)
- \qmlproperty string QtQuick.Controls::ComboBox::currentValue
-
- This property holds the value of the current item in the combo box.
-
- For an example of how to use this property, see \l {ComboBox Model Roles}.
-
- \sa currentIndex, currentText, valueRole
-*/
-QVariant QQuickComboBox::currentValue() const
-{
- Q_D(const QQuickComboBox);
- return d->currentValue;
-}
-
-QVariant QQuickComboBox::valueAt(int index) const
-{
- Q_D(const QQuickComboBox);
- if (!d->isValidIndex(index))
- return QVariant();
-
- QObject *object = d->delegateModel->object(index);
- QVariant value;
- if (object) {
- value = d->fastValueAt(index);
- d->delegateModel->release(object);
- }
- return value;
-}
-
-/*!
- \since QtQuick.Controls 2.14 (Qt 5.14)
- \qmlmethod int QtQuick.Controls::ComboBox::indexOfValue(object value)
-
- Returns the index of the specified \a value, or \c -1 if no match is found.
-
- For an example of how to use this method, see \l {ComboBox Model Roles}.
-
- \sa find(), currentValue, currentIndex, valueRole
-*/
-int QQuickComboBox::indexOfValue(const QVariant &value) const
-{
- for (int i = 0; i < count(); ++i) {
- const QVariant ourValue = valueAt(i);
- if (value == ourValue)
- return i;
- }
- return -1;
-}
-
-/*!
- \qmlmethod string QtQuick.Controls::ComboBox::textAt(int index)
-
- Returns the text for the specified \a index, or an empty string
- if the index is out of bounds.
-
- \sa textRole
-*/
-QString QQuickComboBox::textAt(int index) const
-{
- Q_D(const QQuickComboBox);
- if (!d->isValidIndex(index))
- return QString();
-
- QObject *object = d->delegateModel->object(index);
- QString text;
- if (object) {
- text = d->fastTextAt(index);
- d->delegateModel->release(object);
- }
- return text;
-}
-
-/*!
- \qmlmethod int QtQuick.Controls::ComboBox::find(string text, flags = Qt.MatchExactly)
-
- Returns the index of the specified \a text, or \c -1 if no match is found.
-
- The way the search is performed is defined by the specified match \a flags. By default,
- combo box performs case sensitive exact matching (\c Qt.MatchExactly). All other match
- types are case-insensitive unless the \c Qt.MatchCaseSensitive flag is also specified.
-
- \value Qt.MatchExactly The search term matches exactly (default).
- \value Qt.MatchRegExp The search term matches as a regular expression.
- \value Qt.MatchWildcard The search term matches using wildcards.
- \value Qt.MatchFixedString The search term matches as a fixed string.
- \value Qt.MatchStartsWith The search term matches the start of the item.
- \value Qt.MatchEndsWidth The search term matches the end of the item.
- \value Qt.MatchContains The search term is contained in the item.
- \value Qt.MatchCaseSensitive The search is case sensitive.
-
- \sa textRole
-*/
-int QQuickComboBox::find(const QString &text, Qt::MatchFlags flags) const
-{
- Q_D(const QQuickComboBox);
- return d->match(0, text, flags);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ComboBox::incrementCurrentIndex()
-
- Increments the current index of the combo box, or the highlighted
- index if the popup list is visible.
-
- \sa currentIndex, highlightedIndex
-*/
-void QQuickComboBox::incrementCurrentIndex()
-{
- Q_D(QQuickComboBox);
- d->incrementCurrentIndex();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ComboBox::decrementCurrentIndex()
-
- Decrements the current index of the combo box, or the highlighted
- index if the popup list is visible.
-
- \sa currentIndex, highlightedIndex
-*/
-void QQuickComboBox::decrementCurrentIndex()
-{
- Q_D(QQuickComboBox);
- d->decrementCurrentIndex();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlmethod void QtQuick.Controls::ComboBox::selectAll()
-
- Selects all the text in the editable text field of the combo box.
-
- \sa editText
-*/
-void QQuickComboBox::selectAll()
-{
- Q_D(QQuickComboBox);
- QQuickTextInput *input = qobject_cast<QQuickTextInput *>(d->contentItem);
- if (!input)
- return;
- input->selectAll();
-}
-
-bool QQuickComboBox::eventFilter(QObject *object, QEvent *event)
-{
- Q_D(QQuickComboBox);
- switch (event->type()) {
- case QEvent::MouseButtonRelease:
- if (d->isPopupVisible())
- d->hidePopup(false);
- break;
- case QEvent::KeyPress: {
- QKeyEvent *ke = static_cast<QKeyEvent *>(event);
- if (d->filterKeyEvent(ke, false))
- return true;
- event->accept();
- if (d->extra.isAllocated())
- d->extra->allowComplete = ke->key() != Qt::Key_Backspace && ke->key() != Qt::Key_Delete;
- break;
- }
- case QEvent::FocusOut:
- if (qGuiApp->focusObject() != this && (!d->popup || !d->popup->hasActiveFocus())) {
- // Only close the popup if focus was transferred somewhere else
- // than to the popup or the popup button (which normally means that
- // the user clicked on the popup button to open it, not close it).
- d->hidePopup(false);
- setPressed(false);
- }
- break;
-#if QT_CONFIG(im)
- case QEvent::InputMethod:
- if (d->extra.isAllocated())
- d->extra->allowComplete = !static_cast<QInputMethodEvent*>(event)->commitString().isEmpty();
- break;
-#endif
- default:
- break;
- }
- return QQuickControl::eventFilter(object, event);
-}
-
-void QQuickComboBox::focusInEvent(QFocusEvent *event)
-{
- Q_D(QQuickComboBox);
- QQuickControl::focusInEvent(event);
- if (d->contentItem && isEditable())
- d->contentItem->forceActiveFocus(event->reason());
-}
-
-void QQuickComboBox::focusOutEvent(QFocusEvent *event)
-{
- Q_D(QQuickComboBox);
- QQuickControl::focusOutEvent(event);
-
- if (qGuiApp->focusObject() != d->contentItem && (!d->popup || !d->popup->hasActiveFocus())) {
- // Only close the popup if focus was transferred
- // somewhere else than to the popup or the inner line edit (which is
- // normally done from QQuickComboBox::focusInEvent).
- d->hidePopup(false);
- setPressed(false);
- }
-}
-
-#if QT_CONFIG(im)
-void QQuickComboBox::inputMethodEvent(QInputMethodEvent *event)
-{
- Q_D(QQuickComboBox);
- QQuickControl::inputMethodEvent(event);
- if (!isEditable() && !event->commitString().isEmpty())
- d->keySearch(event->commitString());
- else
- event->ignore();
-}
-#endif
-
-void QQuickComboBox::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickComboBox);
- QQuickControl::keyPressEvent(event);
-
- switch (event->key()) {
- case Qt::Key_Escape:
- case Qt::Key_Back:
- if (d->isPopupVisible())
- event->accept();
- break;
- case Qt::Key_Space:
- if (!event->isAutoRepeat())
- setPressed(true);
- event->accept();
- break;
- case Qt::Key_Enter:
- case Qt::Key_Return:
- if (d->isPopupVisible())
- setPressed(true);
- event->accept();
- break;
- case Qt::Key_Up:
- d->keyNavigating = true;
- d->decrementCurrentIndex();
- event->accept();
- break;
- case Qt::Key_Down:
- d->keyNavigating = true;
- d->incrementCurrentIndex();
- event->accept();
- break;
- case Qt::Key_Home:
- d->keyNavigating = true;
- if (d->isPopupVisible())
- d->setHighlightedIndex(0, Highlight);
- else
- d->setCurrentIndex(0, Activate);
- event->accept();
- break;
- case Qt::Key_End:
- d->keyNavigating = true;
- if (d->isPopupVisible())
- d->setHighlightedIndex(count() - 1, Highlight);
- else
- d->setCurrentIndex(count() - 1, Activate);
- event->accept();
- break;
- default:
- if (!isEditable() && !event->text().isEmpty())
- d->keySearch(event->text());
- else
- event->ignore();
- break;
- }
-}
-
-void QQuickComboBox::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickComboBox);
- QQuickControl::keyReleaseEvent(event);
- d->keyNavigating = false;
- if (event->isAutoRepeat())
- return;
-
- switch (event->key()) {
- case Qt::Key_Space:
- if (!isEditable())
- d->togglePopup(true);
- setPressed(false);
- event->accept();
- break;
- case Qt::Key_Enter:
- case Qt::Key_Return:
- if (!isEditable() || d->isPopupVisible())
- d->hidePopup(d->isPopupVisible());
- setPressed(false);
- event->accept();
- break;
- case Qt::Key_Escape:
- case Qt::Key_Back:
- if (d->isPopupVisible()) {
- d->hidePopup(false);
- setPressed(false);
- event->accept();
- }
- break;
- default:
- break;
- }
-}
-
-#if QT_CONFIG(wheelevent)
-void QQuickComboBox::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickComboBox);
- QQuickControl::wheelEvent(event);
- if (d->wheelEnabled && !d->isPopupVisible()) {
- if (event->angleDelta().y() > 0)
- d->decrementCurrentIndex();
- else
- d->incrementCurrentIndex();
- }
-}
-#endif
-
-void QQuickComboBox::componentComplete()
-{
- Q_D(QQuickComboBox);
- d->executeIndicator(true);
- QQuickControl::componentComplete();
- if (d->popup)
- d->executePopup(true);
-
- if (d->delegateModel && d->ownModel)
- static_cast<QQmlDelegateModel *>(d->delegateModel)->componentComplete();
-
- if (count() > 0) {
- if (!d->hasCurrentIndex && d->currentIndex == -1)
- setCurrentIndex(0);
- else
- d->updateCurrentTextAndValue();
- }
-}
-
-void QQuickComboBox::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
-{
- Q_D(QQuickComboBox);
- QQuickControl::itemChange(change, value);
- if (change == ItemVisibleHasChanged && !value.boolValue) {
- d->hidePopup(false);
- setPressed(false);
- }
-}
-
-void QQuickComboBox::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickComboBox);
- if (oldItem) {
- oldItem->removeEventFilter(this);
- if (QQuickTextInput *oldInput = qobject_cast<QQuickTextInput *>(oldItem)) {
- QObjectPrivate::disconnect(oldInput, &QQuickTextInput::accepted, d, &QQuickComboBoxPrivate::acceptInput);
- QObjectPrivate::disconnect(oldInput, &QQuickTextInput::textChanged, d, &QQuickComboBoxPrivate::updateEditText);
- disconnect(oldInput, &QQuickTextInput::inputMethodComposingChanged, this, &QQuickComboBox::inputMethodComposingChanged);
- disconnect(oldInput, &QQuickTextInput::acceptableInputChanged, this, &QQuickComboBox::acceptableInputChanged);
- }
- }
- if (newItem && isEditable()) {
- newItem->installEventFilter(this);
- if (QQuickTextInput *newInput = qobject_cast<QQuickTextInput *>(newItem)) {
- QObjectPrivate::connect(newInput, &QQuickTextInput::accepted, d, &QQuickComboBoxPrivate::acceptInput);
- QObjectPrivate::connect(newInput, &QQuickTextInput::textChanged, d, &QQuickComboBoxPrivate::updateEditText);
- connect(newInput, &QQuickTextInput::inputMethodComposingChanged, this, &QQuickComboBox::inputMethodComposingChanged);
- connect(newInput, &QQuickTextInput::acceptableInputChanged, this, &QQuickComboBox::acceptableInputChanged);
- }
-#if QT_CONFIG(cursor)
- newItem->setCursor(Qt::IBeamCursor);
-#endif
- }
-}
-
-void QQuickComboBox::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- QQuickControl::localeChange(newLocale, oldLocale);
-#if QT_CONFIG(validator)
- if (QValidator *v = validator())
- v->setLocale(newLocale);
-#endif
-}
-
-QFont QQuickComboBox::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ComboBox);
-}
-
-QPalette QQuickComboBox::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ComboBox);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickComboBox::accessibleRole() const
-{
- return QAccessible::ComboBox;
-}
-
-void QQuickComboBox::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickComboBox);
- QQuickControl::accessibilityActiveChanged(active);
-
- if (active) {
- setAccessibleName(d->hasDisplayText ? d->displayText : d->currentText);
- setAccessibleProperty("editable", isEditable());
- }
-}
-#endif //
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickcombobox_p.h b/src/quicktemplates2/qquickcombobox_p.h
deleted file mode 100644
index c9063d6a..00000000
--- a/src/quicktemplates2/qquickcombobox_p.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCOMBOBOX_P_H
-#define QQUICKCOMBOBOX_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QValidator;
-class QQuickPopup;
-class QQmlInstanceModel;
-class QQuickComboBoxPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickComboBox : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(int count READ count NOTIFY countChanged FINAL)
- Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged FINAL)
- Q_PROPERTY(QQmlInstanceModel *delegateModel READ delegateModel NOTIFY delegateModelChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed NOTIFY pressedChanged FINAL) // ### Qt 6: should not be writable
- Q_PROPERTY(int highlightedIndex READ highlightedIndex NOTIFY highlightedIndexChanged FINAL)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged FINAL)
- Q_PROPERTY(QString currentText READ currentText NOTIFY currentTextChanged FINAL)
- Q_PROPERTY(QString displayText READ displayText WRITE setDisplayText RESET resetDisplayText NOTIFY displayTextChanged FINAL)
- Q_PROPERTY(QString textRole READ textRole WRITE setTextRole NOTIFY textRoleChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
- Q_PROPERTY(QQuickItem *indicator READ indicator WRITE setIndicator NOTIFY indicatorChanged FINAL)
- Q_PROPERTY(QQuickPopup *popup READ popup WRITE setPopup NOTIFY popupChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool flat READ isFlat WRITE setFlat NOTIFY flatChanged FINAL REVISION 1)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool down READ isDown WRITE setDown RESET resetDown NOTIFY downChanged FINAL REVISION 2)
- Q_PROPERTY(bool editable READ isEditable WRITE setEditable NOTIFY editableChanged FINAL REVISION 2)
- Q_PROPERTY(QString editText READ editText WRITE setEditText RESET resetEditText NOTIFY editTextChanged FINAL REVISION 2)
- Q_PROPERTY(QValidator *validator READ validator WRITE setValidator NOTIFY validatorChanged FINAL REVISION 2)
- Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints NOTIFY inputMethodHintsChanged FINAL REVISION 2)
- Q_PROPERTY(bool inputMethodComposing READ isInputMethodComposing NOTIFY inputMethodComposingChanged FINAL REVISION 2)
- Q_PROPERTY(bool acceptableInput READ hasAcceptableInput NOTIFY acceptableInputChanged FINAL REVISION 2)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitIndicatorWidth READ implicitIndicatorWidth NOTIFY implicitIndicatorWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitIndicatorHeight READ implicitIndicatorHeight NOTIFY implicitIndicatorHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,contentItem,indicator,popup")
- // 2.14 (Qt 5.14)
- Q_PROPERTY(QVariant currentValue READ currentValue NOTIFY currentValueChanged FINAL REVISION 14)
- Q_PROPERTY(QString valueRole READ valueRole WRITE setValueRole NOTIFY valueRoleChanged FINAL REVISION 14)
-
-public:
- explicit QQuickComboBox(QQuickItem *parent = nullptr);
- ~QQuickComboBox();
-
- int count() const;
-
- QVariant model() const;
- void setModel(const QVariant &model);
- QQmlInstanceModel *delegateModel() const;
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- int highlightedIndex() const;
-
- int currentIndex() const;
- void setCurrentIndex(int index);
-
- QString currentText() const;
-
- QString displayText() const;
- void setDisplayText(const QString &text);
- void resetDisplayText();
-
- QString textRole() const;
- void setTextRole(const QString &role);
-
- QString valueRole() const;
- void setValueRole(const QString &role);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
- QQuickItem *indicator() const;
- void setIndicator(QQuickItem *indicator);
-
- QQuickPopup *popup() const;
- void setPopup(QQuickPopup *popup);
-
- Q_INVOKABLE QString textAt(int index) const;
- Q_INVOKABLE int find(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly) const;
-
- // 2.1 (Qt 5.8)
- bool isFlat() const;
- void setFlat(bool flat);
-
- // 2.2 (Qt 5.9)
- bool isDown() const;
- void setDown(bool down);
- void resetDown();
-
- bool isEditable() const;
- void setEditable(bool editable);
-
- QString editText() const;
- void setEditText(const QString &text);
- void resetEditText();
-
- QValidator *validator() const;
- void setValidator(QValidator *validator);
-
- Qt::InputMethodHints inputMethodHints() const;
- void setInputMethodHints(Qt::InputMethodHints hints);
-
- bool isInputMethodComposing() const;
- bool hasAcceptableInput() const;
-
- // 2.5 (Qt 5.12)
- qreal implicitIndicatorWidth() const;
- qreal implicitIndicatorHeight() const;
-
- // 2.14 (Qt 5.14)
- QVariant currentValue() const;
- Q_REVISION(14) Q_INVOKABLE QVariant valueAt(int index) const;
- Q_REVISION(14) Q_INVOKABLE int indexOfValue(const QVariant &value) const;
-
-public Q_SLOTS:
- void incrementCurrentIndex();
- void decrementCurrentIndex();
- Q_REVISION(2) void selectAll();
-
-Q_SIGNALS:
- void activated(int index);
- void highlighted(int index);
- void countChanged();
- void modelChanged();
- void delegateModelChanged();
- void pressedChanged();
- void highlightedIndexChanged();
- void currentIndexChanged();
- void currentTextChanged();
- void displayTextChanged();
- void textRoleChanged();
- void delegateChanged();
- void indicatorChanged();
- void popupChanged();
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void flatChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void accepted();
- Q_REVISION(2) void downChanged();
- Q_REVISION(2) void editableChanged();
- Q_REVISION(2) void editTextChanged();
- Q_REVISION(2) void validatorChanged();
- Q_REVISION(2) void inputMethodHintsChanged();
- Q_REVISION(2) void inputMethodComposingChanged();
- Q_REVISION(2) void acceptableInputChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void implicitIndicatorWidthChanged();
- Q_REVISION(5) void implicitIndicatorHeightChanged();
- // 2.14 (Qt 5.14)
- Q_REVISION(14) void valueRoleChanged();
- Q_REVISION(14) void currentValueChanged();
-
-protected:
- bool eventFilter(QObject *object, QEvent *event) override;
- void focusInEvent(QFocusEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
-#if QT_CONFIG(im)
- void inputMethodEvent(QInputMethodEvent *event) override;
-#endif
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
-
- void componentComplete() override;
- void itemChange(ItemChange change, const ItemChangeData &value) override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickComboBox)
- Q_DECLARE_PRIVATE(QQuickComboBox)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickComboBox)
-
-#endif // QQUICKCOMBOBOX_P_H
diff --git a/src/quicktemplates2/qquickcontainer.cpp b/src/quicktemplates2/qquickcontainer.cpp
deleted file mode 100644
index 609c2079..00000000
--- a/src/quicktemplates2/qquickcontainer.cpp
+++ /dev/null
@@ -1,929 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcontainer_p.h"
-#include "qquickcontainer_p_p.h"
-
-#include <QtQuick/private/qquickflickable_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Container
- \inherits Control
- \instantiates QQuickContainer
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \brief Abstract base type providing functionality common to containers.
-
- Container is the base type of container-like user interface controls that
- allow dynamic insertion and removal of items.
-
- \section2 Using Containers
-
- Typically, items are statically declared as children of Container, but it
- is also possible to \l {addItem}{add}, \l {insertItem}{insert},
- \l {moveItem}{move} and \l {removeItem}{remove} items dynamically. The
- items in a container can be accessed using \l itemAt() or
- \l contentChildren.
-
- Most containers have the concept of a "current" item. The current item is
- specified via the \l currentIndex property, and can be accessed using the
- read-only \l currentItem property.
-
- The following example illustrates dynamic insertion of items to a \l TabBar,
- which is one of the concrete implementations of Container.
-
- \code
- Row {
- TabBar {
- id: tabBar
-
- currentIndex: 0
- width: parent.width - addButton.width
-
- TabButton { text: "TabButton" }
- }
-
- Component {
- id: tabButton
- TabButton { text: "TabButton" }
- }
-
- Button {
- id: addButton
- text: "+"
- flat: true
- onClicked: {
- tabBar.addItem(tabButton.createObject(tabBar))
- console.log("added:", tabBar.itemAt(tabBar.count - 1))
- }
- }
- }
- \endcode
-
- \section2 Managing the Current Index
-
- When using multiple containers, such as \l TabBar and \l SwipeView, together,
- their \l currentIndex properties can be bound to each other to keep them in
- sync. When the user interacts with either container, its current index changes
- automatically propagate to the other container.
-
- Notice, however, that assigning a \c currentIndex value in JavaScript removes
- the respective binding. In order to retain the bindings, use the following
- methods to alter the current index:
-
- \list
- \li \l incrementCurrentIndex()
- \li \l decrementCurrentIndex()
- \li \l setCurrentIndex(int index)
- \endlist
-
- \code
- TabBar {
- id: tabBar
- currentIndex: swipeView.currentIndex
- }
-
- SwipeView {
- id: swipeView
- currentIndex: tabBar.currentIndex
- }
-
- Button {
- text: qsTr("Home")
- onClicked: swipeView.setCurrentIndex(0)
- enabled: swipeView.currentIndex != 0
- }
-
- Button {
- text: qsTr("Previous")
- onClicked: swipeView.decrementCurrentIndex()
- enabled: swipeView.currentIndex > 0
- }
-
- Button {
- text: qsTr("Next")
- onClicked: swipeView.incrementCurrentIndex()
- enabled: swipeView.currentIndex < swipeView.count - 1
- }
- \endcode
-
-
- \section2 Implementing Containers
-
- Container does not provide any default visualization. It is used to implement
- such containers as \l SwipeView and \l TabBar. When implementing a custom
- container, the most important part of the API is \l contentModel, which provides
- the contained items in a way that it can be used as a delegate model for item
- views and repeaters.
-
- \code
- Container {
- id: container
-
- contentItem: ListView {
- model: container.contentModel
- snapMode: ListView.SnapOneItem
- orientation: ListView.Horizontal
- }
-
- Text {
- text: "Page 1"
- width: container.width
- height: container.height
- }
-
- Text {
- text: "Page 2"
- width: container.width
- height: container.height
- }
- }
- \endcode
-
- Notice how the sizes of the page items are set by hand. This is because the
- example uses a plain Container, which does not make any assumptions on the
- visual layout. It is typically not necessary to specify sizes for items in
- concrete Container implementations, such as \l SwipeView and \l TabBar.
-
- \sa {Container Controls}
-*/
-
-static QQuickItem *effectiveContentItem(QQuickItem *item)
-{
- QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(item);
- if (flickable)
- return flickable->contentItem();
- return item;
-}
-
-void QQuickContainerPrivate::init()
-{
- Q_Q(QQuickContainer);
- contentModel = new QQmlObjectModel(q);
- QObject::connect(contentModel, &QQmlObjectModel::countChanged, q, &QQuickContainer::countChanged);
- QObject::connect(contentModel, &QQmlObjectModel::childrenChanged, q, &QQuickContainer::contentChildrenChanged);
- connect(q, &QQuickControl::implicitContentWidthChanged, this, &QQuickContainerPrivate::updateContentWidth);
- connect(q, &QQuickControl::implicitContentHeightChanged, this, &QQuickContainerPrivate::updateContentHeight);
-}
-
-void QQuickContainerPrivate::cleanup()
-{
- Q_Q(QQuickContainer);
- // ensure correct destruction order (QTBUG-46798)
- const int count = contentModel->count();
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = itemAt(i);
- if (item)
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, changeTypes);
- }
-
- if (contentItem) {
- QQuickItem *focusItem = QQuickItemPrivate::get(contentItem)->subFocusItem;
- if (focusItem && window)
- QQuickWindowPrivate::get(window)->clearFocusInScope(contentItem, focusItem, Qt::OtherFocusReason);
-
- q->contentItemChange(nullptr, contentItem);
- delete contentItem;
- }
-
- QObject::disconnect(contentModel, &QQmlObjectModel::countChanged, q, &QQuickContainer::countChanged);
- QObject::disconnect(contentModel, &QQmlObjectModel::childrenChanged, q, &QQuickContainer::contentChildrenChanged);
- delete contentModel;
-}
-
-QQuickItem *QQuickContainerPrivate::itemAt(int index) const
-{
- return qobject_cast<QQuickItem *>(contentModel->get(index));
-}
-
-void QQuickContainerPrivate::insertItem(int index, QQuickItem *item)
-{
- Q_Q(QQuickContainer);
- if (!q->isContent(item))
- return;
- contentData.append(item);
-
- updatingCurrent = true;
-
- item->setParentItem(effectiveContentItem(getContentItem()));
- QQuickItemPrivate::get(item)->addItemChangeListener(this, changeTypes);
- contentModel->insert(index, item);
-
- q->itemAdded(index, item);
-
- int count = contentModel->count();
- for (int i = index + 1; i < count; ++i)
- q->itemMoved(i, itemAt(i));
-
- if (count == 1 && currentIndex == -1)
- q->setCurrentIndex(index);
-
- updatingCurrent = false;
-}
-
-void QQuickContainerPrivate::moveItem(int from, int to, QQuickItem *item)
-{
- Q_Q(QQuickContainer);
- int oldCurrent = currentIndex;
- contentModel->move(from, to);
-
- updatingCurrent = true;
-
- q->itemMoved(to, item);
-
- if (from < to) {
- for (int i = from; i < to; ++i)
- q->itemMoved(i, itemAt(i));
- } else {
- for (int i = from; i > to; --i)
- q->itemMoved(i, itemAt(i));
- }
-
- if (from == oldCurrent)
- q->setCurrentIndex(to);
- else if (from < oldCurrent && to >= oldCurrent)
- q->setCurrentIndex(oldCurrent - 1);
- else if (from > oldCurrent && to <= oldCurrent)
- q->setCurrentIndex(oldCurrent + 1);
-
- updatingCurrent = false;
-}
-
-void QQuickContainerPrivate::removeItem(int index, QQuickItem *item)
-{
- Q_Q(QQuickContainer);
- if (!q->isContent(item))
- return;
- contentData.removeOne(item);
-
- updatingCurrent = true;
-
- int count = contentModel->count();
- bool currentChanged = false;
- if (index == currentIndex && (index != 0 || count == 1)) {
- q->setCurrentIndex(currentIndex - 1);
- } else if (index < currentIndex) {
- --currentIndex;
- currentChanged = true;
- }
-
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, changeTypes);
- item->setParentItem(nullptr);
- contentModel->remove(index);
- --count;
-
- q->itemRemoved(index, item);
-
- for (int i = index; i < count; ++i)
- q->itemMoved(i, itemAt(i));
-
- if (currentChanged)
- emit q->currentIndexChanged();
-
- updatingCurrent = false;
-}
-
-void QQuickContainerPrivate::reorderItems()
-{
- Q_Q(QQuickContainer);
- if (!contentItem)
- return;
-
- QList<QQuickItem *> siblings = effectiveContentItem(contentItem)->childItems();
-
- int to = 0;
- for (int i = 0; i < siblings.count(); ++i) {
- QQuickItem* sibling = siblings.at(i);
- if (QQuickItemPrivate::get(sibling)->isTransparentForPositioner())
- continue;
- int index = contentModel->indexOf(sibling, nullptr);
- q->moveItem(index, to++);
- }
-}
-
-void QQuickContainerPrivate::_q_currentIndexChanged()
-{
- Q_Q(QQuickContainer);
- if (!updatingCurrent)
- q->setCurrentIndex(contentItem ? contentItem->property("currentIndex").toInt() : -1);
-}
-
-void QQuickContainerPrivate::itemChildAdded(QQuickItem *, QQuickItem *child)
-{
- // add dynamically reparented items (eg. by a Repeater)
- if (!QQuickItemPrivate::get(child)->isTransparentForPositioner() && !contentData.contains(child))
- insertItem(contentModel->count(), child);
-}
-
-void QQuickContainerPrivate::itemParentChanged(QQuickItem *item, QQuickItem *parent)
-{
- // remove dynamically unparented items (eg. by a Repeater)
- if (!parent)
- removeItem(contentModel->indexOf(item, nullptr), item);
-}
-
-void QQuickContainerPrivate::itemSiblingOrderChanged(QQuickItem *)
-{
- if (!componentComplete)
- return;
-
- // reorder the restacked items (eg. by a Repeater)
- reorderItems();
-}
-
-void QQuickContainerPrivate::itemDestroyed(QQuickItem *item)
-{
- int index = contentModel->indexOf(item, nullptr);
- if (index != -1)
- removeItem(index, item);
- else
- QQuickControlPrivate::itemDestroyed(item);
-}
-
-void QQuickContainerPrivate::contentData_append(QQmlListProperty<QObject> *prop, QObject *obj)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- QQuickContainerPrivate *p = QQuickContainerPrivate::get(q);
- QQuickItem *item = qobject_cast<QQuickItem *>(obj);
- if (item) {
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- item->setParentItem(effectiveContentItem(p->contentItem));
- else if (p->contentModel->indexOf(item, nullptr) == -1)
- q->addItem(item);
- } else {
- p->contentData.append(obj);
- }
-}
-
-int QQuickContainerPrivate::contentData_count(QQmlListProperty<QObject> *prop)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- return QQuickContainerPrivate::get(q)->contentData.count();
-}
-
-QObject *QQuickContainerPrivate::contentData_at(QQmlListProperty<QObject> *prop, int index)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- return QQuickContainerPrivate::get(q)->contentData.value(index);
-}
-
-void QQuickContainerPrivate::contentData_clear(QQmlListProperty<QObject> *prop)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- return QQuickContainerPrivate::get(q)->contentData.clear();
-}
-
-void QQuickContainerPrivate::contentChildren_append(QQmlListProperty<QQuickItem> *prop, QQuickItem *item)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- q->addItem(item);
-}
-
-int QQuickContainerPrivate::contentChildren_count(QQmlListProperty<QQuickItem> *prop)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- return QQuickContainerPrivate::get(q)->contentModel->count();
-}
-
-QQuickItem *QQuickContainerPrivate::contentChildren_at(QQmlListProperty<QQuickItem> *prop, int index)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- return q->itemAt(index);
-}
-
-void QQuickContainerPrivate::contentChildren_clear(QQmlListProperty<QQuickItem> *prop)
-{
- QQuickContainer *q = static_cast<QQuickContainer *>(prop->object);
- return QQuickContainerPrivate::get(q)->contentModel->clear();
-}
-
-void QQuickContainerPrivate::updateContentWidth()
-{
- Q_Q(QQuickContainer);
- if (hasContentWidth || qFuzzyCompare(contentWidth, implicitContentWidth))
- return;
-
- contentWidth = implicitContentWidth;
- emit q->contentWidthChanged();
-}
-
-void QQuickContainerPrivate::updateContentHeight()
-{
- Q_Q(QQuickContainer);
- if (hasContentHeight || qFuzzyCompare(contentHeight, implicitContentHeight))
- return;
-
- contentHeight = implicitContentHeight;
- emit q->contentHeightChanged();
-}
-
-QQuickContainer::QQuickContainer(QQuickItem *parent)
- : QQuickControl(*(new QQuickContainerPrivate), parent)
-{
- Q_D(QQuickContainer);
- d->init();
-}
-
-QQuickContainer::QQuickContainer(QQuickContainerPrivate &dd, QQuickItem *parent)
- : QQuickControl(dd, parent)
-{
- Q_D(QQuickContainer);
- d->init();
-}
-
-QQuickContainer::~QQuickContainer()
-{
- Q_D(QQuickContainer);
- d->cleanup();
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::Container::count
- \readonly
-
- This property holds the number of items.
-*/
-int QQuickContainer::count() const
-{
- Q_D(const QQuickContainer);
- return d->contentModel->count();
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::Container::itemAt(int index)
-
- Returns the item at \a index, or \c null if it does not exist.
-*/
-QQuickItem *QQuickContainer::itemAt(int index) const
-{
- Q_D(const QQuickContainer);
- return d->itemAt(index);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Container::addItem(Item item)
-
- Adds an \a item.
-*/
-void QQuickContainer::addItem(QQuickItem *item)
-{
- Q_D(QQuickContainer);
- insertItem(d->contentModel->count(), item);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Container::insertItem(int index, Item item)
-
- Inserts an \a item at \a index.
-*/
-void QQuickContainer::insertItem(int index, QQuickItem *item)
-{
- Q_D(QQuickContainer);
- if (!item)
- return;
- const int count = d->contentModel->count();
- if (index < 0 || index > count)
- index = count;
-
- int oldIndex = d->contentModel->indexOf(item, nullptr);
- if (oldIndex != -1) {
- if (oldIndex < index)
- --index;
- if (oldIndex != index)
- d->moveItem(oldIndex, index, item);
- } else {
- d->insertItem(index, item);
- }
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Container::moveItem(int from, int to)
-
- Moves an item \a from one index \a to another.
-*/
-void QQuickContainer::moveItem(int from, int to)
-{
- Q_D(QQuickContainer);
- const int count = d->contentModel->count();
- if (from < 0 || from > count - 1)
- return;
- if (to < 0 || to > count - 1)
- to = count - 1;
-
- if (from != to)
- d->moveItem(from, to, d->itemAt(from));
-}
-
-/*!
- \deprecated
- \qmlmethod void QtQuick.Controls::Container::removeItem(int index)
-
- Use Container::removeItem(Item) or Container::takeItem(int) instead.
-*/
-void QQuickContainer::removeItem(const QVariant &var)
-{
- if (var.userType() == QMetaType::Nullptr)
- return;
-
- if (QQuickItem *item = var.value<QQuickItem *>())
- removeItem(item);
- else
- takeItem(var.toInt());
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Container::removeItem(Item item)
-
- Removes and destroys the specified \a item.
-*/
-void QQuickContainer::removeItem(QQuickItem *item)
-{
- Q_D(QQuickContainer);
- if (!item)
- return;
-
- const int index = d->contentModel->indexOf(item, nullptr);
- if (index == -1)
- return;
-
- d->removeItem(index, item);
- item->deleteLater();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod Item QtQuick.Controls::Container::takeItem(int index)
-
- Removes and returns the item at \a index.
-
- \note The ownership of the item is transferred to the caller.
-*/
-QQuickItem *QQuickContainer::takeItem(int index)
-{
- Q_D(QQuickContainer);
- const int count = d->contentModel->count();
- if (index < 0 || index >= count)
- return nullptr;
-
- QQuickItem *item = itemAt(index);
- if (item)
- d->removeItem(index, item);
- return item;
-}
-
-/*!
- \qmlproperty model QtQuick.Controls::Container::contentModel
- \readonly
-
- This property holds the content model of items.
-
- The content model is provided for visualization purposes. It can be assigned
- as a model to a content item that presents the contents of the container.
-
- \code
- Container {
- id: container
- contentItem: ListView {
- model: container.contentModel
- }
- }
- \endcode
-
- \sa contentData, contentChildren
-*/
-QVariant QQuickContainer::contentModel() const
-{
- Q_D(const QQuickContainer);
- return QVariant::fromValue(d->contentModel);
-}
-
-/*!
- \qmlproperty list<Object> QtQuick.Controls::Container::contentData
- \default
-
- This property holds the list of content data.
-
- The list contains all objects that have been declared in QML as children
- of the container, and also items that have been dynamically added or
- inserted using the \l addItem() and \l insertItem() methods, respectively.
-
- \note Unlike \c contentChildren, \c contentData does include non-visual QML
- objects. It is not re-ordered when items are inserted or moved.
-
- \sa Item::data, contentChildren
-*/
-QQmlListProperty<QObject> QQuickContainer::contentData()
-{
- Q_D(QQuickContainer);
- if (!d->contentItem)
- d->executeContentItem();
- return QQmlListProperty<QObject>(this, nullptr,
- QQuickContainerPrivate::contentData_append,
- QQuickContainerPrivate::contentData_count,
- QQuickContainerPrivate::contentData_at,
- QQuickContainerPrivate::contentData_clear);
-}
-
-/*!
- \qmlproperty list<Item> QtQuick.Controls::Container::contentChildren
-
- This property holds the list of content children.
-
- The list contains all items that have been declared in QML as children
- of the container, and also items that have been dynamically added or
- inserted using the \l addItem() and \l insertItem() methods, respectively.
-
- \note Unlike \c contentData, \c contentChildren does not include non-visual
- QML objects. It is re-ordered when items are inserted or moved.
-
- \sa Item::children, contentData
-*/
-QQmlListProperty<QQuickItem> QQuickContainer::contentChildren()
-{
- return QQmlListProperty<QQuickItem>(this, nullptr,
- QQuickContainerPrivate::contentChildren_append,
- QQuickContainerPrivate::contentChildren_count,
- QQuickContainerPrivate::contentChildren_at,
- QQuickContainerPrivate::contentChildren_clear);
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::Container::currentIndex
-
- This property holds the index of the current item.
-
- \sa currentItem, {Managing the Current Index}
-*/
-int QQuickContainer::currentIndex() const
-{
- Q_D(const QQuickContainer);
- return d->currentIndex;
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Container::setCurrentIndex(int index)
-
- Sets the current index of the container.
-
- This method can be called to set a specific current index without breaking
- existing \c currentIndex bindings.
-
- \sa currentIndex, {Managing the Current Index}
-*/
-void QQuickContainer::setCurrentIndex(int index)
-{
- Q_D(QQuickContainer);
- if (d->currentIndex == index)
- return;
-
- d->currentIndex = index;
- emit currentIndexChanged();
- emit currentItemChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Container::incrementCurrentIndex()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- Increments the current index of the container.
-
- This method can be called to alter the current index without breaking
- existing \c currentIndex bindings.
-
- \sa currentIndex, {Managing the Current Index}
-*/
-void QQuickContainer::incrementCurrentIndex()
-{
- Q_D(QQuickContainer);
- if (d->currentIndex < count() - 1)
- setCurrentIndex(d->currentIndex + 1);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Container::decrementCurrentIndex()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- Decrements the current index of the container.
-
- This method can be called to alter the current index without breaking
- existing \c currentIndex bindings.
-
- \sa currentIndex, {Managing the Current Index}
-*/
-void QQuickContainer::decrementCurrentIndex()
-{
- Q_D(QQuickContainer);
- if (d->currentIndex > 0)
- setCurrentIndex(d->currentIndex - 1);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Container::currentItem
- \readonly
-
- This property holds the current item.
-
- \sa currentIndex
-*/
-QQuickItem *QQuickContainer::currentItem() const
-{
- Q_D(const QQuickContainer);
- return itemAt(d->currentIndex);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Container::contentWidth
-
- This property holds the content width. It is used for calculating the total
- implicit width of the container.
-
- Unless explicitly overridden, the content width is automatically calculated
- based on the implicit width of the items in the container.
-
- \sa contentHeight
-*/
-qreal QQuickContainer::contentWidth() const
-{
- Q_D(const QQuickContainer);
- return d->contentWidth;
-}
-
-void QQuickContainer::setContentWidth(qreal width)
-{
- Q_D(QQuickContainer);
- d->hasContentWidth = true;
- if (qFuzzyCompare(d->contentWidth, width))
- return;
-
- d->contentWidth = width;
- d->resizeContent();
- emit contentWidthChanged();
-}
-
-void QQuickContainer::resetContentWidth()
-{
- Q_D(QQuickContainer);
- if (!d->hasContentWidth)
- return;
-
- d->hasContentWidth = false;
- d->updateContentWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Container::contentHeight
-
- This property holds the content height. It is used for calculating the total
- implicit height of the container.
-
- Unless explicitly overridden, the content height is automatically calculated
- based on the implicit height of the items in the container.
-
- \sa contentWidth
-*/
-qreal QQuickContainer::contentHeight() const
-{
- Q_D(const QQuickContainer);
- return d->contentHeight;
-}
-
-void QQuickContainer::setContentHeight(qreal height)
-{
- Q_D(QQuickContainer);
- d->hasContentHeight = true;
- if (qFuzzyCompare(d->contentHeight, height))
- return;
-
- d->contentHeight = height;
- d->resizeContent();
- emit contentHeightChanged();
-}
-
-void QQuickContainer::resetContentHeight()
-{
- Q_D(QQuickContainer);
- if (!d->hasContentHeight)
- return;
-
- d->hasContentHeight = false;
- d->updateContentHeight();
-}
-
-void QQuickContainer::componentComplete()
-{
- Q_D(QQuickContainer);
- QQuickControl::componentComplete();
- d->reorderItems();
-}
-
-void QQuickContainer::itemChange(ItemChange change, const ItemChangeData &data)
-{
- Q_D(QQuickContainer);
- QQuickControl::itemChange(change, data);
- if (change == QQuickItem::ItemChildAddedChange && isComponentComplete() && data.item != d->background && data.item != d->contentItem) {
- if (!QQuickItemPrivate::get(data.item)->isTransparentForPositioner() && d->contentModel->indexOf(data.item, nullptr) == -1)
- addItem(data.item);
- }
-}
-
-void QQuickContainer::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickContainer);
- QQuickControl::contentItemChange(newItem, oldItem);
-
- static const int slotIndex = metaObject()->indexOfSlot("_q_currentIndexChanged()");
-
- if (oldItem) {
- QQuickItemPrivate::get(oldItem)->removeItemChangeListener(d, QQuickItemPrivate::Children | QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
- QQuickItem *oldContentItem = effectiveContentItem(oldItem);
- if (oldContentItem != oldItem)
- QQuickItemPrivate::get(oldContentItem)->removeItemChangeListener(d, QQuickItemPrivate::Children);
-
- int signalIndex = oldItem->metaObject()->indexOfSignal("currentIndexChanged()");
- if (signalIndex != -1)
- QMetaObject::disconnect(oldItem, signalIndex, this, slotIndex);
- }
-
- if (newItem) {
- QQuickItemPrivate::get(newItem)->addItemChangeListener(d, QQuickItemPrivate::Children | QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
- QQuickItem *newContentItem = effectiveContentItem(newItem);
- if (newContentItem != newItem)
- QQuickItemPrivate::get(newContentItem)->addItemChangeListener(d, QQuickItemPrivate::Children);
-
- int signalIndex = newItem->metaObject()->indexOfSignal("currentIndexChanged()");
- if (signalIndex != -1)
- QMetaObject::connect(newItem, signalIndex, this, slotIndex);
- }
-}
-
-bool QQuickContainer::isContent(QQuickItem *item) const
-{
- // If the item has a QML context associated to it (it was created in QML),
- // we add it to the content model. Otherwise, it's probably the default
- // highlight item that is always created by the item views, which we need
- // to exclude.
- //
- // TODO: Find a better way to identify/exclude the highlight item...
- return qmlContext(item);
-}
-
-void QQuickContainer::itemAdded(int index, QQuickItem *item)
-{
- Q_UNUSED(index);
- Q_UNUSED(item);
-}
-
-void QQuickContainer::itemMoved(int index, QQuickItem *item)
-{
- Q_UNUSED(index);
- Q_UNUSED(item);
-}
-
-void QQuickContainer::itemRemoved(int index, QQuickItem *item)
-{
- Q_UNUSED(index);
- Q_UNUSED(item);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickcontainer_p.cpp"
diff --git a/src/quicktemplates2/qquickcontainer_p.h b/src/quicktemplates2/qquickcontainer_p.h
deleted file mode 100644
index 310aacd1..00000000
--- a/src/quicktemplates2/qquickcontainer_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCONTAINER_P_H
-#define QQUICKCONTAINER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQml/qqmllist.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickContainerPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickContainer : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(int count READ count NOTIFY countChanged FINAL)
- Q_PROPERTY(QVariant contentModel READ contentModel CONSTANT FINAL)
- Q_PROPERTY(QQmlListProperty<QObject> contentData READ contentData FINAL)
- Q_PROPERTY(QQmlListProperty<QQuickItem> contentChildren READ contentChildren NOTIFY contentChildrenChanged FINAL)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged FINAL)
- Q_PROPERTY(QQuickItem *currentItem READ currentItem NOTIFY currentItemChanged FINAL)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth RESET resetContentWidth NOTIFY contentWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight RESET resetContentHeight NOTIFY contentHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DefaultProperty", "contentData")
-
-public:
- explicit QQuickContainer(QQuickItem *parent = nullptr);
- ~QQuickContainer();
-
- int count() const;
- Q_INVOKABLE QQuickItem *itemAt(int index) const;
- Q_INVOKABLE void addItem(QQuickItem *item);
- Q_INVOKABLE void insertItem(int index, QQuickItem *item);
- Q_INVOKABLE void moveItem(int from, int to);
- Q_INVOKABLE void removeItem(const QVariant &item); // ### Qt 6: remove
- void removeItem(QQuickItem *item); // ### Qt 6: Q_INVOKABLE
- // 2.3 (Qt 5.10)
- Q_REVISION(3) Q_INVOKABLE QQuickItem *takeItem(int index);
-
- QVariant contentModel() const;
- QQmlListProperty<QObject> contentData();
- QQmlListProperty<QQuickItem> contentChildren();
-
- int currentIndex() const;
- QQuickItem *currentItem() const;
-
- // 2.5 (Qt 5.12)
- qreal contentWidth() const;
- void setContentWidth(qreal width);
- void resetContentWidth();
-
- qreal contentHeight() const;
- void setContentHeight(qreal height);
- void resetContentHeight();
-
-public Q_SLOTS:
- void setCurrentIndex(int index);
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void incrementCurrentIndex();
- Q_REVISION(1) void decrementCurrentIndex();
-
-Q_SIGNALS:
- void countChanged();
- void contentChildrenChanged();
- void currentIndexChanged();
- void currentItemChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void contentWidthChanged();
- Q_REVISION(5) void contentHeightChanged();
-
-protected:
- QQuickContainer(QQuickContainerPrivate &dd, QQuickItem *parent);
-
- void componentComplete() override;
-
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
-
- virtual bool isContent(QQuickItem *item) const;
- virtual void itemAdded(int index, QQuickItem *item);
- virtual void itemMoved(int index, QQuickItem *item);
- virtual void itemRemoved(int index, QQuickItem *item);
-
-private:
- Q_DISABLE_COPY(QQuickContainer)
- Q_DECLARE_PRIVATE(QQuickContainer)
- Q_PRIVATE_SLOT(d_func(), void _q_currentIndexChanged())
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickContainer)
-
-#endif // QQUICKCONTAINER_P_H
diff --git a/src/quicktemplates2/qquickcontainer_p_p.h b/src/quicktemplates2/qquickcontainer_p_p.h
deleted file mode 100644
index 1a251b50..00000000
--- a/src/quicktemplates2/qquickcontainer_p_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCONTAINER_P_P_H
-#define QQUICKCONTAINER_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <private/qqmlobjectmodel_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickContainerPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickContainer)
-
-public:
- static QQuickContainerPrivate *get(QQuickContainer *container)
- {
- return container->d_func();
- }
-
- void init();
- void cleanup();
-
- QQuickItem *itemAt(int index) const;
- void insertItem(int index, QQuickItem *item);
- void moveItem(int from, int to, QQuickItem *item);
- void removeItem(int index, QQuickItem *item);
- void reorderItems();
-
- void _q_currentIndexChanged();
-
- void itemChildAdded(QQuickItem *item, QQuickItem *child) override;
- void itemSiblingOrderChanged(QQuickItem *item) override;
- void itemParentChanged(QQuickItem *item, QQuickItem *parent) override;
- void itemDestroyed(QQuickItem *item) override;
-
- static void contentData_append(QQmlListProperty<QObject> *prop, QObject *obj);
- static int contentData_count(QQmlListProperty<QObject> *prop);
- static QObject *contentData_at(QQmlListProperty<QObject> *prop, int index);
- static void contentData_clear(QQmlListProperty<QObject> *prop);
-
- static void contentChildren_append(QQmlListProperty<QQuickItem> *prop, QQuickItem *obj);
- static int contentChildren_count(QQmlListProperty<QQuickItem> *prop);
- static QQuickItem *contentChildren_at(QQmlListProperty<QQuickItem> *prop, int index);
- static void contentChildren_clear(QQmlListProperty<QQuickItem> *prop);
-
- void updateContentWidth();
- void updateContentHeight();
-
- bool hasContentWidth = false;
- bool hasContentHeight = false;
- qreal contentWidth = 0;
- qreal contentHeight = 0;
- QObjectList contentData;
- QQmlObjectModel *contentModel = nullptr;
- int currentIndex = -1;
- bool updatingCurrent = false;
- QQuickItemPrivate::ChangeTypes changeTypes = Destroyed | Parent | SiblingOrder;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKCONTAINER_P_P_H
diff --git a/src/quicktemplates2/qquickcontentitem.cpp b/src/quicktemplates2/qquickcontentitem.cpp
deleted file mode 100644
index 95665f70..00000000
--- a/src/quicktemplates2/qquickcontentitem.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcontentitem_p.h"
-
-#include <QtQml/private/qqmlmetatype_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \internal
-
- Helper class that aids debugging by producing more useful debugging output.
-*/
-
-QQuickContentItem::QQuickContentItem(QQuickItem *parent)
- : QQuickItem(parent)
-{
- setObjectName(QQmlMetaType::prettyTypeName(parent));
-}
-
-QQuickContentItem::QQuickContentItem(const QObject *scope, QQuickItem *parent)
- : QQuickItem(parent)
-{
- setObjectName(QQmlMetaType::prettyTypeName(scope));
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickcontentitem_p.h b/src/quicktemplates2/qquickcontentitem_p.h
deleted file mode 100644
index df0f0b24..00000000
--- a/src/quicktemplates2/qquickcontentitem_p.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCONTENTITEM_P_H
-#define QQUICKCONTENTITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickitem.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickContentItem : public QQuickItem
-{
- Q_OBJECT
-
-public:
- explicit QQuickContentItem(QQuickItem *parent = nullptr);
- explicit QQuickContentItem(const QObject *scope, QQuickItem *parent);
-
-private:
- Q_DISABLE_COPY(QQuickContentItem)
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKCONTENTITEM_P_H
diff --git a/src/quicktemplates2/qquickcontrol.cpp b/src/quicktemplates2/qquickcontrol.cpp
deleted file mode 100644
index e156fb57..00000000
--- a/src/quicktemplates2/qquickcontrol.cpp
+++ /dev/null
@@ -1,2308 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickcontrol_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtGui/qstylehints.h>
-#include <QtGui/qguiapplication.h>
-#include "qquicklabel_p.h"
-#include "qquicklabel_p_p.h"
-#include "qquicktextarea_p.h"
-#include "qquicktextarea_p_p.h"
-#include "qquicktextfield_p.h"
-#include "qquicktextfield_p_p.h"
-#include "qquickpopup_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickapplicationwindow_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#if QT_CONFIG(accessibility)
-#include <QtQuick/private/qquickaccessibleattached_p.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Control
- \inherits Item
- \instantiates QQuickControl
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \brief Abstract base type providing functionality common to all controls.
-
- Control is the base type of user interface controls. It receives input
- events from the window system, and paints a representation of itself on
- the screen.
-
- \section1 Control Layout
-
- The following diagram illustrates the layout of a typical control:
-
- \image qtquickcontrols2-control.png
-
- The \l {Item::}{implicitWidth} and \l {Item::}{implicitHeight} of a control
- are typically based on the implicit sizes of the background and the content
- item plus any insets and paddings. These properties determine how large
- the control will be when no explicit \l {Item::}{width} or
- \l {Item::}{height} is specified.
-
- The geometry of the \l {Control::}{contentItem} is determined by the padding.
- The following example reserves 10px padding between the boundaries of the
- control and its content:
-
- \code
- Control {
- padding: 10
-
- contentItem: Text {
- text: "Content"
- }
- }
- \endcode
-
- The \l {Control::}{background} item fills the entire width and height of the
- control, unless insets or an explicit size have been given for it. Background
- insets are useful for extending the touchable/interactive area of a control
- without affecting its visual size. This is often used on touch devices to
- ensure that a control is not too small to be interacted with by the user.
- Insets affect the size of the control, and hence will affect how much space
- they take up in a layout, for example.
-
- Negative insets can be used to make the background larger than the control.
- The following example uses negative insets to place a shadow outside the
- control's boundaries:
-
- \code
- Control {
- topInset: -2
- leftInset: -2
- rightInset: -6
- bottomInset: -6
-
- background: BorderImage {
- source: ":/images/shadowed-background.png"
- }
- }
- \endcode
-
- \section1 Event Handling
-
- All controls, except non-interactive indicators, do not let clicks and
- touches through to items below them. For example, the \c console.log()
- call in the example below will never be executed when clicking on the
- Pane, because the \l MouseArea is below it in the scene:
-
- \code
- MouseArea {
- anchors.fill: parent
- onClicked: console.log("MouseArea was clicked")
-
- Pane {
- anchors.fill: parent
- }
- }
- \endcode
-
- \sa ApplicationWindow, Container
-*/
-
-const QQuickItemPrivate::ChangeTypes QQuickControlPrivate::ImplicitSizeChanges = QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight | QQuickItemPrivate::Destroyed;
-
-static bool isKeyFocusReason(Qt::FocusReason reason)
-{
- return reason == Qt::TabFocusReason || reason == Qt::BacktabFocusReason || reason == Qt::ShortcutFocusReason;
-}
-
-QQuickControlPrivate::QQuickControlPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::installActivationObserver(this);
-#endif
-}
-
-QQuickControlPrivate::~QQuickControlPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::removeActivationObserver(this);
-#endif
-}
-
-void QQuickControlPrivate::init()
-{
- Q_Q(QQuickControl);
- QObject::connect(q, &QQuickItem::baselineOffsetChanged, q, &QQuickControl::baselineOffsetChanged);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-bool QQuickControlPrivate::acceptTouch(const QTouchEvent::TouchPoint &point)
-{
- if (point.id() == touchId)
- return true;
-
- if (touchId == -1 && point.state() == Qt::TouchPointPressed) {
- touchId = point.id();
- return true;
- }
-
- return false;
-}
-#endif
-
-static void setActiveFocus(QQuickControl *control, Qt::FocusReason reason)
-{
- QQuickControlPrivate *d = QQuickControlPrivate::get(control);
- if (d->subFocusItem && d->window && d->flags & QQuickItem::ItemIsFocusScope)
- QQuickWindowPrivate::get(d->window)->clearFocusInScope(control, d->subFocusItem, reason);
- control->forceActiveFocus(reason);
-}
-
-void QQuickControlPrivate::handlePress(const QPointF &)
-{
- Q_Q(QQuickControl);
- if ((focusPolicy & Qt::ClickFocus) == Qt::ClickFocus && !QGuiApplication::styleHints()->setFocusOnTouchRelease())
- setActiveFocus(q, Qt::MouseFocusReason);
-}
-
-void QQuickControlPrivate::handleMove(const QPointF &point)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_Q(QQuickControl);
- q->setHovered(hoverEnabled && q->contains(point));
-#else
- Q_UNUSED(point);
-#endif
-}
-
-void QQuickControlPrivate::handleRelease(const QPointF &)
-{
- Q_Q(QQuickControl);
- if ((focusPolicy & Qt::ClickFocus) == Qt::ClickFocus && QGuiApplication::styleHints()->setFocusOnTouchRelease())
- setActiveFocus(q, Qt::MouseFocusReason);
- touchId = -1;
-}
-
-void QQuickControlPrivate::handleUngrab()
-{
- touchId = -1;
-}
-
-void QQuickControlPrivate::mirrorChange()
-{
- Q_Q(QQuickControl);
- if (locale.textDirection() == Qt::LeftToRight)
- q->mirrorChange();
-}
-
-void QQuickControlPrivate::setTopPadding(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldPadding = getPadding();
- extra.value().topPadding = value;
- extra.value().hasTopPadding = !reset;
- if ((!reset && !qFuzzyCompare(oldPadding.top(), value)) || (reset && !qFuzzyCompare(oldPadding.top(), getVerticalPadding()))) {
- emit q->topPaddingChanged();
- emit q->availableHeightChanged();
- q->paddingChange(getPadding(), oldPadding);
- }
-}
-
-void QQuickControlPrivate::setLeftPadding(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldPadding = getPadding();
- extra.value().leftPadding = value;
- extra.value().hasLeftPadding = !reset;
- if ((!reset && !qFuzzyCompare(oldPadding.left(), value)) || (reset && !qFuzzyCompare(oldPadding.left(), getHorizontalPadding()))) {
- emit q->leftPaddingChanged();
- emit q->availableWidthChanged();
- q->paddingChange(getPadding(), oldPadding);
- }
-}
-
-void QQuickControlPrivate::setRightPadding(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldPadding = getPadding();
- extra.value().rightPadding = value;
- extra.value().hasRightPadding = !reset;
- if ((!reset && !qFuzzyCompare(oldPadding.right(), value)) || (reset && !qFuzzyCompare(oldPadding.right(), getHorizontalPadding()))) {
- emit q->rightPaddingChanged();
- emit q->availableWidthChanged();
- q->paddingChange(getPadding(), oldPadding);
- }
-}
-
-void QQuickControlPrivate::setBottomPadding(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldPadding = getPadding();
- extra.value().bottomPadding = value;
- extra.value().hasBottomPadding = !reset;
- if ((!reset && !qFuzzyCompare(oldPadding.bottom(), value)) || (reset && !qFuzzyCompare(oldPadding.bottom(), getVerticalPadding()))) {
- emit q->bottomPaddingChanged();
- emit q->availableHeightChanged();
- q->paddingChange(getPadding(), oldPadding);
- }
-}
-
-void QQuickControlPrivate::setHorizontalPadding(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldPadding = getPadding();
- const qreal oldHorizontalPadding = getHorizontalPadding();
- horizontalPadding = value;
- hasHorizontalPadding = !reset;
- if ((!reset && !qFuzzyCompare(oldHorizontalPadding, value)) || (reset && !qFuzzyCompare(oldHorizontalPadding, padding))) {
- const QMarginsF newPadding = getPadding();
- if (!qFuzzyCompare(newPadding.left(), oldPadding.left()))
- emit q->leftPaddingChanged();
- if (!qFuzzyCompare(newPadding.right(), oldPadding.right()))
- emit q->rightPaddingChanged();
- emit q->horizontalPaddingChanged();
- emit q->availableWidthChanged();
- q->paddingChange(newPadding, oldPadding);
- }
-}
-
-void QQuickControlPrivate::setVerticalPadding(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldPadding = getPadding();
- const qreal oldVerticalPadding = getVerticalPadding();
- verticalPadding = value;
- hasVerticalPadding = !reset;
- if ((!reset && !qFuzzyCompare(oldVerticalPadding, value)) || (reset && !qFuzzyCompare(oldVerticalPadding, padding))) {
- const QMarginsF newPadding = getPadding();
- if (!qFuzzyCompare(newPadding.top(), oldPadding.top()))
- emit q->topPaddingChanged();
- if (!qFuzzyCompare(newPadding.bottom(), oldPadding.bottom()))
- emit q->bottomPaddingChanged();
- emit q->verticalPaddingChanged();
- emit q->availableHeightChanged();
- q->paddingChange(newPadding, oldPadding);
- }
-}
-
-void QQuickControlPrivate::setTopInset(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldInset = getInset();
- extra.value().topInset = value;
- extra.value().hasTopInset = !reset;
- if (!qFuzzyCompare(oldInset.top(), value)) {
- emit q->topInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickControlPrivate::setLeftInset(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldInset = getInset();
- extra.value().leftInset = value;
- extra.value().hasLeftInset = !reset;
- if (!qFuzzyCompare(oldInset.left(), value)) {
- emit q->leftInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickControlPrivate::setRightInset(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldInset = getInset();
- extra.value().rightInset = value;
- extra.value().hasRightInset = !reset;
- if (!qFuzzyCompare(oldInset.right(), value)) {
- emit q->rightInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickControlPrivate::setBottomInset(qreal value, bool reset)
-{
- Q_Q(QQuickControl);
- const QMarginsF oldInset = getInset();
- extra.value().bottomInset = value;
- extra.value().hasBottomInset = !reset;
- if (!qFuzzyCompare(oldInset.bottom(), value)) {
- emit q->bottomInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickControlPrivate::resizeBackground()
-{
- if (!background)
- return;
-
- resizingBackground = true;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (((!p->widthValid || !extra.isAllocated() || !extra->hasBackgroundWidth) && qFuzzyIsNull(background->x()))
- || (extra.isAllocated() && (extra->hasLeftInset || extra->hasRightInset))) {
- background->setX(getLeftInset());
- background->setWidth(width - getLeftInset() - getRightInset());
- }
- if (((!p->heightValid || !extra.isAllocated() || !extra->hasBackgroundHeight) && qFuzzyIsNull(background->y()))
- || (extra.isAllocated() && (extra->hasTopInset || extra->hasBottomInset))) {
- background->setY(getTopInset());
- background->setHeight(height - getTopInset() - getBottomInset());
- }
-
- resizingBackground = false;
-}
-
-void QQuickControlPrivate::resizeContent()
-{
- Q_Q(QQuickControl);
- if (contentItem) {
- contentItem->setPosition(QPointF(q->leftPadding(), q->topPadding()));
- contentItem->setSize(QSizeF(q->availableWidth(), q->availableHeight()));
- }
-}
-
-QQuickItem *QQuickControlPrivate::getContentItem()
-{
- if (!contentItem)
- executeContentItem();
- return contentItem;
-}
-
-void QQuickControlPrivate::setContentItem_helper(QQuickItem *item, bool notify)
-{
- Q_Q(QQuickControl);
- if (contentItem == item)
- return;
-
- if (!contentItem.isExecuting())
- cancelContentItem();
-
- QQuickItem *oldContentItem = contentItem;
- if (oldContentItem) {
- disconnect(oldContentItem, &QQuickItem::baselineOffsetChanged, this, &QQuickControlPrivate::updateBaselineOffset);
- removeImplicitSizeListener(oldContentItem);
- }
-
- contentItem = item;
- q->contentItemChange(item, oldContentItem);
- delete oldContentItem;
-
- if (item) {
- connect(contentItem.data(), &QQuickItem::baselineOffsetChanged, this, &QQuickControlPrivate::updateBaselineOffset);
- if (!item->parentItem())
- item->setParentItem(q);
- if (componentComplete)
- resizeContent();
- addImplicitSizeListener(contentItem);
- }
-
- updateImplicitContentSize();
- updateBaselineOffset();
-
- if (notify && !contentItem.isExecuting())
- emit q->contentItemChanged();
-}
-
-qreal QQuickControlPrivate::getContentWidth() const
-{
- return contentItem ? contentItem->implicitWidth() : 0;
-}
-
-qreal QQuickControlPrivate::getContentHeight() const
-{
- return contentItem ? contentItem->implicitHeight() : 0;
-}
-
-void QQuickControlPrivate::updateImplicitContentWidth()
-{
- Q_Q(QQuickControl);
- const qreal oldWidth = implicitContentWidth;
- implicitContentWidth = getContentWidth();
- if (!qFuzzyCompare(implicitContentWidth, oldWidth))
- emit q->implicitContentWidthChanged();
-}
-
-void QQuickControlPrivate::updateImplicitContentHeight()
-{
- Q_Q(QQuickControl);
- const qreal oldHeight = implicitContentHeight;
- implicitContentHeight = getContentHeight();
- if (!qFuzzyCompare(implicitContentHeight, oldHeight))
- emit q->implicitContentHeightChanged();
-}
-
-void QQuickControlPrivate::updateImplicitContentSize()
-{
- Q_Q(QQuickControl);
- const qreal oldWidth = implicitContentWidth;
- const qreal oldHeight = implicitContentHeight;
- implicitContentWidth = getContentWidth();
- implicitContentHeight = getContentHeight();
- if (!qFuzzyCompare(implicitContentWidth, oldWidth))
- emit q->implicitContentWidthChanged();
- if (!qFuzzyCompare(implicitContentHeight, oldHeight))
- emit q->implicitContentHeightChanged();
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickControlPrivate::accessibilityActiveChanged(bool active)
-{
- Q_Q(QQuickControl);
- return q->accessibilityActiveChanged(active);
-}
-
-QAccessible::Role QQuickControlPrivate::accessibleRole() const
-{
- Q_Q(const QQuickControl);
- return q->accessibleRole();
-}
-
-QQuickAccessibleAttached *QQuickControlPrivate::accessibleAttached(const QObject *object)
-{
- if (!QAccessible::isActive())
- return nullptr;
- return QQuickAccessibleAttached::attachedProperties(object);
-}
-#endif
-
-/*!
- \internal
-
- Returns the font that the control w inherits from its ancestors and
- QGuiApplication::font.
-*/
-QFont QQuickControlPrivate::parentFont(const QQuickItem *item)
-{
- QQuickItem *p = item->parentItem();
- while (p) {
- if (QQuickControl *control = qobject_cast<QQuickControl *>(p))
- return control->font();
- else if (QQuickLabel *label = qobject_cast<QQuickLabel *>(p))
- return label->font();
- else if (QQuickTextField *textField = qobject_cast<QQuickTextField *>(p))
- return textField->font();
- else if (QQuickTextArea *textArea = qobject_cast<QQuickTextArea *>(p))
- return textArea->font();
-
- p = p->parentItem();
- }
-
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
- return window->font();
-
- return QQuickTheme::font(QQuickTheme::System);
-}
-
-/*!
- \internal
-
- Determine which font is implicitly imposed on this control by its ancestors
- and QGuiApplication::font, resolve this against its own font (attributes from
- the implicit font are copied over). Then propagate this font to this
- control's children.
-*/
-void QQuickControlPrivate::resolveFont()
-{
- Q_Q(QQuickControl);
- inheritFont(parentFont(q));
-}
-
-void QQuickControlPrivate::inheritFont(const QFont &font)
-{
- Q_Q(QQuickControl);
- QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
- parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
-
- const QFont defaultFont = q->defaultFont();
- const QFont resolvedFont = parentFont.resolve(defaultFont);
-
- setFont_helper(resolvedFont);
-}
-
-/*!
- \internal
-
- Assign \a font to this control, and propagate it to all children.
-*/
-void QQuickControlPrivate::updateFont(const QFont &font)
-{
- Q_Q(QQuickControl);
- QFont oldFont = resolvedFont;
- resolvedFont = font;
-
- if (oldFont != font)
- q->fontChange(font, oldFont);
-
- QQuickControlPrivate::updateFontRecur(q, font);
-
- if (oldFont != font)
- emit q->fontChanged();
-}
-
-void QQuickControlPrivate::updateFontRecur(QQuickItem *item, const QFont &font)
-{
- const auto childItems = item->childItems();
- for (QQuickItem *child : childItems) {
- if (QQuickControl *control = qobject_cast<QQuickControl *>(child))
- QQuickControlPrivate::get(control)->inheritFont(font);
- else if (QQuickLabel *label = qobject_cast<QQuickLabel *>(child))
- QQuickLabelPrivate::get(label)->inheritFont(font);
- else if (QQuickTextArea *textArea = qobject_cast<QQuickTextArea *>(child))
- QQuickTextAreaPrivate::get(textArea)->inheritFont(font);
- else if (QQuickTextField *textField = qobject_cast<QQuickTextField *>(child))
- QQuickTextFieldPrivate::get(textField)->inheritFont(font);
- else
- QQuickControlPrivate::updateFontRecur(child, font);
- }
-}
-
-/*!
- \internal
-
- Returns the palette that the item inherits from its ancestors and
- QGuiApplication::palette.
-*/
-QPalette QQuickControlPrivate::parentPalette(const QQuickItem *item)
-{
- QQuickItem *p = item->parentItem();
- while (p) {
- if (QQuickControl *control = qobject_cast<QQuickControl *>(p))
- return control->palette();
- else if (QQuickLabel *label = qobject_cast<QQuickLabel *>(p))
- return label->palette();
- else if (QQuickTextField *textField = qobject_cast<QQuickTextField *>(p))
- return textField->palette();
- else if (QQuickTextArea *textArea = qobject_cast<QQuickTextArea *>(p))
- return textArea->palette();
-
- p = p->parentItem();
- }
-
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
- return window->palette();
-
- return QQuickTheme::palette(QQuickTheme::System);
-}
-
-/*!
- \internal
-
- Determine which palette is implicitly imposed on this control by its ancestors
- and QGuiApplication::palette, resolve this against its own palette (attributes from
- the implicit palette are copied over). Then propagate this palette to this
- control's children.
-*/
-void QQuickControlPrivate::resolvePalette()
-{
- Q_Q(QQuickControl);
- inheritPalette(parentPalette(q));
-}
-
-void QQuickControlPrivate::inheritPalette(const QPalette &palette)
-{
- Q_Q(QQuickControl);
- QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
- parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
-
- const QPalette defaultPalette = q->defaultPalette();
- const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
-
- setPalette_helper(resolvedPalette);
-}
-
-/*!
- \internal
-
- Assign \a palette to this control, and propagate it to all children.
-*/
-void QQuickControlPrivate::updatePalette(const QPalette &palette)
-{
- Q_Q(QQuickControl);
- QPalette oldPalette = resolvedPalette;
- resolvedPalette = palette;
-
- if (oldPalette != palette)
- q->paletteChange(palette, oldPalette);
-
- QQuickControlPrivate::updatePaletteRecur(q, palette);
-
- if (oldPalette != palette)
- emit q->paletteChanged();
-}
-
-void QQuickControlPrivate::updatePaletteRecur(QQuickItem *item, const QPalette &palette)
-{
- const auto childItems = item->childItems();
- for (QQuickItem *child : childItems) {
- if (QQuickControl *control = qobject_cast<QQuickControl *>(child))
- QQuickControlPrivate::get(control)->inheritPalette(palette);
- else if (QQuickLabel *label = qobject_cast<QQuickLabel *>(child))
- QQuickLabelPrivate::get(label)->inheritPalette(palette);
- else if (QQuickTextArea *textArea = qobject_cast<QQuickTextArea *>(child))
- QQuickTextAreaPrivate::get(textArea)->inheritPalette(palette);
- else if (QQuickTextField *textField = qobject_cast<QQuickTextField *>(child))
- QQuickTextFieldPrivate::get(textField)->inheritPalette(palette);
- else
- QQuickControlPrivate::updatePaletteRecur(child, palette);
- }
-}
-
-QLocale QQuickControlPrivate::calcLocale(const QQuickItem *item)
-{
- const QQuickItem *p = item;
- while (p) {
- if (const QQuickControl *control = qobject_cast<const QQuickControl *>(p))
- return control->locale();
-
- QVariant v = p->property("locale");
- if (v.isValid() && v.userType() == QMetaType::QLocale)
- return v.toLocale();
-
- p = p->parentItem();
- }
-
- if (item) {
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
- return window->locale();
- }
-
- return QLocale();
-}
-
-void QQuickControlPrivate::updateLocale(const QLocale &l, bool e)
-{
- Q_Q(QQuickControl);
- if (!e && hasLocale)
- return;
-
- QLocale old = q->locale();
- hasLocale = e;
- if (old != l) {
- bool wasMirrored = q->isMirrored();
- locale = l;
- q->localeChange(l, old);
- QQuickControlPrivate::updateLocaleRecur(q, l);
- emit q->localeChanged();
- if (wasMirrored != q->isMirrored())
- q->mirrorChange();
- }
-}
-
-void QQuickControlPrivate::updateLocaleRecur(QQuickItem *item, const QLocale &l)
-{
- const auto childItems = item->childItems();
- for (QQuickItem *child : childItems) {
- if (QQuickControl *control = qobject_cast<QQuickControl *>(child))
- QQuickControlPrivate::get(control)->updateLocale(l, false);
- else
- updateLocaleRecur(child, l);
- }
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickControlPrivate::updateHoverEnabled(bool enabled, bool xplicit)
-{
- Q_Q(QQuickControl);
- if (!xplicit && explicitHoverEnabled)
- return;
-
- bool wasEnabled = q->isHoverEnabled();
- explicitHoverEnabled = xplicit;
- if (wasEnabled != enabled) {
- q->setAcceptHoverEvents(enabled);
- QQuickControlPrivate::updateHoverEnabledRecur(q, enabled);
- emit q->hoverEnabledChanged();
- }
-}
-
-void QQuickControlPrivate::updateHoverEnabledRecur(QQuickItem *item, bool enabled)
-{
- const auto childItems = item->childItems();
- for (QQuickItem *child : childItems) {
- if (QQuickControl *control = qobject_cast<QQuickControl *>(child))
- QQuickControlPrivate::get(control)->updateHoverEnabled(enabled, false);
- else
- updateHoverEnabledRecur(child, enabled);
- }
-}
-
-bool QQuickControlPrivate::calcHoverEnabled(const QQuickItem *item)
-{
- const QQuickItem *p = item;
- while (p) {
- // QQuickPopupItem accepts hover events to avoid leaking them through.
- // Don't inherit that to the children of the popup, but fallback to the
- // environment variable or style hint.
- if (qobject_cast<const QQuickPopupItem *>(p))
- break;
-
- if (const QQuickControl *control = qobject_cast<const QQuickControl *>(p))
- return control->isHoverEnabled();
-
- QVariant v = p->property("hoverEnabled");
- if (v.isValid() && v.userType() == QMetaType::Bool)
- return v.toBool();
-
- p = p->parentItem();
- }
-
- bool ok = false;
- int env = qEnvironmentVariableIntValue("QT_QUICK_CONTROLS_HOVER_ENABLED", &ok);
- if (ok)
- return env != 0;
-
- // TODO: QQuickApplicationWindow::isHoverEnabled()
-
- return QGuiApplication::styleHints()->useHoverEffects();
-}
-#endif
-
-static inline QString contentItemName() { return QStringLiteral("contentItem"); }
-
-void QQuickControlPrivate::cancelContentItem()
-{
- Q_Q(QQuickControl);
- quickCancelDeferred(q, contentItemName());
-}
-
-void QQuickControlPrivate::executeContentItem(bool complete)
-{
- Q_Q(QQuickControl);
- if (contentItem.wasExecuted())
- return;
-
- if (!contentItem || complete)
- quickBeginDeferred(q, contentItemName(), contentItem);
- if (complete)
- quickCompleteDeferred(q, contentItemName(), contentItem);
-}
-
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
-void QQuickControlPrivate::cancelBackground()
-{
- Q_Q(QQuickControl);
- quickCancelDeferred(q, backgroundName());
-}
-
-void QQuickControlPrivate::executeBackground(bool complete)
-{
- Q_Q(QQuickControl);
- if (background.wasExecuted())
- return;
-
- if (!background || complete)
- quickBeginDeferred(q, backgroundName(), background);
- if (complete)
- quickCompleteDeferred(q, backgroundName(), background);
-}
-
-void QQuickControlPrivate::updateBaselineOffset()
-{
- Q_Q(QQuickControl);
- if (extra.isAllocated() && extra.value().hasBaselineOffset)
- return;
-
- if (!contentItem)
- q->QQuickItem::setBaselineOffset(0);
- else
- q->QQuickItem::setBaselineOffset(getTopPadding() + contentItem->baselineOffset());
-}
-
-void QQuickControlPrivate::addImplicitSizeListener(QQuickItem *item, ChangeTypes changes)
-{
- addImplicitSizeListener(item, this, changes);
-}
-
-void QQuickControlPrivate::removeImplicitSizeListener(QQuickItem *item, ChangeTypes changes)
-{
- removeImplicitSizeListener(item, this, changes);
-}
-
-void QQuickControlPrivate::addImplicitSizeListener(QQuickItem *item, QQuickItemChangeListener *listener, ChangeTypes changes)
-{
- if (!item || !listener)
- return;
- QQuickItemPrivate::get(item)->addItemChangeListener(listener, changes);
-}
-
-void QQuickControlPrivate::removeImplicitSizeListener(QQuickItem *item, QQuickItemChangeListener *listener, ChangeTypes changes)
-{
- if (!item || !listener)
- return;
- QQuickItemPrivate::get(item)->removeItemChangeListener(listener, changes);
-}
-
-void QQuickControlPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickControl);
- if (item == background)
- emit q->implicitBackgroundWidthChanged();
- else if (item == contentItem)
- updateImplicitContentWidth();
-}
-
-void QQuickControlPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickControl);
- if (item == background)
- emit q->implicitBackgroundHeightChanged();
- else if (item == contentItem)
- updateImplicitContentHeight();
-}
-
-void QQuickControlPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(diff);
- if (resizingBackground || item != background || !change.sizeChange())
- return;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- // Only set hasBackgroundWidth/Height if it was a width/height change,
- // otherwise we're prevented from setting a width/height in the future.
- if (change.widthChange())
- extra.value().hasBackgroundWidth = p->widthValid;
- if (change.heightChange())
- extra.value().hasBackgroundHeight = p->heightValid;
- resizeBackground();
-}
-
-void QQuickControlPrivate::itemDestroyed(QQuickItem *item)
-{
- Q_Q(QQuickControl);
- if (item == background) {
- background = nullptr;
- emit q->implicitBackgroundWidthChanged();
- emit q->implicitBackgroundHeightChanged();
- } else if (item == contentItem) {
- contentItem = nullptr;
- updateImplicitContentSize();
- }
-}
-
-QQuickControl::QQuickControl(QQuickItem *parent)
- : QQuickItem(*(new QQuickControlPrivate), parent)
-{
- Q_D(QQuickControl);
- d->init();
-}
-
-QQuickControl::QQuickControl(QQuickControlPrivate &dd, QQuickItem *parent)
- : QQuickItem(dd, parent)
-{
- Q_D(QQuickControl);
- d->init();
-}
-
-QQuickControl::~QQuickControl()
-{
- Q_D(QQuickControl);
- d->removeImplicitSizeListener(d->background, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- d->removeImplicitSizeListener(d->contentItem);
-}
-
-void QQuickControl::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
-{
- Q_D(QQuickControl);
- QQuickItem::itemChange(change, value);
- switch (change) {
- case ItemEnabledHasChanged:
- emit paletteChanged();
- enabledChange();
- break;
- case ItemVisibleHasChanged:
-#if QT_CONFIG(quicktemplates2_hover)
- if (!value.boolValue)
- setHovered(false);
-#endif
- break;
- case ItemSceneChange:
- case ItemParentHasChanged:
- if ((change == ItemParentHasChanged && value.item) || (change == ItemSceneChange && value.window)) {
- d->resolveFont();
- d->resolvePalette();
- if (!d->hasLocale)
- d->updateLocale(QQuickControlPrivate::calcLocale(d->parentItem), false); // explicit=false
-#if QT_CONFIG(quicktemplates2_hover)
- if (!d->explicitHoverEnabled)
- d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false
-#endif
- }
- break;
- case ItemActiveFocusHasChanged:
- if (isKeyFocusReason(d->focusReason))
- emit visualFocusChanged();
- break;
- default:
- break;
- }
-}
-
-/*!
- \qmlproperty font QtQuick.Controls::Control::font
-
- This property holds the font currently set for the control.
-
- This property describes the control's requested font. The font is used by the control's
- style when rendering standard components, and is available as a means to ensure that custom
- controls can maintain consistency with the native platform's native look and feel. It's common
- that different platforms, or different styles, define different fonts for an application.
-
- The default font depends on the system environment. ApplicationWindow maintains a system/theme
- font which serves as a default for all controls. There may also be special font defaults for
- certain types of controls. You can also set the default font for controls by either:
-
- \list
- \li passing a custom font to QGuiApplication::setFont(), before loading the QML; or
- \li specifying the fonts in the \l {Qt Quick Controls 2 Configuration File}{qtquickcontrols2.conf file}.
- \endlist
-
- Finally, the font is matched against Qt's font database to find the best match.
-
- Control propagates explicit font properties from parent to children. If you change a specific
- property on a control's font, that property propagates to all of the control's children,
- overriding any system defaults for that property.
-
- \code
- Page {
- font.family: "Courier"
-
- Column {
- Label {
- text: qsTr("This will use Courier...")
- }
-
- Switch {
- text: qsTr("... and so will this")
- }
- }
- }
- \endcode
-
- For the full list of available font properties, see the
- \l [QtQuick]{font}{font QML Basic Type} documentation.
-*/
-QFont QQuickControl::font() const
-{
- Q_D(const QQuickControl);
- return d->resolvedFont;
-}
-
-void QQuickControl::setFont(const QFont &font)
-{
- Q_D(QQuickControl);
- if (d->extra.value().requestedFont.resolve() == font.resolve() && d->extra.value().requestedFont == font)
- return;
-
- d->extra.value().requestedFont = font;
- d->resolveFont();
-}
-
-void QQuickControl::resetFont()
-{
- setFont(QFont());
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::availableWidth
- \readonly
-
- This property holds the width available to the \l contentItem after
- deducting horizontal padding from the \l {Item::}{width} of the control.
-
- \sa {Control Layout}, padding, leftPadding, rightPadding
-*/
-qreal QQuickControl::availableWidth() const
-{
- return qMax<qreal>(0.0, width() - leftPadding() - rightPadding());
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::availableHeight
- \readonly
-
- This property holds the height available to the \l contentItem after
- deducting vertical padding from the \l {Item::}{height} of the control.
-
- \sa {Control Layout}, padding, topPadding, bottomPadding
-*/
-qreal QQuickControl::availableHeight() const
-{
- return qMax<qreal>(0.0, height() - topPadding() - bottomPadding());
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::padding
-
- This property holds the default padding.
-
- Padding adds a space between each edge of the content item and the
- background item, effectively controlling the size of the content item. To
- specify a padding value for a specific edge of the control, set its
- relevant property:
-
- \list
- \li \l {Control::}{leftPadding}
- \li \l {Control::}{rightPadding}
- \li \l {Control::}{topPadding}
- \li \l {Control::}{bottomPadding}
- \endlist
-
- \note Different styles may specify the default padding for certain controls
- in different ways, and these ways may change over time as the design
- guidelines that the style is based on evolve. To ensure that these changes
- don't affect the padding values you have specified, it is best to use the
- most specific properties available. For example, rather than setting
- the \l padding property:
-
- \code
- padding: 0
- \endcode
-
- set each specific property instead:
-
- \code
- leftPadding: 0
- rightPadding: 0
- topPadding: 0
- bottomPadding: 0
- \endcode
-
- \sa {Control Layout}, availableWidth, availableHeight, topPadding, leftPadding, rightPadding, bottomPadding
-*/
-qreal QQuickControl::padding() const
-{
- Q_D(const QQuickControl);
- return d->padding;
-}
-
-void QQuickControl::setPadding(qreal padding)
-{
- Q_D(QQuickControl);
- if (qFuzzyCompare(d->padding, padding))
- return;
-
- const QMarginsF oldPadding = d->getPadding();
- const qreal oldVerticalPadding = d->getVerticalPadding();
- const qreal oldHorizontalPadding = d->getHorizontalPadding();
-
- d->padding = padding;
- emit paddingChanged();
-
- const QMarginsF newPadding = d->getPadding();
- const qreal newVerticalPadding = d->getVerticalPadding();
- const qreal newHorizontalPadding = d->getHorizontalPadding();
-
- if (!qFuzzyCompare(newPadding.top(), oldPadding.top()))
- emit topPaddingChanged();
- if (!qFuzzyCompare(newPadding.left(), oldPadding.left()))
- emit leftPaddingChanged();
- if (!qFuzzyCompare(newPadding.right(), oldPadding.right()))
- emit rightPaddingChanged();
- if (!qFuzzyCompare(newPadding.bottom(), oldPadding.bottom()))
- emit bottomPaddingChanged();
- if (!qFuzzyCompare(newVerticalPadding, oldVerticalPadding))
- emit verticalPaddingChanged();
- if (!qFuzzyCompare(newHorizontalPadding, oldHorizontalPadding))
- emit horizontalPaddingChanged();
- if (!qFuzzyCompare(newPadding.top(), oldPadding.top()) || !qFuzzyCompare(newPadding.bottom(), oldPadding.bottom()))
- emit availableHeightChanged();
- if (!qFuzzyCompare(newPadding.left(), oldPadding.left()) || !qFuzzyCompare(newPadding.right(), oldPadding.right()))
- emit availableWidthChanged();
-
- paddingChange(newPadding, oldPadding);
-}
-
-void QQuickControl::resetPadding()
-{
- setPadding(0);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::topPadding
-
- This property holds the top padding. Unless explicitly set, the value
- is equal to \c verticalPadding.
-
- \sa {Control Layout}, padding, bottomPadding, verticalPadding, availableHeight
-*/
-qreal QQuickControl::topPadding() const
-{
- Q_D(const QQuickControl);
- return d->getTopPadding();
-}
-
-void QQuickControl::setTopPadding(qreal padding)
-{
- Q_D(QQuickControl);
- d->setTopPadding(padding);
-}
-
-void QQuickControl::resetTopPadding()
-{
- Q_D(QQuickControl);
- d->setTopPadding(0, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::leftPadding
-
- This property holds the left padding. Unless explicitly set, the value
- is equal to \c horizontalPadding.
-
- \sa {Control Layout}, padding, rightPadding, horizontalPadding, availableWidth
-*/
-qreal QQuickControl::leftPadding() const
-{
- Q_D(const QQuickControl);
- return d->getLeftPadding();
-}
-
-void QQuickControl::setLeftPadding(qreal padding)
-{
- Q_D(QQuickControl);
- d->setLeftPadding(padding);
-}
-
-void QQuickControl::resetLeftPadding()
-{
- Q_D(QQuickControl);
- d->setLeftPadding(0, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::rightPadding
-
- This property holds the right padding. Unless explicitly set, the value
- is equal to \c horizontalPadding.
-
- \sa {Control Layout}, padding, leftPadding, horizontalPadding, availableWidth
-*/
-qreal QQuickControl::rightPadding() const
-{
- Q_D(const QQuickControl);
- return d->getRightPadding();
-}
-
-void QQuickControl::setRightPadding(qreal padding)
-{
- Q_D(QQuickControl);
- d->setRightPadding(padding);
-}
-
-void QQuickControl::resetRightPadding()
-{
- Q_D(QQuickControl);
- d->setRightPadding(0, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::bottomPadding
-
- This property holds the bottom padding. Unless explicitly set, the value
- is equal to \c verticalPadding.
-
- \sa {Control Layout}, padding, topPadding, verticalPadding, availableHeight
-*/
-qreal QQuickControl::bottomPadding() const
-{
- Q_D(const QQuickControl);
- return d->getBottomPadding();
-}
-
-void QQuickControl::setBottomPadding(qreal padding)
-{
- Q_D(QQuickControl);
- d->setBottomPadding(padding);
-}
-
-void QQuickControl::resetBottomPadding()
-{
- Q_D(QQuickControl);
- d->setBottomPadding(0, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Control::spacing
-
- This property holds the spacing.
-
- Spacing is useful for controls that have multiple or repetitive building
- blocks. For example, some styles use spacing to determine the distance
- between the text and indicator of \l CheckBox. Spacing is not enforced by
- Control, so each style may interpret it differently, and some may ignore it
- altogether.
-*/
-qreal QQuickControl::spacing() const
-{
- Q_D(const QQuickControl);
- return d->spacing;
-}
-
-void QQuickControl::setSpacing(qreal spacing)
-{
- Q_D(QQuickControl);
- if (qFuzzyCompare(d->spacing, spacing))
- return;
-
- qreal oldSpacing = d->spacing;
- d->spacing = spacing;
- emit spacingChanged();
- spacingChange(spacing, oldSpacing);
-}
-
-void QQuickControl::resetSpacing()
-{
- setSpacing(0);
-}
-
-/*!
- \qmlproperty Locale QtQuick.Controls::Control::locale
-
- This property holds the locale of the control.
-
- It contains locale specific properties for formatting data and numbers.
- Unless a special locale has been set, this is either the parent's locale
- or the default locale.
-
- Control propagates the locale from parent to children. If you change the
- control's locale, that locale propagates to all of the control's children,
- overriding the system default locale.
-
- \sa mirrored, {LayoutMirroring}{LayoutMirroring}
-*/
-QLocale QQuickControl::locale() const
-{
- Q_D(const QQuickControl);
- return d->locale;
-}
-
-void QQuickControl::setLocale(const QLocale &locale)
-{
- Q_D(QQuickControl);
- if (d->hasLocale && d->locale == locale)
- return;
-
- d->updateLocale(locale, true); // explicit=true
-}
-
-void QQuickControl::resetLocale()
-{
- Q_D(QQuickControl);
- if (!d->hasLocale)
- return;
-
- d->hasLocale = false;
- d->updateLocale(QQuickControlPrivate::calcLocale(d->parentItem), false); // explicit=false
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Control::mirrored
- \readonly
-
- This property holds whether the control is mirrored.
-
- This property is provided for convenience. A control is considered mirrored
- when its visual layout direction is right-to-left; that is, when using a
- right-to-left locale or when \l {LayoutMirroring::enabled}{LayoutMirroring.enabled}
- is \c true.
-
- \sa locale, {LayoutMirroring}{LayoutMirroring}, {Right-to-left User Interfaces}
-*/
-bool QQuickControl::isMirrored() const
-{
- Q_D(const QQuickControl);
- return d->isMirrored() || d->locale.textDirection() == Qt::RightToLeft;
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Control::focusPolicy
-
- This property determines the way the control accepts focus.
-
- \value Qt.TabFocus The control accepts focus by tabbing.
- \value Qt.ClickFocus The control accepts focus by clicking.
- \value Qt.StrongFocus The control accepts focus by both tabbing and clicking.
- \value Qt.WheelFocus The control accepts focus by tabbing, clicking, and using the mouse wheel.
- \value Qt.NoFocus The control does not accept focus.
-*/
-Qt::FocusPolicy QQuickControl::focusPolicy() const
-{
- Q_D(const QQuickControl);
- uint policy = d->focusPolicy;
- if (activeFocusOnTab())
- policy |= Qt::TabFocus;
- return static_cast<Qt::FocusPolicy>(policy);
-}
-
-void QQuickControl::setFocusPolicy(Qt::FocusPolicy policy)
-{
- Q_D(QQuickControl);
- if (d->focusPolicy == policy)
- return;
-
- d->focusPolicy = policy;
- setActiveFocusOnTab(policy & Qt::TabFocus);
- emit focusPolicyChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Control::focusReason
- \readonly
-
- \include qquickcontrol-focusreason.qdocinc
-
- \sa visualFocus
-*/
-Qt::FocusReason QQuickControl::focusReason() const
-{
- Q_D(const QQuickControl);
- return d->focusReason;
-}
-
-void QQuickControl::setFocusReason(Qt::FocusReason reason)
-{
- Q_D(QQuickControl);
- if (d->focusReason == reason)
- return;
-
- Qt::FocusReason oldReason = d->focusReason;
- d->focusReason = reason;
- emit focusReasonChanged();
- if (isKeyFocusReason(oldReason) != isKeyFocusReason(reason))
- emit visualFocusChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Control::visualFocus
- \readonly
-
- This property holds whether the control has visual focus. This property
- is \c true when the control has active focus and the focus reason is either
- \c Qt.TabFocusReason, \c Qt.BacktabFocusReason, or \c Qt.ShortcutFocusReason.
-
- In general, for visualizing key focus, this property is preferred over
- \l Item::activeFocus. This ensures that key focus is only visualized when
- interacting with keys - not when interacting via touch or mouse.
-
- \sa focusReason, Item::activeFocus
-*/
-bool QQuickControl::hasVisualFocus() const
-{
- Q_D(const QQuickControl);
- return d->activeFocus && isKeyFocusReason(d->focusReason);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Control::hovered
- \readonly
-
- This property holds whether the control is hovered.
-
- \sa hoverEnabled
-*/
-bool QQuickControl::isHovered() const
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(const QQuickControl);
- return d->hovered;
-#else
- return false;
-#endif
-}
-
-void QQuickControl::setHovered(bool hovered)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickControl);
- if (hovered == d->hovered)
- return;
-
- d->hovered = hovered;
- emit hoveredChanged();
- hoverChange();
-#else
- Q_UNUSED(hovered);
-#endif
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Control::hoverEnabled
-
- This property determines whether the control accepts hover events. The default value
- is \c Qt.styleHints.useHoverEffects.
-
- Setting this property propagates the value to all child controls that do not have
- \c hoverEnabled explicitly set.
-
- You can also enable or disable hover effects for all Qt Quick Controls applications
- by setting the \c QT_QUICK_CONTROLS_HOVER_ENABLED \l {Supported Environment Variables
- in Qt Quick Controls}{environment variable}.
-
- \sa hovered
-*/
-bool QQuickControl::isHoverEnabled() const
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(const QQuickControl);
- return d->hoverEnabled;
-#else
- return false;
-#endif
-}
-
-void QQuickControl::setHoverEnabled(bool enabled)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickControl);
- if (d->explicitHoverEnabled && enabled == d->hoverEnabled)
- return;
-
- d->updateHoverEnabled(enabled, true); // explicit=true
-#else
- Q_UNUSED(enabled)
-#endif
-}
-
-void QQuickControl::resetHoverEnabled()
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickControl);
- if (!d->explicitHoverEnabled)
- return;
-
- d->explicitHoverEnabled = false;
- d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false
-#endif
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Control::wheelEnabled
-
- This property determines whether the control handles wheel events. The default value is \c false.
-
- \note Care must be taken when enabling wheel events for controls within scrollable items such
- as \l Flickable, as the control will consume the events and hence interrupt scrolling of the
- Flickable.
-*/
-bool QQuickControl::isWheelEnabled() const
-{
- Q_D(const QQuickControl);
- return d->wheelEnabled;
-}
-
-void QQuickControl::setWheelEnabled(bool enabled)
-{
- Q_D(QQuickControl);
- if (d->wheelEnabled == enabled)
- return;
-
- d->wheelEnabled = enabled;
- emit wheelEnabledChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Control::background
-
- This property holds the background item.
-
- \code
- Button {
- id: control
- text: qsTr("Button")
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- opacity: enabled ? 1 : 0.3
- color: control.down ? "#d0d0d0" : "#e0e0e0"
- }
- }
- \endcode
-
- \input qquickcontrol-background.qdocinc notes
-
- \sa {Control Layout}
-*/
-QQuickItem *QQuickControl::background() const
-{
- QQuickControlPrivate *d = const_cast<QQuickControlPrivate *>(d_func());
- if (!d->background)
- d->executeBackground();
- return d->background;
-}
-
-void QQuickControl::setBackground(QQuickItem *background)
-{
- Q_D(QQuickControl);
- if (d->background == background)
- return;
-
- if (!d->background.isExecuting())
- d->cancelBackground();
-
- const qreal oldImplicitBackgroundWidth = implicitBackgroundWidth();
- const qreal oldImplicitBackgroundHeight = implicitBackgroundHeight();
-
- if (d->extra.isAllocated()) {
- d->extra.value().hasBackgroundWidth = false;
- d->extra.value().hasBackgroundHeight = false;
- }
-
- d->removeImplicitSizeListener(d->background, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- delete d->background;
- d->background = background;
-
- if (background) {
- background->setParentItem(this);
- if (qFuzzyIsNull(background->z()))
- background->setZ(-1);
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (p->widthValid || p->heightValid) {
- d->extra.value().hasBackgroundWidth = p->widthValid;
- d->extra.value().hasBackgroundHeight = p->heightValid;
- }
- if (isComponentComplete())
- d->resizeBackground();
- d->addImplicitSizeListener(background, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- }
-
- if (!qFuzzyCompare(oldImplicitBackgroundWidth, implicitBackgroundWidth()))
- emit implicitBackgroundWidthChanged();
- if (!qFuzzyCompare(oldImplicitBackgroundHeight, implicitBackgroundHeight()))
- emit implicitBackgroundHeightChanged();
- if (!d->background.isExecuting())
- emit backgroundChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Control::contentItem
-
- This property holds the visual content item.
-
- \code
- Button {
- id: control
- text: qsTr("Button")
- contentItem: Label {
- text: control.text
- font: control.font
- verticalAlignment: Text.AlignVCenter
- }
- }
- \endcode
-
- \note The content item is automatically positioned and resized to fit
- within the \l padding of the control. Bindings to the \l x, \l y, \l width,
- and \l height properties of the contentItem are not respected.
-
- \note Most controls use the implicit size of the content item to calculate
- the implicit size of the control itself. If you replace the content item
- with a custom one, you should also consider providing a sensible implicit
- size for it (unless it is an item like \l Text which has its own implicit
- size).
-
- \sa {Control Layout}, padding
-*/
-QQuickItem *QQuickControl::contentItem() const
-{
- QQuickControlPrivate *d = const_cast<QQuickControlPrivate *>(d_func());
- if (!d->contentItem)
- d->setContentItem_helper(d->getContentItem(), false);
- return d->contentItem;
-}
-
-void QQuickControl::setContentItem(QQuickItem *item)
-{
- Q_D(QQuickControl);
- d->setContentItem_helper(item, true);
-}
-
-qreal QQuickControl::baselineOffset() const
-{
- Q_D(const QQuickControl);
- return d->baselineOffset;
-}
-
-void QQuickControl::setBaselineOffset(qreal offset)
-{
- Q_D(QQuickControl);
- d->extra.value().hasBaselineOffset = true;
- QQuickItem::setBaselineOffset(offset);
-}
-
-void QQuickControl::resetBaselineOffset()
-{
- Q_D(QQuickControl);
- if (!d->extra.isAllocated() || !d->extra.value().hasBaselineOffset)
- return;
-
- if (d->extra.isAllocated())
- d->extra.value().hasBaselineOffset = false;
- d->updateBaselineOffset();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty palette QtQuick.Controls::Control::palette
-
- This property holds the palette currently set for the control.
-
- This property describes the control's requested palette. The palette is used by the control's
- style when rendering standard components, and is available as a means to ensure that custom
- controls can maintain consistency with the native platform's native look and feel. It's common
- that different platforms, or different styles, define different palettes for an application.
-
- The default palette depends on the system environment. ApplicationWindow maintains a system/theme
- palette which serves as a default for all controls. There may also be special palette defaults for
- certain types of controls. You can also set the default palette for controls by either:
-
- \list
- \li passing a custom palette to QGuiApplication::setPalette(), before loading any QML; or
- \li specifying the colors in the \l {Qt Quick Controls 2 Configuration File}{qtquickcontrols2.conf file}.
- \endlist
-
- Control propagates explicit palette properties from parent to children. If you change a specific
- property on a control's palette, that property propagates to all of the control's children,
- overriding any system defaults for that property.
-
- \code
- Page {
- palette.text: "red"
-
- Column {
- Label {
- text: qsTr("This will use red color...")
- }
-
- Switch {
- text: qsTr("... and so will this")
- }
- }
- }
- \endcode
-
- For the full list of available palette colors, see the
- \l {qtquickcontrols2-palette}{palette QML Basic Type} documentation.
-
- \sa ApplicationWindow::palette, Popup::palette
-*/
-QPalette QQuickControl::palette() const
-{
- Q_D(const QQuickControl);
- QPalette palette = d->resolvedPalette;
- if (!isEnabled())
- palette.setCurrentColorGroup(QPalette::Disabled);
- return palette;
-}
-
-void QQuickControl::setPalette(const QPalette &palette)
-{
- Q_D(QQuickControl);
- if (d->extra.value().requestedPalette.resolve() == palette.resolve() && d->extra.value().requestedPalette == palette)
- return;
-
- d->extra.value().requestedPalette = palette;
- d->resolvePalette();
-}
-
-void QQuickControl::resetPalette()
-{
- setPalette(QPalette());
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::horizontalPadding
-
- This property holds the horizontal padding. Unless explicitly set, the value
- is equal to \c padding.
-
- \sa {Control Layout}, padding, leftPadding, rightPadding, verticalPadding
-*/
-qreal QQuickControl::horizontalPadding() const
-{
- Q_D(const QQuickControl);
- return d->getHorizontalPadding();
-}
-
-void QQuickControl::setHorizontalPadding(qreal padding)
-{
- Q_D(QQuickControl);
- d->setHorizontalPadding(padding);
-}
-
-void QQuickControl::resetHorizontalPadding()
-{
- Q_D(QQuickControl);
- d->setHorizontalPadding(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::verticalPadding
-
- This property holds the vertical padding. Unless explicitly set, the value
- is equal to \c padding.
-
- \sa {Control Layout}, padding, topPadding, bottomPadding, horizontalPadding
-*/
-qreal QQuickControl::verticalPadding() const
-{
- Q_D(const QQuickControl);
- return d->getVerticalPadding();
-}
-
-void QQuickControl::setVerticalPadding(qreal padding)
-{
- Q_D(QQuickControl);
- d->setVerticalPadding(padding);
-}
-
-void QQuickControl::resetVerticalPadding()
-{
- Q_D(QQuickControl);
- d->setVerticalPadding(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::implicitContentWidth
- \readonly
-
- This property holds the implicit content width.
-
- For basic controls, the value is equal to \c {contentItem ? contentItem.implicitWidth : 0}.
- For types that inherit Container or Pane, the value is calculated based on the content children.
-
- This is typically used, together with \l implicitBackgroundWidth, to calculate
- the \l {Item::}{implicitWidth}:
-
- \code
- Control {
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- }
- \endcode
-
- \sa implicitContentHeight, implicitBackgroundWidth
-*/
-qreal QQuickControl::implicitContentWidth() const
-{
- Q_D(const QQuickControl);
- return d->implicitContentWidth;
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::implicitContentHeight
- \readonly
-
- This property holds the implicit content height.
-
- For basic controls, the value is equal to \c {contentItem ? contentItem.implicitHeight : 0}.
- For types that inherit Container or Pane, the value is calculated based on the content children.
-
- This is typically used, together with \l implicitBackgroundHeight, to calculate
- the \l {Item::}{implicitHeight}:
-
- \code
- Control {
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- }
- \endcode
-
- \sa implicitContentWidth, implicitBackgroundHeight
-*/
-qreal QQuickControl::implicitContentHeight() const
-{
- Q_D(const QQuickControl);
- return d->implicitContentHeight;
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::implicitBackgroundWidth
- \readonly
-
- This property holds the implicit background width.
-
- The value is equal to \c {background ? background.implicitWidth : 0}.
-
- This is typically used, together with \l implicitContentWidth, to calculate
- the \l {Item::}{implicitWidth}:
-
- \code
- Control {
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- }
- \endcode
-
- \sa implicitBackgroundHeight, implicitContentWidth
-*/
-qreal QQuickControl::implicitBackgroundWidth() const
-{
- Q_D(const QQuickControl);
- if (!d->background)
- return 0;
- return d->background->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::implicitBackgroundHeight
- \readonly
-
- This property holds the implicit background height.
-
- The value is equal to \c {background ? background.implicitHeight : 0}.
-
- This is typically used, together with \l implicitContentHeight, to calculate
- the \l {Item::}{implicitHeight}:
-
- \code
- Control {
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- }
- \endcode
-
- \sa implicitBackgroundWidth, implicitContentHeight
-*/
-qreal QQuickControl::implicitBackgroundHeight() const
-{
- Q_D(const QQuickControl);
- if (!d->background)
- return 0;
- return d->background->implicitHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::topInset
-
- This property holds the top inset for the background.
-
- \sa {Control Layout}, bottomInset
-*/
-qreal QQuickControl::topInset() const
-{
- Q_D(const QQuickControl);
- return d->getTopInset();
-}
-
-void QQuickControl::setTopInset(qreal inset)
-{
- Q_D(QQuickControl);
- d->setTopInset(inset);
-}
-
-void QQuickControl::resetTopInset()
-{
- Q_D(QQuickControl);
- d->setTopInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::leftInset
-
- This property holds the left inset for the background.
-
- \sa {Control Layout}, rightInset
-*/
-qreal QQuickControl::leftInset() const
-{
- Q_D(const QQuickControl);
- return d->getLeftInset();
-}
-
-void QQuickControl::setLeftInset(qreal inset)
-{
- Q_D(QQuickControl);
- d->setLeftInset(inset);
-}
-
-void QQuickControl::resetLeftInset()
-{
- Q_D(QQuickControl);
- d->setLeftInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::rightInset
-
- This property holds the right inset for the background.
-
- \sa {Control Layout}, leftInset
-*/
-qreal QQuickControl::rightInset() const
-{
- Q_D(const QQuickControl);
- return d->getRightInset();
-}
-
-void QQuickControl::setRightInset(qreal inset)
-{
- Q_D(QQuickControl);
- d->setRightInset(inset);
-}
-
-void QQuickControl::resetRightInset()
-{
- Q_D(QQuickControl);
- d->setRightInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Control::bottomInset
-
- This property holds the bottom inset for the background.
-
- \sa {Control Layout}, topInset
-*/
-qreal QQuickControl::bottomInset() const
-{
- Q_D(const QQuickControl);
- return d->getBottomInset();
-}
-
-void QQuickControl::setBottomInset(qreal inset)
-{
- Q_D(QQuickControl);
- d->setBottomInset(inset);
-}
-
-void QQuickControl::resetBottomInset()
-{
- Q_D(QQuickControl);
- d->setBottomInset(0, true);
-}
-
-void QQuickControl::classBegin()
-{
- Q_D(QQuickControl);
- QQuickItem::classBegin();
- d->resolveFont();
- d->resolvePalette();
-}
-
-void QQuickControl::componentComplete()
-{
- Q_D(QQuickControl);
- d->executeBackground(true);
- d->executeContentItem(true);
- QQuickItem::componentComplete();
- d->resizeBackground();
- d->resizeContent();
- d->updateBaselineOffset();
- if (!d->hasLocale)
- d->locale = QQuickControlPrivate::calcLocale(d->parentItem);
-#if QT_CONFIG(quicktemplates2_hover)
- if (!d->explicitHoverEnabled)
- setAcceptHoverEvents(QQuickControlPrivate::calcHoverEnabled(d->parentItem));
-#endif
-#if QT_CONFIG(accessibility)
- if (QAccessible::isActive())
- accessibilityActiveChanged(true);
-#endif
-}
-
-QFont QQuickControl::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::System);
-}
-
-QPalette QQuickControl::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::System);
-}
-
-void QQuickControl::focusInEvent(QFocusEvent *event)
-{
- QQuickItem::focusInEvent(event);
- setFocusReason(event->reason());
-}
-
-void QQuickControl::focusOutEvent(QFocusEvent *event)
-{
- QQuickItem::focusOutEvent(event);
- setFocusReason(event->reason());
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickControl::hoverEnterEvent(QHoverEvent *event)
-{
- Q_D(QQuickControl);
- setHovered(d->hoverEnabled);
- event->setAccepted(d->hoverEnabled);
-}
-
-void QQuickControl::hoverMoveEvent(QHoverEvent *event)
-{
- Q_D(QQuickControl);
- setHovered(d->hoverEnabled && contains(event->pos()));
- event->setAccepted(d->hoverEnabled);
-}
-
-void QQuickControl::hoverLeaveEvent(QHoverEvent *event)
-{
- Q_D(QQuickControl);
- setHovered(false);
- event->setAccepted(d->hoverEnabled);
-}
-#endif
-
-void QQuickControl::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickControl);
- d->handlePress(event->localPos());
- event->accept();
-}
-
-void QQuickControl::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickControl);
- d->handleMove(event->localPos());
- event->accept();
-}
-
-void QQuickControl::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickControl);
- d->handleRelease(event->localPos());
- event->accept();
-}
-
-void QQuickControl::mouseUngrabEvent()
-{
- Q_D(QQuickControl);
- d->handleUngrab();
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickControl::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickControl);
- switch (event->type()) {
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (!d->acceptTouch(point))
- continue;
-
- switch (point.state()) {
- case Qt::TouchPointPressed:
- d->handlePress(point.pos());
- break;
- case Qt::TouchPointMoved:
- d->handleMove(point.pos());
- break;
- case Qt::TouchPointReleased:
- d->handleRelease(point.pos());
- break;
- default:
- break;
- }
- }
- break;
-
- case QEvent::TouchCancel:
- d->handleUngrab();
- break;
-
- default:
- QQuickItem::touchEvent(event);
- break;
- }
-}
-
-void QQuickControl::touchUngrabEvent()
-{
- Q_D(QQuickControl);
- d->handleUngrab();
-}
-#endif
-
-#if QT_CONFIG(wheelevent)
-void QQuickControl::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickControl);
- if ((d->focusPolicy & Qt::WheelFocus) == Qt::WheelFocus)
- setActiveFocus(this, Qt::MouseFocusReason);
-
- event->setAccepted(d->wheelEnabled);
-}
-#endif
-
-void QQuickControl::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickControl);
- QQuickItem::geometryChanged(newGeometry, oldGeometry);
- d->resizeBackground();
- d->resizeContent();
- if (!qFuzzyCompare(newGeometry.width(), oldGeometry.width()))
- emit availableWidthChanged();
- if (!qFuzzyCompare(newGeometry.height(), oldGeometry.height()))
- emit availableHeightChanged();
-}
-
-void QQuickControl::enabledChange()
-{
-}
-
-void QQuickControl::fontChange(const QFont &newFont, const QFont &oldFont)
-{
- Q_UNUSED(newFont);
- Q_UNUSED(oldFont);
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickControl::hoverChange()
-{
-}
-#endif
-
-void QQuickControl::mirrorChange()
-{
- emit mirroredChanged();
-}
-
-void QQuickControl::spacingChange(qreal newSpacing, qreal oldSpacing)
-{
- Q_UNUSED(newSpacing);
- Q_UNUSED(oldSpacing);
-}
-
-void QQuickControl::paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding)
-{
- Q_D(QQuickControl);
- Q_UNUSED(newPadding);
- Q_UNUSED(oldPadding);
- d->resizeContent();
- d->updateBaselineOffset();
-}
-
-void QQuickControl::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_UNUSED(newItem);
- Q_UNUSED(oldItem);
-}
-
-void QQuickControl::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_UNUSED(newLocale);
- Q_UNUSED(oldLocale);
-}
-
-void QQuickControl::paletteChange(const QPalette &newPalette, const QPalette &oldPalette)
-{
- Q_UNUSED(newPalette);
- Q_UNUSED(oldPalette);
-}
-
-void QQuickControl::insetChange(const QMarginsF &newInset, const QMarginsF &oldInset)
-{
- Q_D(QQuickControl);
- Q_UNUSED(newInset);
- Q_UNUSED(oldInset);
- d->resizeBackground();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickControl::accessibleRole() const
-{
- return QAccessible::NoRole;
-}
-
-void QQuickControl::accessibilityActiveChanged(bool active)
-{
- if (!active)
- return;
-
- QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(this, true));
- Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
-}
-#endif
-
-QString QQuickControl::accessibleName() const
-{
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this))
- return accessibleAttached->name();
-#endif
- return QString();
-}
-
-void QQuickControl::setAccessibleName(const QString &name)
-{
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this))
- accessibleAttached->setName(name);
-#else
- Q_UNUSED(name)
-#endif
-}
-
-QVariant QQuickControl::accessibleProperty(const char *propertyName)
-{
-#if QT_CONFIG(accessibility)
- if (QAccessible::isActive())
- return QQuickAccessibleAttached::property(this, propertyName);
-#endif
- Q_UNUSED(propertyName)
- return QVariant();
-}
-
-bool QQuickControl::setAccessibleProperty(const char *propertyName, const QVariant &value)
-{
-#if QT_CONFIG(accessibility)
- if (QAccessible::isActive())
- return QQuickAccessibleAttached::setProperty(this, propertyName, value);
-#endif
- Q_UNUSED(propertyName)
- Q_UNUSED(value)
- return false;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickcontrol_p.h b/src/quicktemplates2/qquickcontrol_p.h
deleted file mode 100644
index 3fe20f3b..00000000
--- a/src/quicktemplates2/qquickcontrol_p.h
+++ /dev/null
@@ -1,304 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCONTROL_P_H
-#define QQUICKCONTROL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qlocale.h>
-#include <QtGui/qpalette.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickControlPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickControl : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QFont font READ font WRITE setFont RESET resetFont NOTIFY fontChanged FINAL)
- Q_PROPERTY(qreal availableWidth READ availableWidth NOTIFY availableWidthChanged FINAL)
- Q_PROPERTY(qreal availableHeight READ availableHeight NOTIFY availableHeightChanged FINAL)
- Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged FINAL)
- Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged FINAL)
- Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding NOTIFY leftPaddingChanged FINAL)
- Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding NOTIFY rightPaddingChanged FINAL)
- Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged FINAL)
- Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing RESET resetSpacing NOTIFY spacingChanged FINAL)
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale RESET resetLocale NOTIFY localeChanged FINAL)
- Q_PROPERTY(bool mirrored READ isMirrored NOTIFY mirroredChanged FINAL)
- Q_PROPERTY(Qt::FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy NOTIFY focusPolicyChanged FINAL)
- Q_PROPERTY(Qt::FocusReason focusReason READ focusReason WRITE setFocusReason NOTIFY focusReasonChanged FINAL)
- Q_PROPERTY(bool visualFocus READ hasVisualFocus NOTIFY visualFocusChanged FINAL)
- Q_PROPERTY(bool hovered READ isHovered NOTIFY hoveredChanged FINAL)
- Q_PROPERTY(bool hoverEnabled READ isHoverEnabled WRITE setHoverEnabled RESET resetHoverEnabled NOTIFY hoverEnabledChanged FINAL)
- Q_PROPERTY(bool wheelEnabled READ isWheelEnabled WRITE setWheelEnabled NOTIFY wheelEnabledChanged FINAL)
- Q_PROPERTY(QQuickItem *background READ background WRITE setBackground NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(QQuickItem *contentItem READ contentItem WRITE setContentItem NOTIFY contentItemChanged FINAL)
- Q_PROPERTY(qreal baselineOffset READ baselineOffset WRITE setBaselineOffset RESET resetBaselineOffset NOTIFY baselineOffsetChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal horizontalPadding READ horizontalPadding WRITE setHorizontalPadding RESET resetHorizontalPadding NOTIFY horizontalPaddingChanged FINAL REVISION 5)
- Q_PROPERTY(qreal verticalPadding READ verticalPadding WRITE setVerticalPadding RESET resetVerticalPadding NOTIFY verticalPaddingChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitContentWidth READ implicitContentWidth NOTIFY implicitContentWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitContentHeight READ implicitContentHeight NOTIFY implicitContentHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundWidth READ implicitBackgroundWidth NOTIFY implicitBackgroundWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundHeight READ implicitBackgroundHeight NOTIFY implicitBackgroundHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal topInset READ topInset WRITE setTopInset RESET resetTopInset NOTIFY topInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal leftInset READ leftInset WRITE setLeftInset RESET resetLeftInset NOTIFY leftInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal rightInset READ rightInset WRITE setRightInset RESET resetRightInset NOTIFY rightInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal bottomInset READ bottomInset WRITE setBottomInset RESET resetBottomInset NOTIFY bottomInsetChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,contentItem")
-
-public:
- explicit QQuickControl(QQuickItem *parent = nullptr);
- ~QQuickControl();
-
- QFont font() const;
- void setFont(const QFont &font);
- void resetFont();
-
- qreal availableWidth() const;
- qreal availableHeight() const;
-
- qreal padding() const;
- void setPadding(qreal padding);
- void resetPadding();
-
- qreal topPadding() const;
- void setTopPadding(qreal padding);
- void resetTopPadding();
-
- qreal leftPadding() const;
- void setLeftPadding(qreal padding);
- void resetLeftPadding();
-
- qreal rightPadding() const;
- void setRightPadding(qreal padding);
- void resetRightPadding();
-
- qreal bottomPadding() const;
- void setBottomPadding(qreal padding);
- void resetBottomPadding();
-
- qreal spacing() const;
- void setSpacing(qreal spacing);
- void resetSpacing();
-
- QLocale locale() const;
- void setLocale(const QLocale &locale);
- void resetLocale();
-
- bool isMirrored() const;
-
- Qt::FocusPolicy focusPolicy() const;
- void setFocusPolicy(Qt::FocusPolicy policy);
-
- Qt::FocusReason focusReason() const;
- void setFocusReason(Qt::FocusReason reason);
-
- bool hasVisualFocus() const;
-
- bool isHovered() const;
- void setHovered(bool hovered);
-
- bool isHoverEnabled() const;
- void setHoverEnabled(bool enabled);
- void resetHoverEnabled();
-
- bool isWheelEnabled() const;
- void setWheelEnabled(bool enabled);
-
- QQuickItem *background() const;
- void setBackground(QQuickItem *background);
-
- QQuickItem *contentItem() const;
- void setContentItem(QQuickItem *item);
-
- qreal baselineOffset() const;
- void setBaselineOffset(qreal offset);
- void resetBaselineOffset();
-
- // 2.3 (Qt 5.10)
- QPalette palette() const;
- void setPalette(const QPalette &palette);
- void resetPalette();
-
- // 2.5 (Qt 5.12)
- qreal horizontalPadding() const;
- void setHorizontalPadding(qreal padding);
- void resetHorizontalPadding();
-
- qreal verticalPadding() const;
- void setVerticalPadding(qreal padding);
- void resetVerticalPadding();
-
- qreal implicitContentWidth() const;
- qreal implicitContentHeight() const;
-
- qreal implicitBackgroundWidth() const;
- qreal implicitBackgroundHeight() const;
-
- qreal topInset() const;
- void setTopInset(qreal inset);
- void resetTopInset();
-
- qreal leftInset() const;
- void setLeftInset(qreal inset);
- void resetLeftInset();
-
- qreal rightInset() const;
- void setRightInset(qreal inset);
- void resetRightInset();
-
- qreal bottomInset() const;
- void setBottomInset(qreal inset);
- void resetBottomInset();
-
-Q_SIGNALS:
- void fontChanged();
- void availableWidthChanged();
- void availableHeightChanged();
- void paddingChanged();
- void topPaddingChanged();
- void leftPaddingChanged();
- void rightPaddingChanged();
- void bottomPaddingChanged();
- void spacingChanged();
- void localeChanged();
- void mirroredChanged();
- void focusPolicyChanged();
- void focusReasonChanged();
- void visualFocusChanged();
- void hoveredChanged();
- void hoverEnabledChanged();
- void wheelEnabledChanged();
- void backgroundChanged();
- void contentItemChanged();
- void baselineOffsetChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void paletteChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void horizontalPaddingChanged();
- Q_REVISION(5) void verticalPaddingChanged();
- Q_REVISION(5) void implicitContentWidthChanged();
- Q_REVISION(5) void implicitContentHeightChanged();
- Q_REVISION(5) void implicitBackgroundWidthChanged();
- Q_REVISION(5) void implicitBackgroundHeightChanged();
- Q_REVISION(5) void topInsetChanged();
- Q_REVISION(5) void leftInsetChanged();
- Q_REVISION(5) void rightInsetChanged();
- Q_REVISION(5) void bottomInsetChanged();
-
-protected:
- virtual QFont defaultFont() const;
- virtual QPalette defaultPalette() const;
-
- QQuickControl(QQuickControlPrivate &dd, QQuickItem *parent);
-
- void classBegin() override;
- void componentComplete() override;
-
- void itemChange(ItemChange change, const ItemChangeData &value) override;
-
- void focusInEvent(QFocusEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
-#if QT_CONFIG(quicktemplates2_hover)
- void hoverEnterEvent(QHoverEvent *event) override;
- void hoverMoveEvent(QHoverEvent *event) override;
- void hoverLeaveEvent(QHoverEvent *event) override;
-#endif
- void mousePressEvent(QMouseEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
- void mouseUngrabEvent() override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
- void touchUngrabEvent() override;
-#endif
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
-
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
- virtual void fontChange(const QFont &newFont, const QFont &oldFont);
-#if QT_CONFIG(quicktemplates2_hover)
- virtual void hoverChange();
-#endif
- virtual void mirrorChange();
- virtual void spacingChange(qreal newSpacing, qreal oldSpacing);
- virtual void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding);
- virtual void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem);
- virtual void localeChange(const QLocale &newLocale, const QLocale &oldLocale);
- virtual void paletteChange(const QPalette &newPalette, const QPalette &oldPalette);
- virtual void insetChange(const QMarginsF &newInset, const QMarginsF &oldInset);
- virtual void enabledChange();
-
-#if QT_CONFIG(accessibility)
- virtual QAccessible::Role accessibleRole() const;
- virtual void accessibilityActiveChanged(bool active);
-#endif
-
- // helper functions which avoid to check QT_CONFIG(accessibility)
- QString accessibleName() const;
- void setAccessibleName(const QString &name);
-
- QVariant accessibleProperty(const char *propertyName);
- bool setAccessibleProperty(const char *propertyName, const QVariant &value);
-
-private:
- Q_DISABLE_COPY(QQuickControl)
- Q_DECLARE_PRIVATE(QQuickControl)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickControl)
-
-#endif // QQUICKCONTROL_P_H
diff --git a/src/quicktemplates2/qquickcontrol_p_p.h b/src/quicktemplates2/qquickcontrol_p_p.h
deleted file mode 100644
index a657307b..00000000
--- a/src/quicktemplates2/qquickcontrol_p_p.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKCONTROL_P_P_H
-#define QQUICKCONTROL_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQml/private/qlazilyallocated_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtGui/qaccessible.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAccessibleAttached;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickControlPrivate : public QQuickItemPrivate, public QQuickItemChangeListener
-#if QT_CONFIG(accessibility)
- , public QAccessible::ActivationObserver
-#endif
-{
- Q_DECLARE_PUBLIC(QQuickControl)
-
-public:
- QQuickControlPrivate();
- ~QQuickControlPrivate();
-
- static QQuickControlPrivate *get(QQuickControl *control)
- {
- return control->d_func();
- }
-
- void init();
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- virtual bool acceptTouch(const QTouchEvent::TouchPoint &point);
-#endif
- virtual void handlePress(const QPointF &point);
- virtual void handleMove(const QPointF &point);
- virtual void handleRelease(const QPointF &point);
- virtual void handleUngrab();
-
- void mirrorChange() override;
-
- inline QMarginsF getPadding() const { return QMarginsF(getLeftPadding(), getTopPadding(), getRightPadding(), getBottomPadding()); }
- inline qreal getTopPadding() const { return extra.isAllocated() && extra->hasTopPadding ? extra->topPadding : getVerticalPadding(); }
- inline qreal getLeftPadding() const { return extra.isAllocated() && extra->hasLeftPadding ? extra->leftPadding : getHorizontalPadding(); }
- inline qreal getRightPadding() const { return extra.isAllocated() && extra->hasRightPadding ? extra->rightPadding : getHorizontalPadding(); }
- inline qreal getBottomPadding() const { return extra.isAllocated() && extra->hasBottomPadding ? extra->bottomPadding : getVerticalPadding(); }
- inline qreal getHorizontalPadding() const { return hasHorizontalPadding ? horizontalPadding : padding; }
- inline qreal getVerticalPadding() const { return hasVerticalPadding ? verticalPadding : padding; }
-
- void setTopPadding(qreal value, bool reset = false);
- void setLeftPadding(qreal value, bool reset = false);
- void setRightPadding(qreal value, bool reset = false);
- void setBottomPadding(qreal value, bool reset = false);
- void setHorizontalPadding(qreal value, bool reset = false);
- void setVerticalPadding(qreal value, bool reset = false);
-
- inline QMarginsF getInset() const { return QMarginsF(getLeftInset(), getTopInset(), getRightInset(), getBottomInset()); }
- inline qreal getTopInset() const { return extra.isAllocated() ? extra->topInset : 0; }
- inline qreal getLeftInset() const { return extra.isAllocated() ? extra->leftInset : 0; }
- inline qreal getRightInset() const { return extra.isAllocated() ? extra->rightInset : 0; }
- inline qreal getBottomInset() const { return extra.isAllocated() ? extra->bottomInset : 0; }
-
- void setTopInset(qreal value, bool reset = false);
- void setLeftInset(qreal value, bool reset = false);
- void setRightInset(qreal value, bool reset = false);
- void setBottomInset(qreal value, bool reset = false);
-
- void resizeBackground();
- virtual void resizeContent();
-
- virtual QQuickItem *getContentItem();
- void setContentItem_helper(QQuickItem *item, bool notify = true);
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
- static QQuickAccessibleAttached *accessibleAttached(const QObject *object);
-#endif
-
- virtual void resolveFont();
- void inheritFont(const QFont &font);
- void updateFont(const QFont &font);
- static void updateFontRecur(QQuickItem *item, const QFont &font);
- inline void setFont_helper(const QFont &font) {
- if (resolvedFont.resolve() == font.resolve() && resolvedFont == font)
- return;
- updateFont(font);
- }
- static QFont parentFont(const QQuickItem *item);
-
- virtual void resolvePalette();
- void inheritPalette(const QPalette &palette);
- void updatePalette(const QPalette &palette);
- static void updatePaletteRecur(QQuickItem *item, const QPalette &palette);
- inline void setPalette_helper(const QPalette &palette) {
- if (resolvedPalette.resolve() == palette.resolve() && resolvedPalette == palette)
- return;
- updatePalette(palette);
- }
- static QPalette parentPalette(const QQuickItem *item);
-
- void updateLocale(const QLocale &l, bool e);
- static void updateLocaleRecur(QQuickItem *item, const QLocale &l);
- static QLocale calcLocale(const QQuickItem *item);
-
-#if QT_CONFIG(quicktemplates2_hover)
- void updateHoverEnabled(bool enabled, bool xplicit);
- static void updateHoverEnabledRecur(QQuickItem *item, bool enabled);
- static bool calcHoverEnabled(const QQuickItem *item);
-#endif
-
- virtual void cancelContentItem();
- virtual void executeContentItem(bool complete = false);
-
- virtual void cancelBackground();
- virtual void executeBackground(bool complete = false);
-
- void updateBaselineOffset();
-
- static const ChangeTypes ImplicitSizeChanges;
-
- void addImplicitSizeListener(QQuickItem *item, ChangeTypes changes = ImplicitSizeChanges);
- void removeImplicitSizeListener(QQuickItem *item, ChangeTypes changes = ImplicitSizeChanges);
-
- static void addImplicitSizeListener(QQuickItem *item, QQuickItemChangeListener *listener, ChangeTypes changes = ImplicitSizeChanges);
- static void removeImplicitSizeListener(QQuickItem *item, QQuickItemChangeListener *listener, ChangeTypes changes = ImplicitSizeChanges);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemDestroyed(QQuickItem *item) override;
-
- virtual qreal getContentWidth() const;
- virtual qreal getContentHeight() const;
-
- void updateImplicitContentWidth();
- void updateImplicitContentHeight();
- void updateImplicitContentSize();
-
- struct ExtraData {
- bool hasTopPadding = false;
- bool hasLeftPadding = false;
- bool hasRightPadding = false;
- bool hasBottomPadding = false;
- bool hasBaselineOffset = false;
- bool hasTopInset = false;
- bool hasLeftInset = false;
- bool hasRightInset = false;
- bool hasBottomInset = false;
- bool hasBackgroundWidth = false;
- bool hasBackgroundHeight = false;
- qreal topPadding = 0;
- qreal leftPadding = 0;
- qreal rightPadding = 0;
- qreal bottomPadding = 0;
- qreal topInset = 0;
- qreal leftInset = 0;
- qreal rightInset = 0;
- qreal bottomInset = 0;
- QFont requestedFont;
- QPalette requestedPalette;
- };
- QLazilyAllocated<ExtraData> extra;
-
- bool hasHorizontalPadding = false;
- bool hasVerticalPadding = false;
- bool hasLocale = false;
- bool wheelEnabled = false;
-#if QT_CONFIG(quicktemplates2_hover)
- bool hovered = false;
- bool explicitHoverEnabled = false;
-#endif
- bool resizingBackground = false;
- int touchId = -1;
- qreal padding = 0;
- qreal horizontalPadding = 0;
- qreal verticalPadding = 0;
- qreal implicitContentWidth = 0;
- qreal implicitContentHeight = 0;
- qreal spacing = 0;
- QLocale locale;
- QFont resolvedFont;
- QPalette resolvedPalette;
- Qt::FocusPolicy focusPolicy = Qt::NoFocus;
- Qt::FocusReason focusReason = Qt::OtherFocusReason;
- QQuickDeferredPointer<QQuickItem> background;
- QQuickDeferredPointer<QQuickItem> contentItem;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKCONTROL_P_P_H
diff --git a/src/quicktemplates2/qquickdeferredexecute.cpp b/src/quicktemplates2/qquickdeferredexecute.cpp
deleted file mode 100644
index 800dcedb..00000000
--- a/src/quicktemplates2/qquickdeferredexecute.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtCore/qhash.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/private/qqmldata_p.h>
-#include <QtQml/private/qqmlcomponent_p.h>
-#include <QtQml/private/qqmlobjectcreator_p.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace QtQuickPrivate {
-
-typedef QHash<uint, QQmlComponentPrivate::DeferredState *> DeferredStates;
-
-static inline uint qHash(QObject *object, const QString &propertyName)
-{
- return ::qHash(object) + ::qHash(propertyName);
-}
-
-Q_GLOBAL_STATIC(DeferredStates, deferredStates)
-
-static void cancelDeferred(QQmlData *ddata, int propertyIndex)
-{
- auto dit = ddata->deferredData.rbegin();
- while (dit != ddata->deferredData.rend()) {
- (*dit)->bindings.remove(propertyIndex);
- ++dit;
- }
-}
-
-static bool beginDeferred(QQmlEnginePrivate *enginePriv, const QQmlProperty &property, QQmlComponentPrivate::DeferredState *deferredState)
-{
- QObject *object = property.object();
- QQmlData *ddata = QQmlData::get(object);
- Q_ASSERT(!ddata->deferredData.isEmpty());
-
- int propertyIndex = property.index();
- int wasInProgress = enginePriv->inProgressCreations;
-
- for (auto dit = ddata->deferredData.rbegin(); dit != ddata->deferredData.rend(); ++dit) {
- QQmlData::DeferredData *deferData = *dit;
-
- auto bindings = deferData->bindings;
- auto range = bindings.equal_range(propertyIndex);
- if (range.first == bindings.end())
- continue;
-
- QQmlComponentPrivate::ConstructionState *state = new QQmlComponentPrivate::ConstructionState;
- state->completePending = true;
-
- QQmlContextData *creationContext = nullptr;
- state->creator.reset(new QQmlObjectCreator(deferData->context->parent, deferData->compilationUnit, creationContext));
-
- enginePriv->inProgressCreations++;
-
- typedef QMultiHash<int, const QV4::CompiledData::Binding *> QV4PropertyBindingHash;
- auto it = std::reverse_iterator<QV4PropertyBindingHash::iterator>(range.second);
- auto last = std::reverse_iterator<QV4PropertyBindingHash::iterator>(range.first);
- while (it != last) {
- if (!state->creator->populateDeferredBinding(property, deferData, *it))
- state->errors << state->creator->errors;
- ++it;
- }
-
- deferredState->constructionStates += state;
-
- // Cleanup any remaining deferred bindings for this property, also in inner contexts,
- // to avoid executing them later and overriding the property that was just populated.
- cancelDeferred(ddata, propertyIndex);
- break;
- }
-
- return enginePriv->inProgressCreations > wasInProgress;
-}
-
-void beginDeferred(QObject *object, const QString &property)
-{
- QQmlData *data = QQmlData::get(object);
- if (data && !data->deferredData.isEmpty() && !data->wasDeleted(object)) {
- QQmlEnginePrivate *ep = QQmlEnginePrivate::get(data->context->engine);
-
- QQmlComponentPrivate::DeferredState *state = new QQmlComponentPrivate::DeferredState;
- if (beginDeferred(ep, QQmlProperty(object, property), state))
- deferredStates()->insert(qHash(object, property), state);
- else
- delete state;
-
- // Release deferred data for those compilation units that no longer have deferred bindings
- data->releaseDeferredData();
- }
-}
-
-void cancelDeferred(QObject *object, const QString &property)
-{
- QQmlData *data = QQmlData::get(object);
- if (data)
- cancelDeferred(data, QQmlProperty(object, property).index());
-}
-
-void completeDeferred(QObject *object, const QString &property)
-{
- QQmlData *data = QQmlData::get(object);
- QQmlComponentPrivate::DeferredState *state = deferredStates()->take(qHash(object, property));
- if (data && state && !data->wasDeleted(object)) {
- QQmlEnginePrivate *ep = QQmlEnginePrivate::get(data->context->engine);
- QQmlComponentPrivate::completeDeferred(ep, state);
- }
- delete state;
-}
-
-} // QtQuickPrivate
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdeferredexecute_p_p.h b/src/quicktemplates2/qquickdeferredexecute_p_p.h
deleted file mode 100644
index 29d95ee9..00000000
--- a/src/quicktemplates2/qquickdeferredexecute_p_p.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFERREDEXECUTE_P_P_H
-#define QQUICKDEFERREDEXECUTE_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
-
-#include <QtQml/private/qqmlvme_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QString;
-class QObject;
-
-namespace QtQuickPrivate {
- void beginDeferred(QObject *object, const QString &property);
- void cancelDeferred(QObject *object, const QString &property);
- void completeDeferred(QObject *object, const QString &property);
-}
-
-template<typename T>
-void quickBeginDeferred(QObject *object, const QString &property, QQuickDeferredPointer<T> &delegate)
-{
- if (!QQmlVME::componentCompleteEnabled())
- return;
-
- delegate.setExecuting(true);
- QtQuickPrivate::beginDeferred(object, property);
- delegate.setExecuting(false);
-}
-
-inline void quickCancelDeferred(QObject *object, const QString &property)
-{
- QtQuickPrivate::cancelDeferred(object, property);
-}
-
-template<typename T>
-void quickCompleteDeferred(QObject *object, const QString &property, QQuickDeferredPointer<T> &delegate)
-{
- Q_ASSERT(!delegate.wasExecuted());
- QtQuickPrivate::completeDeferred(object, property);
- delegate.setExecuted();
-}
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDEFERREDEXECUTE_P_P_H
diff --git a/src/quicktemplates2/qquickdeferredpointer_p_p.h b/src/quicktemplates2/qquickdeferredpointer_p_p.h
deleted file mode 100644
index f70b5dc6..00000000
--- a/src/quicktemplates2/qquickdeferredpointer_p_p.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDEFERREDPOINTER_P_P_H
-#define QQUICKDEFERREDPOINTER_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-template<typename T>
-class QQuickDeferredPointer
-{
-public:
- inline QQuickDeferredPointer();
- inline QQuickDeferredPointer(T *);
- inline QQuickDeferredPointer(const QQuickDeferredPointer<T> &o);
-
- inline bool isNull() const;
-
- inline bool wasExecuted() const;
- inline void setExecuted();
-
- inline bool isExecuting() const;
- inline void setExecuting(bool);
-
- inline operator T*() const;
- inline operator bool() const;
-
- inline T *data() const;
- inline T *operator*() const;
- inline T *operator->() const;
-
- inline QQuickDeferredPointer<T> &operator=(T *);
- inline QQuickDeferredPointer<T> &operator=(const QQuickDeferredPointer &o);
-
-private:
- quintptr ptr_value = 0;
-
- static const quintptr WasExecutedBit = 0x1;
- static const quintptr IsExecutingBit = 0x2;
- static const quintptr FlagsMask = WasExecutedBit | IsExecutingBit;
-};
-
-template<typename T>
-QQuickDeferredPointer<T>::QQuickDeferredPointer()
-{
-}
-
-template<typename T>
-QQuickDeferredPointer<T>::QQuickDeferredPointer(T *v)
-: ptr_value(quintptr(v))
-{
- Q_ASSERT((ptr_value & FlagsMask) == 0);
-}
-
-template<typename T>
-QQuickDeferredPointer<T>::QQuickDeferredPointer(const QQuickDeferredPointer<T> &o)
-: ptr_value(o.ptr_value)
-{
-}
-
-template<typename T>
-bool QQuickDeferredPointer<T>::isNull() const
-{
- return 0 == (ptr_value & (~FlagsMask));
-}
-
-template<typename T>
-bool QQuickDeferredPointer<T>::wasExecuted() const
-{
- return ptr_value & WasExecutedBit;
-}
-
-template<typename T>
-void QQuickDeferredPointer<T>::setExecuted()
-{
- ptr_value |= WasExecutedBit;
-}
-
-template<typename T>
-bool QQuickDeferredPointer<T>::isExecuting() const
-{
- return ptr_value & IsExecutingBit;
-}
-
-template<typename T>
-void QQuickDeferredPointer<T>::setExecuting(bool b)
-{
- if (b)
- ptr_value |= IsExecutingBit;
- else
- ptr_value &= ~IsExecutingBit;
-}
-
-template<typename T>
-QQuickDeferredPointer<T>::operator T*() const
-{
- return data();
-}
-
-template<typename T>
-QQuickDeferredPointer<T>::operator bool() const
-{
- return !isNull();
-}
-
-template<typename T>
-T *QQuickDeferredPointer<T>::data() const
-{
- return (T *)(ptr_value & ~FlagsMask);
-}
-
-template<typename T>
-T *QQuickDeferredPointer<T>::operator*() const
-{
- return (T *)(ptr_value & ~FlagsMask);
-}
-
-template<typename T>
-T *QQuickDeferredPointer<T>::operator->() const
-{
- return (T *)(ptr_value & ~FlagsMask);
-}
-
-template<typename T>
-QQuickDeferredPointer<T> &QQuickDeferredPointer<T>::operator=(T *o)
-{
- Q_ASSERT((quintptr(o) & FlagsMask) == 0);
-
- ptr_value = quintptr(o) | (ptr_value & FlagsMask);
- return *this;
-}
-
-template<typename T>
-QQuickDeferredPointer<T> &QQuickDeferredPointer<T>::operator=(const QQuickDeferredPointer &o)
-{
- ptr_value = o.ptr_value;
- return *this;
-}
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDEFERREDPOINTER_P_P_H
diff --git a/src/quicktemplates2/qquickdelaybutton.cpp b/src/quicktemplates2/qquickdelaybutton.cpp
deleted file mode 100644
index ba5953a0..00000000
--- a/src/quicktemplates2/qquickdelaybutton.cpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdelaybutton_p.h"
-#include "qquickabstractbutton_p_p.h"
-
-#include <QtQuick/private/qquickanimation_p.h>
-#include <QtQuick/private/qquicktransition_p.h>
-#include <QtQuick/private/qquicktransitionmanager_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype DelayButton
- \inherits AbstractButton
- \instantiates QQuickDelayButton
- \inqmlmodule QtQuick.Controls
- \since 5.9
- \ingroup qtquickcontrols2-buttons
- \brief Check button that triggers when held down long enough.
-
- \image qtquickcontrols2-delaybutton.gif
-
- DelayButton is a checkable button that incorporates a delay before the
- button becomes \l {AbstractButton::}{checked} and the \l activated()
- signal is emitted. This delay prevents accidental presses.
-
- The current progress is expressed as a decimal value between \c 0.0
- and \c 1.0. The time it takes for \l activated() to be emitted is
- measured in milliseconds, and can be set with the \l delay property.
-
- The progress is indicated by a progress indicator on the button.
-
- \sa {Customizing DelayButton}, {Button Controls}
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::DelayButton::activated()
-
- This signal is emitted when \l progress reaches \c 1.0.
-*/
-
-class QQuickDelayTransitionManager;
-
-class QQuickDelayButtonPrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDelayButton)
-
-public:
- void beginTransition(qreal to);
- void finishTransition();
- void cancelTransition();
-
- int delay = 300;
- qreal progress = 0.0;
- QQuickTransition *transition = nullptr;
- QScopedPointer<QQuickDelayTransitionManager> transitionManager;
-};
-
-class QQuickDelayTransitionManager : public QQuickTransitionManager
-{
-public:
- QQuickDelayTransitionManager(QQuickDelayButton *button) : m_button(button) { }
-
- void transition(QQuickTransition *transition, qreal progress);
-
-protected:
- void finished() override;
-
-private:
- QQuickDelayButton *m_button = nullptr;
-};
-
-void QQuickDelayTransitionManager::transition(QQuickTransition *transition, qreal progress)
-{
- qmlExecuteDeferred(transition);
-
- QQmlProperty defaultTarget(m_button, QLatin1String("progress"));
- QQmlListProperty<QQuickAbstractAnimation> animations = transition->animations();
- const int count = animations.count(&animations);
- for (int i = 0; i < count; ++i) {
- QQuickAbstractAnimation *anim = animations.at(&animations, i);
- anim->setDefaultTarget(defaultTarget);
- }
-
- QList<QQuickStateAction> actions;
- actions << QQuickStateAction(m_button, QLatin1String("progress"), progress);
- QQuickTransitionManager::transition(actions, transition, m_button);
-}
-
-void QQuickDelayTransitionManager::finished()
-{
- if (qFuzzyCompare(m_button->progress(), qreal(1.0)))
- emit m_button->activated();
-}
-
-void QQuickDelayButtonPrivate::beginTransition(qreal to)
-{
- Q_Q(QQuickDelayButton);
- if (!transition) {
- q->setProgress(to);
- finishTransition();
- return;
- }
-
- if (!transitionManager)
- transitionManager.reset(new QQuickDelayTransitionManager(q));
-
- transitionManager->transition(transition, to);
-}
-
-void QQuickDelayButtonPrivate::finishTransition()
-{
- Q_Q(QQuickDelayButton);
- if (qFuzzyCompare(progress, qreal(1.0)))
- emit q->activated();
-}
-
-void QQuickDelayButtonPrivate::cancelTransition()
-{
- if (transitionManager)
- transitionManager->cancel();
-}
-
-QQuickDelayButton::QQuickDelayButton(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickDelayButtonPrivate), parent)
-{
- setCheckable(true);
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::DelayButton::delay
-
- This property holds the time it takes (in milliseconds) for \l progress
- to reach \c 1.0 and emit \l activated().
-
- The default value is \c 3000 ms.
-*/
-int QQuickDelayButton::delay() const
-{
- Q_D(const QQuickDelayButton);
- return d->delay;
-}
-
-void QQuickDelayButton::setDelay(int delay)
-{
- Q_D(QQuickDelayButton);
- if (d->delay == delay)
- return;
-
- d->delay = delay;
- emit delayChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::DelayButton::progress
- \readonly
-
- This property holds the current progress as displayed by the progress
- indicator, in the range \c 0.0 - \c 1.0.
-*/
-qreal QQuickDelayButton::progress() const
-{
- Q_D(const QQuickDelayButton);
- return d->progress;
-}
-
-void QQuickDelayButton::setProgress(qreal progress)
-{
- Q_D(QQuickDelayButton);
- if (qFuzzyCompare(d->progress, progress))
- return;
-
- d->progress = progress;
- emit progressChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::DelayButton::transition
-
- This property holds the transition that is applied on the \l progress
- property when the button is pressed or released.
-*/
-QQuickTransition *QQuickDelayButton::transition() const
-{
- Q_D(const QQuickDelayButton);
- return d->transition;
-}
-
-void QQuickDelayButton::setTransition(QQuickTransition *transition)
-{
- Q_D(QQuickDelayButton);
- if (d->transition == transition)
- return;
-
- d->transition = transition;
- emit transitionChanged();
-}
-
-void QQuickDelayButton::buttonChange(ButtonChange change)
-{
- Q_D(QQuickDelayButton);
- switch (change) {
- case ButtonCheckedChange:
- d->cancelTransition();
- setProgress(d->checked ? 1.0 : 0.0);
- break;
- case ButtonPressedChanged:
- if (!d->checked)
- d->beginTransition(d->pressed ? 1.0 : 0.0);
- break;
- default:
- QQuickAbstractButton::buttonChange(change);
- break;
- }
-}
-
-void QQuickDelayButton::nextCheckState()
-{
- Q_D(QQuickDelayButton);
- setChecked(!d->checked && qFuzzyCompare(d->progress, qreal(1.0)));
-}
-
-QFont QQuickDelayButton::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Button);
-}
-
-QPalette QQuickDelayButton::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Button);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdelaybutton_p.h b/src/quicktemplates2/qquickdelaybutton_p.h
deleted file mode 100644
index 0927eb4a..00000000
--- a/src/quicktemplates2/qquickdelaybutton_p.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDELAYBUTTON_P_H
-#define QQUICKDELAYBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTransition;
-class QQuickDelayButtonPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDelayButton : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(int delay READ delay WRITE setDelay NOTIFY delayChanged FINAL)
- Q_PROPERTY(qreal progress READ progress WRITE setProgress NOTIFY progressChanged FINAL)
- Q_PROPERTY(QQuickTransition *transition READ transition WRITE setTransition NOTIFY transitionChanged FINAL)
-
-public:
- explicit QQuickDelayButton(QQuickItem *parent = nullptr);
-
- int delay() const;
- void setDelay(int delay);
-
- qreal progress() const;
- void setProgress(qreal progress);
-
- QQuickTransition *transition() const;
- void setTransition(QQuickTransition *transition);
-
-Q_SIGNALS:
- void activated();
- void delayChanged();
- void progressChanged();
- void transitionChanged();
-
-protected:
- void buttonChange(ButtonChange change) override;
- void nextCheckState() override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-private:
- Q_DISABLE_COPY(QQuickDelayButton)
- Q_DECLARE_PRIVATE(QQuickDelayButton)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDelayButton)
-
-#endif // QQUICKDELAYBUTTON_P_H
diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp
deleted file mode 100644
index 431b25a8..00000000
--- a/src/quicktemplates2/qquickdial.cpp
+++ /dev/null
@@ -1,828 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdial_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtQuick/private/qquickflickable_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Dial
- \inherits Control
- \instantiates QQuickDial
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \brief Circular dial that is rotated to set a value.
-
- The Dial is similar to a traditional dial knob that is found on devices
- such as stereos or industrial equipment. It allows the user to specify a
- value within a range.
-
- \image qtquickcontrols2-dial-no-wrap.gif
-
- The value of the dial is set with the \l value property. The range is
- set with the \l from and \l to properties. To enable or disable wrapping,
- use the \l wrap property.
-
- The dial can be manipulated with a keyboard. It supports the following
- actions:
-
- \table
- \header \li \b {Action} \li \b {Key}
- \row \li Decrease \l value by \l stepSize \li \c Qt.Key_Left
- \row \li Decrease \l value by \l stepSize \li \c Qt.Key_Down
- \row \li Set \l value to \l from \li \c Qt.Key_Home
- \row \li Increase \l value by \l stepSize \li \c Qt.Key_Right
- \row \li Increase \l value by \l stepSize \li \c Qt.Key_Up
- \row \li Set \l value to \l to \li \c Qt.Key_End
- \endtable
-
- \include qquickdial.qdocinc inputMode
-
- \sa {Customizing Dial}, {Input Controls}
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal QtQuick.Controls::Dial::moved()
-
- This signal is emitted when the dial has been interactively moved
- by the user by either touch, mouse, or keys.
-*/
-
-static const qreal startAngleRadians = (M_PI * 2.0) * (4.0 / 6.0);
-static const qreal startAngle = -140;
-static const qreal endAngleRadians = (M_PI * 2.0) * (5.0 / 6.0);
-static const qreal endAngle = 140;
-
-class QQuickDialPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDial)
-
-public:
- qreal valueAt(qreal position) const;
- qreal snapPosition(qreal position) const;
- qreal positionAt(const QPointF &point) const;
- qreal circularPositionAt(const QPointF &point) const;
- qreal linearPositionAt(const QPointF &point) const;
- void setPosition(qreal position);
- void updatePosition();
- bool isLargeChange(const QPointF &eventPos, qreal proposedPosition) const;
- bool isHorizontalOrVertical() const;
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- void cancelHandle();
- void executeHandle(bool complete = false);
-
- qreal from = 0;
- qreal to = 1;
- qreal value = 0;
- qreal position = 0;
- qreal angle = startAngle;
- qreal stepSize = 0;
- bool pressed = false;
- QPointF pressPoint;
- qreal positionBeforePress = 0;
- QQuickDial::SnapMode snapMode = QQuickDial::NoSnap;
- QQuickDial::InputMode inputMode = QQuickDial::Circular;
- bool wrap = false;
- bool live = true;
- QQuickDeferredPointer<QQuickItem> handle;
-};
-
-qreal QQuickDialPrivate::valueAt(qreal position) const
-{
- return from + (to - from) * position;
-}
-
-qreal QQuickDialPrivate::snapPosition(qreal position) const
-{
- const qreal range = to - from;
- if (qFuzzyIsNull(range))
- return position;
-
- const qreal effectiveStep = stepSize / range;
- if (qFuzzyIsNull(effectiveStep))
- return position;
-
- return qRound(position / effectiveStep) * effectiveStep;
-}
-
-qreal QQuickDialPrivate::positionAt(const QPointF &point) const
-{
- return inputMode == QQuickDial::Circular ? circularPositionAt(point) : linearPositionAt(point);
-}
-
-qreal QQuickDialPrivate::circularPositionAt(const QPointF &point) const
-{
- qreal yy = height / 2.0 - point.y();
- qreal xx = point.x() - width / 2.0;
- qreal angle = (xx || yy) ? std::atan2(yy, xx) : 0;
-
- if (angle < M_PI / -2)
- angle = angle + M_PI * 2;
-
- qreal normalizedAngle = (startAngleRadians - angle) / endAngleRadians;
- return normalizedAngle;
-}
-
-qreal QQuickDialPrivate::linearPositionAt(const QPointF &point) const
-{
- // This value determines the range (either horizontal or vertical)
- // within which the dial can be dragged.
- // The larger this value is, the further the drag distance
- // must be to go from a position of e.g. 0.0 to 1.0.
- qreal dragArea = 0;
-
- // The linear input mode uses a "relative" input system,
- // where the distance from the press point is used to calculate
- // the change in position. Moving the mouse above the press
- // point increases the position (when inputMode is Vertical),
- // and vice versa. This prevents the dial from jumping when clicked.
- qreal dragDistance = 0;
-
- if (inputMode == QQuickDial::Horizontal) {
- dragArea = width * 2;
- dragDistance = pressPoint.x() - point.x();
- } else {
- dragArea = height * 2;
- dragDistance = point.y() - pressPoint.y();
- }
- const qreal normalisedDifference = dragDistance / dragArea;
- return qBound(qreal(0), positionBeforePress - normalisedDifference, qreal(1));
-}
-
-void QQuickDialPrivate::setPosition(qreal pos)
-{
- Q_Q(QQuickDial);
- pos = qBound<qreal>(qreal(0), pos, qreal(1));
- if (qFuzzyCompare(position, pos))
- return;
-
- position = pos;
-
- angle = startAngle + position * qAbs(endAngle - startAngle);
-
- emit q->positionChanged();
- emit q->angleChanged();
-}
-
-void QQuickDialPrivate::updatePosition()
-{
- qreal pos = 0;
- if (!qFuzzyCompare(from, to))
- pos = (value - from) / (to - from);
- setPosition(pos);
-}
-
-bool QQuickDialPrivate::isLargeChange(const QPointF &eventPos, qreal proposedPosition) const
-{
- return qAbs(proposedPosition - position) >= qreal(0.5) && eventPos.y() >= height / 2;
-}
-
-bool QQuickDialPrivate::isHorizontalOrVertical() const
-{
- return inputMode == QQuickDial::Horizontal || inputMode == QQuickDial::Vertical;
-}
-
-void QQuickDialPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickDial);
- QQuickControlPrivate::handlePress(point);
- pressPoint = point;
- positionBeforePress = position;
- q->setPressed(true);
-}
-
-void QQuickDialPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickDial);
- QQuickControlPrivate::handleMove(point);
- const qreal oldPos = position;
- qreal pos = positionAt(point);
- if (snapMode == QQuickDial::SnapAlways)
- pos = snapPosition(pos);
-
- if (wrap || (!wrap && (isHorizontalOrVertical() || !isLargeChange(point, pos)))) {
- if (live)
- q->setValue(valueAt(pos));
- else
- setPosition(pos);
- if (!qFuzzyCompare(pos, oldPos))
- emit q->moved();
- }
-}
-
-void QQuickDialPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickDial);
- QQuickControlPrivate::handleRelease(point);
- if (q->keepMouseGrab() || q->keepTouchGrab()) {
- const qreal oldPos = position;
- qreal pos = positionAt(point);
- if (snapMode != QQuickDial::NoSnap)
- pos = snapPosition(pos);
-
- if (wrap || (!wrap && (isHorizontalOrVertical() || !isLargeChange(point, pos))))
- q->setValue(valueAt(pos));
- if (!qFuzzyCompare(pos, oldPos))
- emit q->moved();
-
- q->setKeepMouseGrab(false);
- q->setKeepTouchGrab(false);
- }
-
- q->setPressed(false);
- pressPoint = QPointF();
- positionBeforePress = 0;
-}
-
-void QQuickDialPrivate::handleUngrab()
-{
- Q_Q(QQuickDial);
- QQuickControlPrivate::handleUngrab();
- pressPoint = QPointF();
- positionBeforePress = 0;
- q->setPressed(false);
-}
-
-static inline QString handleName() { return QStringLiteral("handle"); }
-
-void QQuickDialPrivate::cancelHandle()
-{
- Q_Q(QQuickDial);
- quickCancelDeferred(q, handleName());
-}
-
-void QQuickDialPrivate::executeHandle(bool complete)
-{
- Q_Q(QQuickDial);
- if (handle.wasExecuted())
- return;
-
- if (!handle || complete)
- quickBeginDeferred(q, handleName(), handle);
- if (complete)
- quickCompleteDeferred(q, handleName(), handle);
-}
-
-QQuickDial::QQuickDial(QQuickItem *parent)
- : QQuickControl(*(new QQuickDialPrivate), parent)
-{
- setActiveFocusOnTab(true);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Dial::from
-
- This property holds the starting value for the range. The default value is \c 0.0.
-
- \sa to, value
-*/
-qreal QQuickDial::from() const
-{
- Q_D(const QQuickDial);
- return d->from;
-}
-
-void QQuickDial::setFrom(qreal from)
-{
- Q_D(QQuickDial);
- if (qFuzzyCompare(d->from, from))
- return;
-
- d->from = from;
- emit fromChanged();
- if (isComponentComplete()) {
- setValue(d->value);
- d->updatePosition();
- }
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Dial::to
-
- This property holds the end value for the range. The default value is
- \c 1.0.
-
- \sa from, value
-*/
-qreal QQuickDial::to() const
-{
- Q_D(const QQuickDial);
- return d->to;
-}
-
-void QQuickDial::setTo(qreal to)
-{
- Q_D(QQuickDial);
- if (qFuzzyCompare(d->to, to))
- return;
-
- d->to = to;
- emit toChanged();
- if (isComponentComplete()) {
- setValue(d->value);
- d->updatePosition();
- }
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Dial::value
-
- This property holds the value in the range \c from - \c to. The default
- value is \c 0.0.
-
- \sa position, live
-*/
-qreal QQuickDial::value() const
-{
- Q_D(const QQuickDial);
- return d->value;
-}
-
-void QQuickDial::setValue(qreal value)
-{
- Q_D(QQuickDial);
- if (isComponentComplete())
- value = d->from > d->to ? qBound(d->to, value, d->from) : qBound(d->from, value, d->to);
-
- if (qFuzzyCompare(d->value, value))
- return;
-
- d->value = value;
- d->updatePosition();
- emit valueChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Dial::position
- \readonly
-
- This property holds the logical position of the handle.
-
- The position is expressed as a fraction of the control's angle range (the
- range within which the handle can be moved) in the range \c {0.0 - 1.0}.
-
- \sa value, angle
-*/
-qreal QQuickDial::position() const
-{
- Q_D(const QQuickDial);
- return d->position;
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Dial::angle
- \readonly
-
- This property holds the angle of the handle.
-
- The range is from \c -140 degrees to \c 140 degrees.
-
- \sa position
-*/
-qreal QQuickDial::angle() const
-{
- Q_D(const QQuickDial);
- return d->angle;
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Dial::stepSize
-
- This property holds the step size.
-
- The step size determines the amount by which the dial's value
- is increased and decreased when interacted with via the keyboard.
- For example, a step size of \c 0.2, will result in the dial's
- value increasing and decreasing in increments of \c 0.2.
-
- The step size is only respected for touch and mouse interaction
- when \l snapMode is set to a value other than \c Dial.NoSnap.
-
- The default value is \c 0.0, which results in an effective step
- size of \c 0.1 for keyboard interaction.
-
- \sa snapMode, increase(), decrease()
-*/
-qreal QQuickDial::stepSize() const
-{
- Q_D(const QQuickDial);
- return d->stepSize;
-}
-
-void QQuickDial::setStepSize(qreal step)
-{
- Q_D(QQuickDial);
- if (qFuzzyCompare(d->stepSize, step))
- return;
-
- d->stepSize = step;
- emit stepSizeChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Dial::snapMode
-
- This property holds the snap mode.
-
- The snap mode works with the \l stepSize to allow the handle to snap to
- certain points along the dial.
-
- Possible values:
- \value Dial.NoSnap The dial does not snap (default).
- \value Dial.SnapAlways The dial snaps while the handle is dragged.
- \value Dial.SnapOnRelease The dial does not snap while being dragged, but only after the handle is released.
-
- \sa stepSize
-*/
-QQuickDial::SnapMode QQuickDial::snapMode() const
-{
- Q_D(const QQuickDial);
- return d->snapMode;
-}
-
-void QQuickDial::setSnapMode(SnapMode mode)
-{
- Q_D(QQuickDial);
- if (d->snapMode == mode)
- return;
-
- d->snapMode = mode;
- emit snapModeChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty enumeration QtQuick.Controls::Dial::inputMode
-
- This property holds the input mode.
-
- \include qquickdial.qdocinc inputMode
-
- The default value is \c Dial.Circular.
-*/
-QQuickDial::InputMode QQuickDial::inputMode() const
-{
- Q_D(const QQuickDial);
- return d->inputMode;
-}
-
-void QQuickDial::setInputMode(QQuickDial::InputMode mode)
-{
- Q_D(QQuickDial);
- if (d->inputMode == mode)
- return;
-
- d->inputMode = mode;
- emit inputModeChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Dial::wrap
-
- This property holds whether the dial wraps when dragged.
-
- For example, when this property is set to \c true, dragging the dial past
- the \l to position will result in the handle being positioned at the
- \l from position, and vice versa:
-
- \image qtquickcontrols2-dial-wrap.gif
-
- When this property is \c false, it's not possible to drag the dial across
- the from and to values.
-
- \image qtquickcontrols2-dial-no-wrap.gif
-
- The default value is \c false.
-*/
-bool QQuickDial::wrap() const
-{
- Q_D(const QQuickDial);
- return d->wrap;
-}
-
-void QQuickDial::setWrap(bool wrap)
-{
- Q_D(QQuickDial);
- if (d->wrap == wrap)
- return;
-
- d->wrap = wrap;
- emit wrapChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Dial::pressed
-
- This property holds whether the dial is pressed.
-
- The dial will be pressed when either the mouse is pressed over it, or a key
- such as \c Qt.Key_Left is held down. If you'd prefer not to have the dial
- be pressed upon key presses (due to styling reasons, for example), you can
- use the \l {Keys}{Keys attached property}:
-
- \code
- Dial {
- Keys.onLeftPressed: {}
- }
- \endcode
-
- This will result in pressed only being \c true upon mouse presses.
-*/
-bool QQuickDial::isPressed() const
-{
- Q_D(const QQuickDial);
- return d->pressed;
-}
-
-void QQuickDial::setPressed(bool pressed)
-{
- Q_D(QQuickDial);
- if (d->pressed == pressed)
- return;
-
- d->pressed = pressed;
- setAccessibleProperty("pressed", pressed);
- emit pressedChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Dial::handle
-
- This property holds the handle of the dial.
-
- The handle acts as a visual indicator of the position of the dial.
-
- \sa {Customizing Dial}
-*/
-QQuickItem *QQuickDial::handle() const
-{
- QQuickDialPrivate *d = const_cast<QQuickDialPrivate *>(d_func());
- if (!d->handle)
- d->executeHandle();
- return d->handle;
-}
-
-void QQuickDial::setHandle(QQuickItem *handle)
-{
- Q_D(QQuickDial);
- if (handle == d->handle)
- return;
-
- if (!d->handle.isExecuting())
- d->cancelHandle();
-
- delete d->handle;
- d->handle = handle;
- if (d->handle && !d->handle->parentItem())
- d->handle->setParentItem(this);
- if (!d->handle.isExecuting())
- emit handleChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::Dial::live
-
- This property holds whether the dial provides live updates for the \l value
- property while the handle is dragged.
-
- The default value is \c true.
-
- \sa value
-*/
-bool QQuickDial::live() const
-{
- Q_D(const QQuickDial);
- return d->live;
-}
-
-void QQuickDial::setLive(bool live)
-{
- Q_D(QQuickDial);
- if (d->live == live)
- return;
-
- d->live = live;
- emit liveChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Dial::increase()
-
- Increases the value by \l stepSize, or \c 0.1 if stepSize is not defined.
-
- \sa stepSize
-*/
-void QQuickDial::increase()
-{
- Q_D(QQuickDial);
- qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- setValue(d->value + step);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Dial::decrease()
-
- Decreases the value by \l stepSize, or \c 0.1 if stepSize is not defined.
-
- \sa stepSize
-*/
-void QQuickDial::decrease()
-{
- Q_D(QQuickDial);
- qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- setValue(d->value - step);
-}
-
-void QQuickDial::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickDial);
- const qreal oldValue = d->value;
- switch (event->key()) {
- case Qt::Key_Left:
- case Qt::Key_Down:
- setPressed(true);
- if (isMirrored())
- increase();
- else
- decrease();
- break;
-
- case Qt::Key_Right:
- case Qt::Key_Up:
- setPressed(true);
- if (isMirrored())
- decrease();
- else
- increase();
- break;
-
- case Qt::Key_Home:
- setPressed(true);
- setValue(isMirrored() ? d->to : d->from);
- break;
-
- case Qt::Key_End:
- setPressed(true);
- setValue(isMirrored() ? d->from : d->to);
- break;
-
- default:
- event->ignore();
- QQuickControl::keyPressEvent(event);
- break;
- }
- if (!qFuzzyCompare(d->value, oldValue))
- emit moved();
-}
-
-void QQuickDial::keyReleaseEvent(QKeyEvent *event)
-{
- QQuickControl::keyReleaseEvent(event);
- setPressed(false);
-}
-
-void QQuickDial::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickDial);
- QQuickControl::mousePressEvent(event);
- d->handleMove(event->localPos());
- setKeepMouseGrab(true);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickDial::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickDial);
- switch (event->type()) {
- case QEvent::TouchUpdate:
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (!d->acceptTouch(point))
- continue;
-
- switch (point.state()) {
- case Qt::TouchPointMoved:
- if (!keepTouchGrab()) {
- bool overXDragThreshold = QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point);
- setKeepTouchGrab(overXDragThreshold);
-
- if (!overXDragThreshold) {
- bool overYDragThreshold = QQuickWindowPrivate::dragOverThreshold(point.pos().y() - d->pressPoint.y(), Qt::YAxis, &point);
- setKeepTouchGrab(overYDragThreshold);
- }
- }
- if (keepTouchGrab())
- d->handleMove(point.pos());
- break;
-
- default:
- QQuickControl::touchEvent(event);
- break;
- }
- }
- break;
-
- default:
- QQuickControl::touchEvent(event);
- break;
- }
-}
-#endif
-
-#if QT_CONFIG(wheelevent)
-void QQuickDial::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickDial);
- QQuickControl::wheelEvent(event);
- if (d->wheelEnabled) {
- const qreal oldValue = d->value;
- const QPointF angle = event->angleDelta();
- const qreal delta = (qFuzzyIsNull(angle.y()) ? angle.x() : (event->inverted() ? -angle.y() : angle.y())) / QWheelEvent::DefaultDeltasPerStep;
- const qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- setValue(oldValue + step * delta);
- event->setAccepted(!qFuzzyCompare(d->value, oldValue));
- }
-}
-#endif
-
-void QQuickDial::mirrorChange()
-{
- QQuickControl::mirrorChange();
- emit angleChanged();
-}
-
-void QQuickDial::componentComplete()
-{
- Q_D(QQuickDial);
- d->executeHandle(true);
- QQuickControl::componentComplete();
- setValue(d->value);
- d->updatePosition();
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickDial::accessibilityActiveChanged(bool active)
-{
- QQuickControl::accessibilityActiveChanged(active);
-
- Q_D(QQuickDial);
- if (active)
- setAccessibleProperty("pressed", d->pressed);
-}
-
-QAccessible::Role QQuickDial::accessibleRole() const
-{
- return QAccessible::Dial;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdial_p.h b/src/quicktemplates2/qquickdial_p.h
deleted file mode 100644
index cc641c78..00000000
--- a/src/quicktemplates2/qquickdial_p.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDIAL_P_H
-#define QQUICKDIAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qvariant.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDialAttached;
-class QQuickDialPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDial : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged FINAL)
- Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged FINAL)
- Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY valueChanged FINAL)
- Q_PROPERTY(qreal position READ position NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal angle READ angle NOTIFY angleChanged FINAL)
- Q_PROPERTY(qreal stepSize READ stepSize WRITE setStepSize NOTIFY stepSizeChanged FINAL)
- Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged FINAL)
- Q_PROPERTY(bool wrap READ wrap WRITE setWrap NOTIFY wrapChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed NOTIFY pressedChanged FINAL)
- Q_PROPERTY(QQuickItem *handle READ handle WRITE setHandle NOTIFY handleChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool live READ live WRITE setLive NOTIFY liveChanged FINAL REVISION 2)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(InputMode inputMode READ inputMode WRITE setInputMode NOTIFY inputModeChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,handle")
-
-public:
- explicit QQuickDial(QQuickItem *parent = nullptr);
-
- qreal from() const;
- void setFrom(qreal from);
-
- qreal to() const;
- void setTo(qreal to);
-
- qreal value() const;
- void setValue(qreal value);
-
- qreal position() const;
-
- qreal angle() const;
-
- qreal stepSize() const;
- void setStepSize(qreal step);
-
- enum SnapMode {
- NoSnap,
- SnapAlways,
- SnapOnRelease
- };
- Q_ENUM(SnapMode)
-
- SnapMode snapMode() const;
- void setSnapMode(SnapMode mode);
-
- enum InputMode {
- Circular,
- Horizontal,
- Vertical,
- };
- Q_ENUM(InputMode)
-
- bool wrap() const;
- void setWrap(bool wrap);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- QQuickItem *handle() const;
- void setHandle(QQuickItem *handle);
-
- // 2.2 (Qt 5.9)
- bool live() const;
- void setLive(bool live);
-
- // 2.5 (Qt 5.12)
- InputMode inputMode() const;
- void setInputMode(InputMode mode);
-
-public Q_SLOTS:
- void increase();
- void decrease();
-
-Q_SIGNALS:
- void fromChanged();
- void toChanged();
- void valueChanged();
- void positionChanged();
- void angleChanged();
- void stepSizeChanged();
- void snapModeChanged();
- void wrapChanged();
- void pressedChanged();
- void handleChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void moved();
- Q_REVISION(2) void liveChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void inputModeChanged();
-
-protected:
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
-
- void mirrorChange() override;
- void componentComplete() override;
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickDial)
- Q_DECLARE_PRIVATE(QQuickDial)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDial)
-
-#endif // QQUICKDIAL_P_H
diff --git a/src/quicktemplates2/qquickdialog.cpp b/src/quicktemplates2/qquickdialog.cpp
deleted file mode 100644
index 7d3152e2..00000000
--- a/src/quicktemplates2/qquickdialog.cpp
+++ /dev/null
@@ -1,543 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdialog_p.h"
-#include "qquickdialog_p_p.h"
-#include "qquickdialogbuttonbox_p.h"
-#include "qquickabstractbutton_p.h"
-#include "qquickpopupitem_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Dialog
- \inherits Popup
- \instantiates QQuickDialog
- \inqmlmodule QtQuick.Controls
- \ingroup qtquickcontrols2-dialogs
- \ingroup qtquickcontrols2-popups
- \brief Popup dialog with standard buttons and a title, used for short-term interaction with the user.
- \since 5.8
-
- A dialog is a popup mostly used for short-term tasks and brief communications
- with the user. Similarly to \l ApplicationWindow and \l Page, Dialog is organized
- into three sections: \l header, \l {Popup::}{contentItem}, and \l footer.
-
- \image qtquickcontrols2-page-wireframe.png
-
- \section1 Dialog Title and Buttons
-
- Dialog's \l title is displayed by a style-specific title bar that is assigned
- as a dialog \l header by default.
-
- Dialog's standard buttons are managed by a \l DialogButtonBox that is assigned
- as a dialog \l footer by default. The dialog's \l standardButtons property is
- forwarded to the respective property of the button box. Furthermore, the
- \l {DialogButtonBox::}{accepted()} and \l {DialogButtonBox::}{rejected()}
- signals of the button box are connected to the respective signals in Dialog.
-
- \snippet qtquickcontrols2-dialog.qml 1
-
- \section1 Modal Dialogs
-
- A \l {Popup::}{modal} dialog blocks input to other content beneath
- the dialog. When a modal dialog is opened, the user must finish
- interacting with the dialog and close it before they can access any
- other content in the same window.
-
- \snippet qtquickcontrols2-dialog-modal.qml 1
-
- \section1 Modeless Dialogs
-
- A modeless dialog is a dialog that operates independently of other
- content around the dialog. When a modeless dialog is opened, the user
- is allowed to interact with both the dialog and the other content in
- the same window.
-
- \snippet qtquickcontrols2-dialog-modeless.qml 1
-
- \sa DialogButtonBox, {Popup Controls}
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::Dialog::accepted()
-
- This signal is emitted when the dialog has been accepted either
- interactively or by calling \l accept().
-
- \note This signal is \e not emitted when closing the dialog with
- \l {Popup::}{close()} or setting \l {Popup::}{visible} to \c false.
-
- \sa rejected()
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::Dialog::rejected()
-
- This signal is emitted when the dialog has been rejected either
- interactively or by calling \l reject().
-
- \note This signal is \e not emitted when closing the dialog with
- \l {Popup::}{close()} or setting \l {Popup::}{visible} to \c false.
-
- \sa accepted()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::Dialog::applied()
-
- This signal is emitted when the \c Dialog.Apply standard button is clicked.
-
- \sa discarded(), reset()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::Dialog::reset()
-
- This signal is emitted when the \c Dialog.Reset standard button is clicked.
-
- \sa discarded(), applied()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::Dialog::discarded()
-
- This signal is emitted when the \c Dialog.Discard standard button is clicked.
-
- \sa reset(), applied()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::Dialog::helpRequested()
-
- This signal is emitted when the \c Dialog.Help standard button is clicked.
-
- \sa accepted(), rejected()
-*/
-
-QPlatformDialogHelper::ButtonRole QQuickDialogPrivate::buttonRole(QQuickAbstractButton *button)
-{
- const QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(qmlAttachedPropertiesObject<QQuickDialogButtonBox>(button, false));
- return attached ? attached->buttonRole() : QPlatformDialogHelper::InvalidRole;
-}
-
-void QQuickDialogPrivate::handleClick(QQuickAbstractButton *button)
-{
- Q_Q(QQuickDialog);
- switch (buttonRole(button)) {
- case QPlatformDialogHelper::ApplyRole:
- emit q->applied();
- break;
- case QPlatformDialogHelper::ResetRole:
- emit q->reset();
- break;
- case QPlatformDialogHelper::DestructiveRole:
- emit q->discarded();
- break;
- case QPlatformDialogHelper::HelpRole:
- emit q->helpRequested();
- break;
- default:
- break;
- }
-}
-
-QQuickDialog::QQuickDialog(QObject *parent)
- : QQuickPopup(*(new QQuickDialogPrivate), parent)
-{
- Q_D(QQuickDialog);
- connect(d->popupItem, &QQuickPopupItem::titleChanged, this, &QQuickDialog::titleChanged);
- connect(d->popupItem, &QQuickPopupItem::headerChanged, this, &QQuickDialog::headerChanged);
- connect(d->popupItem, &QQuickPopupItem::footerChanged, this, &QQuickDialog::footerChanged);
- connect(d->popupItem, &QQuickPopupItem::implicitHeaderWidthChanged, this, &QQuickDialog::implicitHeaderWidthChanged);
- connect(d->popupItem, &QQuickPopupItem::implicitHeaderHeightChanged, this, &QQuickDialog::implicitHeaderHeightChanged);
- connect(d->popupItem, &QQuickPopupItem::implicitFooterWidthChanged, this, &QQuickDialog::implicitFooterWidthChanged);
- connect(d->popupItem, &QQuickPopupItem::implicitFooterHeightChanged, this, &QQuickDialog::implicitFooterHeightChanged);
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::Dialog::title
-
- This property holds the dialog title.
-
- The title is displayed in the dialog header.
-
- \code
- Dialog {
- title: qsTr("About")
-
- Label {
- text: "Lorem ipsum..."
- }
- }
- \endcode
-*/
-QString QQuickDialog::title() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->title();
-}
-
-void QQuickDialog::setTitle(const QString &title)
-{
- Q_D(QQuickDialog);
- d->popupItem->setTitle(title);
- setAccessibleName(title);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Dialog::header
-
- This property holds the dialog header item. The header item is positioned to
- the top, and resized to the width of the dialog. The default value is \c null.
-
- \note Assigning a \l DialogButtonBox as a dialog header automatically connects
- its \l {DialogButtonBox::}{accepted()} and \l {DialogButtonBox::}{rejected()}
- signals to the respective signals in Dialog.
-
- \note Assigning a \l DialogButtonBox, \l ToolBar, or \l TabBar as a dialog
- header automatically sets the respective \l DialogButtonBox::position,
- \l ToolBar::position, or \l TabBar::position property to \c Header.
-
- \sa footer
-*/
-QQuickItem *QQuickDialog::header() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->header();
-}
-
-void QQuickDialog::setHeader(QQuickItem *header)
-{
- Q_D(QQuickDialog);
- QQuickItem *oldHeader = d->popupItem->header();
- if (oldHeader == header)
- return;
-
- if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(oldHeader)) {
- disconnect(buttonBox, &QQuickDialogButtonBox::accepted, this, &QQuickDialog::accept);
- disconnect(buttonBox, &QQuickDialogButtonBox::rejected, this, &QQuickDialog::reject);
- QObjectPrivate::disconnect(buttonBox, &QQuickDialogButtonBox::clicked, d, &QQuickDialogPrivate::handleClick);
- if (d->buttonBox == buttonBox)
- d->buttonBox = nullptr;
- }
-
- if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(header)) {
- connect(buttonBox, &QQuickDialogButtonBox::accepted, this, &QQuickDialog::accept);
- connect(buttonBox, &QQuickDialogButtonBox::rejected, this, &QQuickDialog::reject);
- QObjectPrivate::connect(buttonBox, &QQuickDialogButtonBox::clicked, d, &QQuickDialogPrivate::handleClick);
- d->buttonBox = buttonBox;
- buttonBox->setStandardButtons(d->standardButtons);
- }
-
- d->popupItem->setHeader(header);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Dialog::footer
-
- This property holds the dialog footer item. The footer item is positioned to
- the bottom, and resized to the width of the dialog. The default value is \c null.
-
- \note Assigning a \l DialogButtonBox as a dialog footer automatically connects
- its \l {DialogButtonBox::}{accepted()} and \l {DialogButtonBox::}{rejected()}
- signals to the respective signals in Dialog.
-
- \note Assigning a \l DialogButtonBox, \l ToolBar, or \l TabBar as a dialog
- footer automatically sets the respective \l DialogButtonBox::position,
- \l ToolBar::position, or \l TabBar::position property to \c Footer.
-
- \sa header
-*/
-QQuickItem *QQuickDialog::footer() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->footer();
-}
-
-void QQuickDialog::setFooter(QQuickItem *footer)
-{
- Q_D(QQuickDialog);
- QQuickItem *oldFooter = d->popupItem->footer();
- if (oldFooter == footer)
- return;
-
- if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(oldFooter)) {
- disconnect(buttonBox, &QQuickDialogButtonBox::accepted, this, &QQuickDialog::accept);
- disconnect(buttonBox, &QQuickDialogButtonBox::rejected, this, &QQuickDialog::reject);
- QObjectPrivate::disconnect(buttonBox, &QQuickDialogButtonBox::clicked, d, &QQuickDialogPrivate::handleClick);
- if (d->buttonBox == buttonBox)
- d->buttonBox = nullptr;
- }
- if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(footer)) {
- connect(buttonBox, &QQuickDialogButtonBox::accepted, this, &QQuickDialog::accept);
- connect(buttonBox, &QQuickDialogButtonBox::rejected, this, &QQuickDialog::reject);
- QObjectPrivate::connect(buttonBox, &QQuickDialogButtonBox::clicked, d, &QQuickDialogPrivate::handleClick);
- d->buttonBox = buttonBox;
- buttonBox->setStandardButtons(d->standardButtons);
- }
-
- d->popupItem->setFooter(footer);
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Dialog::standardButtons
-
- This property holds a combination of standard buttons that are used by the dialog.
-
- \snippet qtquickcontrols2-dialog.qml 1
-
- The buttons will be positioned in the appropriate order for the user's platform.
-
- Possible flags:
- \value Dialog.Ok An "OK" button defined with the \c AcceptRole.
- \value Dialog.Open An "Open" button defined with the \c AcceptRole.
- \value Dialog.Save A "Save" button defined with the \c AcceptRole.
- \value Dialog.Cancel A "Cancel" button defined with the \c RejectRole.
- \value Dialog.Close A "Close" button defined with the \c RejectRole.
- \value Dialog.Discard A "Discard" or "Don't Save" button, depending on the platform, defined with the \c DestructiveRole.
- \value Dialog.Apply An "Apply" button defined with the \c ApplyRole.
- \value Dialog.Reset A "Reset" button defined with the \c ResetRole.
- \value Dialog.RestoreDefaults A "Restore Defaults" button defined with the \c ResetRole.
- \value Dialog.Help A "Help" button defined with the \c HelpRole.
- \value Dialog.SaveAll A "Save All" button defined with the \c AcceptRole.
- \value Dialog.Yes A "Yes" button defined with the \c YesRole.
- \value Dialog.YesToAll A "Yes to All" button defined with the \c YesRole.
- \value Dialog.No A "No" button defined with the \c NoRole.
- \value Dialog.NoToAll A "No to All" button defined with the \c NoRole.
- \value Dialog.Abort An "Abort" button defined with the \c RejectRole.
- \value Dialog.Retry A "Retry" button defined with the \c AcceptRole.
- \value Dialog.Ignore An "Ignore" button defined with the \c AcceptRole.
- \value Dialog.NoButton An invalid button.
-
- \sa DialogButtonBox
-*/
-QPlatformDialogHelper::StandardButtons QQuickDialog::standardButtons() const
-{
- Q_D(const QQuickDialog);
- return d->standardButtons;
-}
-
-void QQuickDialog::setStandardButtons(QPlatformDialogHelper::StandardButtons buttons)
-{
- Q_D(QQuickDialog);
- if (d->standardButtons == buttons)
- return;
-
- d->standardButtons = buttons;
- if (d->buttonBox)
- d->buttonBox->setStandardButtons(buttons);
- emit standardButtonsChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod AbstractButton QtQuick.Controls::Dialog::standardButton(StandardButton button)
-
- Returns the specified standard \a button, or \c null if it does not exist.
-
- \sa standardButtons
-*/
-QQuickAbstractButton *QQuickDialog::standardButton(QPlatformDialogHelper::StandardButton button) const
-{
- Q_D(const QQuickDialog);
- if (!d->buttonBox)
- return nullptr;
- return d->buttonBox->standardButton(button);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty int QtQuick.Controls::Dialog::result
-
- This property holds the result code.
-
- Standard result codes:
- \value Dialog.Accepted The dialog was accepted.
- \value Dialog.Rejected The dialog was rejected.
-
- \sa accept(), reject(), done()
-*/
-int QQuickDialog::result() const
-{
- Q_D(const QQuickDialog);
- return d->result;
-}
-
-void QQuickDialog::setResult(int result)
-{
- Q_D(QQuickDialog);
- if (d->result == result)
- return;
-
- d->result = result;
- emit resultChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Dialog::implicitHeaderWidth
- \readonly
-
- This property holds the implicit header width.
-
- The value is equal to \c {header && header.visible ? header.implicitWidth : 0}.
-
- \sa implicitHeaderHeight, implicitFooterWidth
-*/
-qreal QQuickDialog::implicitHeaderWidth() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->implicitHeaderWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Dialog::implicitHeaderHeight
- \readonly
-
- This property holds the implicit header height.
-
- The value is equal to \c {header && header.visible ? header.implicitHeight : 0}.
-
- \sa implicitHeaderWidth, implicitFooterHeight
-*/
-qreal QQuickDialog::implicitHeaderHeight() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->implicitHeaderHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Dialog::implicitFooterWidth
- \readonly
-
- This property holds the implicit footer width.
-
- The value is equal to \c {footer && footer.visible ? footer.implicitWidth : 0}.
-
- \sa implicitFooterHeight, implicitHeaderWidth
-*/
-qreal QQuickDialog::implicitFooterWidth() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->implicitFooterWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Dialog::implicitFooterHeight
- \readonly
-
- This property holds the implicit footer height.
-
- The value is equal to \c {footer && footer.visible ? footer.implicitHeight : 0}.
-
- \sa implicitFooterWidth, implicitHeaderHeight
-*/
-qreal QQuickDialog::implicitFooterHeight() const
-{
- Q_D(const QQuickDialog);
- return d->popupItem->implicitFooterHeight();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Dialog::accept()
-
- Closes the dialog and emits the \l accepted() signal.
-
- \sa reject(), done()
-*/
-void QQuickDialog::accept()
-{
- done(Accepted);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Dialog::reject()
-
- Closes the dialog and emits the \l rejected() signal.
-
- \sa accept(), done()
-*/
-void QQuickDialog::reject()
-{
- done(Rejected);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Dialog::done(int result)
-
- Closes the dialog, sets the \a result, and emits \l accepted() or
- \l rejected() depending on whether the result is \c Dialog.Accepted
- or \c Dialog.Rejected, respectively.
-
- \sa accept(), reject(), result
-*/
-void QQuickDialog::done(int result)
-{
- close();
- setResult(result);
-
- if (result == Accepted)
- emit accepted();
- else if (result == Rejected)
- emit rejected();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickDialog::accessibleRole() const
-{
- return QAccessible::Dialog;
-}
-
-void QQuickDialog::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickDialog);
- QQuickPopup::accessibilityActiveChanged(active);
-
- if (active)
- setAccessibleName(d->popupItem->title());
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdialog_p.h b/src/quicktemplates2/qquickdialog_p.h
deleted file mode 100644
index 38a1b396..00000000
--- a/src/quicktemplates2/qquickdialog_p.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDIALOG_P_H
-#define QQUICKDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDialogPrivate;
-class QQuickAbstractButton;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDialog : public QQuickPopup
-{
- Q_OBJECT
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(QQuickItem *header READ header WRITE setHeader NOTIFY headerChanged FINAL)
- Q_PROPERTY(QQuickItem *footer READ footer WRITE setFooter NOTIFY footerChanged FINAL)
- Q_PROPERTY(QPlatformDialogHelper::StandardButtons standardButtons READ standardButtons WRITE setStandardButtons NOTIFY standardButtonsChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(int result READ result WRITE setResult NOTIFY resultChanged FINAL REVISION 3)
- Q_FLAGS(QPlatformDialogHelper::StandardButtons)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitHeaderWidth READ implicitHeaderWidth NOTIFY implicitHeaderWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitHeaderHeight READ implicitHeaderHeight NOTIFY implicitHeaderHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitFooterWidth READ implicitFooterWidth NOTIFY implicitFooterWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitFooterHeight READ implicitFooterHeight NOTIFY implicitFooterHeightChanged FINAL REVISION 5)
-
-public:
- explicit QQuickDialog(QObject *parent = nullptr);
-
- QString title() const;
- void setTitle(const QString &title);
-
- QQuickItem *header() const;
- void setHeader(QQuickItem *header);
-
- QQuickItem *footer() const;
- void setFooter(QQuickItem *footer);
-
- QPlatformDialogHelper::StandardButtons standardButtons() const;
- void setStandardButtons(QPlatformDialogHelper::StandardButtons buttons);
- Q_REVISION(3) Q_INVOKABLE QQuickAbstractButton *standardButton(QPlatformDialogHelper::StandardButton button) const;
-
- // 2.3 (Qt 5.10)
- enum StandardCode { Rejected, Accepted };
- Q_ENUM(StandardCode)
-
- int result() const;
- void setResult(int result);
-
- // 2.5 (Qt 5.12)
- qreal implicitHeaderWidth() const;
- qreal implicitHeaderHeight() const;
-
- qreal implicitFooterWidth() const;
- qreal implicitFooterHeight() const;
-
-public Q_SLOTS:
- virtual void accept();
- virtual void reject();
- virtual void done(int result);
-
-Q_SIGNALS:
- void accepted();
- void rejected();
- void titleChanged();
- void headerChanged();
- void footerChanged();
- void standardButtonsChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void applied();
- Q_REVISION(3) void reset();
- Q_REVISION(3) void discarded();
- Q_REVISION(3) void helpRequested();
- Q_REVISION(3) void resultChanged();
- // 2.5 (Qt 5.12)
- void implicitHeaderWidthChanged();
- void implicitHeaderHeightChanged();
- void implicitFooterWidthChanged();
- void implicitFooterHeightChanged();
-
-protected:
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickDialog)
- Q_DECLARE_PRIVATE(QQuickDialog)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDialog)
-
-#endif // QQUICKDIALOG_P_H
diff --git a/src/quicktemplates2/qquickdialog_p_p.h b/src/quicktemplates2/qquickdialog_p_p.h
deleted file mode 100644
index 20dce56c..00000000
--- a/src/quicktemplates2/qquickdialog_p_p.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDIALOG_P_P_H
-#define QQUICKDIALOG_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAbstractButton;
-class QQuickDialogButtonBox;
-
-class QQuickDialogPrivate : public QQuickPopupPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDialog)
-
-public:
- static QQuickDialogPrivate *get(QQuickDialog *dialog)
- {
- return dialog->d_func();
- }
-
- static QPlatformDialogHelper::ButtonRole buttonRole(QQuickAbstractButton *button);
-
- void handleClick(QQuickAbstractButton *button);
-
- int result = 0;
- QString title;
- QQuickDialogButtonBox *buttonBox = nullptr;
- QPlatformDialogHelper::StandardButtons standardButtons = QPlatformDialogHelper::NoButton;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDIALOG_P_P_H
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp
deleted file mode 100644
index 10d80778..00000000
--- a/src/quicktemplates2/qquickdialogbuttonbox.cpp
+++ /dev/null
@@ -1,860 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdialogbuttonbox_p.h"
-#include "qquickdialogbuttonbox_p_p.h"
-#include "qquickabstractbutton_p.h"
-#include "qquickbutton_p.h"
-#include "qquickdialog_p_p.h"
-
-#include <QtCore/qpointer.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/qqmlcomponent.h>
-
-#include <algorithm>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype DialogButtonBox
- \inherits Container
- \instantiates QQuickDialogButtonBox
- \inqmlmodule QtQuick.Controls
- \ingroup qtquickcontrols2-dialogs
- \brief A button box used in dialogs.
- \since 5.8
-
- Dialogs and message boxes typically present buttons in an order that
- conforms to the interface guidelines for that platform. Invariably,
- different platforms have their dialog buttons in different orders.
- DialogButtonBox allows a developer to add buttons to it and will
- automatically use the appropriate order for the user's platform.
-
- Most buttons for a dialog follow certain roles. Such roles include:
-
- \list
- \li Accepting or rejecting the dialog.
- \li Asking for help.
- \li Performing actions on the dialog itself (such as resetting fields or
- applying changes).
- \endlist
-
- There can also be alternate ways of dismissing the dialog which may cause
- destructive results.
-
- Most dialogs have buttons that can almost be considered standard (e.g.
- \uicontrol OK and \uicontrol Cancel buttons). It is sometimes convenient
- to create these buttons in a standard way.
-
- There are a couple ways of using DialogButtonBox. One way is to specify
- the standard buttons (e.g. \uicontrol OK, \uicontrol Cancel, \uicontrol Save)
- and let the button box setup the buttons.
-
- \image qtquickcontrols2-dialogbuttonbox.png
-
- \snippet qtquickcontrols2-dialogbuttonbox.qml 1
-
- Alternatively, buttons and their roles can be specified by hand:
-
- \snippet qtquickcontrols2-dialogbuttonbox-attached.qml 1
-
- You can also mix and match normal buttons and standard buttons.
-
- When a button is clicked in the button box, the \l clicked() signal is
- emitted for the actual button that is pressed. In addition, the
- following signals are automatically emitted when a button with the
- respective role(s) is pressed:
-
- \table
- \header
- \li Role
- \li Signal
- \row
- \li \c AcceptRole, \c YesRole
- \li \l accepted()
- \row
- \li \c ApplyRole
- \li \l applied()
- \row
- \li \c DiscardRole
- \li \l discarded()
- \row
- \li \c HelpRole
- \li \l helpRequested()
- \row
- \li \c RejectRole, \c NoRole
- \li \l rejected()
- \row
- \li \c ResetRole
- \li \l reset()
- \endtable
-
- \sa Dialog
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::DialogButtonBox::accepted()
-
- This signal is emitted when a button defined with the \c AcceptRole or
- \c YesRole is clicked.
-
- \sa rejected(), clicked(), helpRequested()
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::DialogButtonBox::rejected()
-
- This signal is emitted when a button defined with the \c RejectRole or
- \c NoRole is clicked.
-
- \sa accepted(), helpRequested(), clicked()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::DialogButtonBox::applied()
-
- This signal is emitted when a button defined with the \c ApplyRole is
- clicked.
-
- \sa discarded(), reset()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::DialogButtonBox::reset()
-
- This signal is emitted when a button defined with the \c ResetRole is
- clicked.
-
- \sa discarded(), applied()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlsignal QtQuick.Controls::DialogButtonBox::discarded()
-
- This signal is emitted when a button defined with the \c DiscardRole is
- clicked.
-
- \sa reset(), applied()
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::DialogButtonBox::helpRequested()
-
- This signal is emitted when a button defined with the \c HelpRole is clicked.
-
- \sa accepted(), rejected(), clicked()
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::DialogButtonBox::clicked(AbstractButton button)
-
- This signal is emitted when a \a button inside the button box is clicked.
-
- \sa accepted(), rejected(), helpRequested()
-*/
-
-static QPlatformDialogHelper::ButtonLayout platformButtonLayout()
-{
- return QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::DialogButtonBoxLayout).value<QPlatformDialogHelper::ButtonLayout>();
-}
-
-void QQuickDialogButtonBoxPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitWidthChanged(item);
- if (item == contentItem)
- resizeContent();
- else
- updateImplicitContentWidth();
-}
-
-void QQuickDialogButtonBoxPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitHeightChanged(item);
- if (item == contentItem)
- resizeContent();
- else
- updateImplicitContentHeight();
-}
-
-// adapted from QStyle::alignedRect()
-static QRectF alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSizeF &size, const QRectF &rectangle)
-{
- alignment = QGuiApplicationPrivate::visualAlignment(direction, alignment);
- qreal x = rectangle.x();
- qreal y = rectangle.y();
- qreal w = size.width();
- qreal h = size.height();
- if ((alignment & Qt::AlignVCenter) == Qt::AlignVCenter || (alignment & Qt::AlignVertical_Mask) == 0)
- y += (rectangle.size().height() - h) / 2;
- else if ((alignment & Qt::AlignBottom) == Qt::AlignBottom)
- y += rectangle.size().height() - h;
- if ((alignment & Qt::AlignRight) == Qt::AlignRight)
- x += rectangle.size().width() - w;
- else if ((alignment & Qt::AlignHCenter) == Qt::AlignHCenter)
- x += (rectangle.size().width() - w) / 2;
- return QRectF(x, y, w, h);
-}
-
-void QQuickDialogButtonBoxPrivate::resizeContent()
-{
- Q_Q(QQuickDialogButtonBox);
- if (!contentItem)
- return;
-
- QRectF geometry = q->boundingRect().adjusted(q->leftPadding(), q->topPadding(), -q->rightPadding(), -q->bottomPadding());
- if (alignment != 0)
- geometry = alignedRect(q->isMirrored() ? Qt::RightToLeft : Qt::LeftToRight, alignment, QSizeF(contentWidth, contentHeight), geometry);
-
- contentItem->setPosition(geometry.topLeft());
- contentItem->setSize(geometry.size());
-}
-
-void QQuickDialogButtonBoxPrivate::updateLayout()
-{
- Q_Q(QQuickDialogButtonBox);
- const int count = contentModel->count();
- if (count <= 0)
- return;
-
- const int halign = alignment & Qt::AlignHorizontal_Mask;
- const int valign = alignment & Qt::AlignVertical_Mask;
-
- QVector<QQuickAbstractButton *> buttons;
- const qreal cw = (alignment & Qt::AlignHorizontal_Mask) == 0 ? q->availableWidth() : contentWidth;
- const qreal itemWidth = (cw - qMax(0, count - 1) * spacing) / count;
-
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid) {
- if (!halign)
- item->setWidth(itemWidth);
- else
- item->resetWidth();
- if (!valign)
- item->setHeight(contentHeight);
- else
- item->resetHeight();
- p->widthValid = false;
- }
- }
- buttons += static_cast<QQuickAbstractButton *>(item);
- }
-
- struct ButtonLayout {
- ButtonLayout(QPlatformDialogHelper::ButtonLayout layout)
- : m_layout(QPlatformDialogHelper::buttonLayout(Qt::Horizontal, layout))
- {
- }
-
- bool operator()(QQuickAbstractButton *first, QQuickAbstractButton *second)
- {
- const QPlatformDialogHelper::ButtonRole firstRole = QQuickDialogPrivate::buttonRole(first);
- const QPlatformDialogHelper::ButtonRole secondRole = QQuickDialogPrivate::buttonRole(second);
-
- if (firstRole != secondRole && firstRole != QPlatformDialogHelper::InvalidRole && secondRole != QPlatformDialogHelper::InvalidRole) {
- const int *l = m_layout;
- while (*l != QPlatformDialogHelper::EOL) {
- // Unset the Reverse flag.
- const int role = (*l & ~QPlatformDialogHelper::Reverse);
- if (role == firstRole)
- return true;
- if (role == secondRole)
- return false;
- ++l;
- }
- }
-
- if (firstRole == secondRole)
- return false;
-
- return firstRole != QPlatformDialogHelper::InvalidRole;
- }
- const int *m_layout;
- };
-
- std::stable_sort(buttons.begin(), buttons.end(), ButtonLayout(static_cast<QPlatformDialogHelper::ButtonLayout>(buttonLayout)));
-
- for (int i = 0; i < buttons.count() - 1; ++i)
- q->insertItem(i, buttons.at(i));
-}
-
-qreal QQuickDialogButtonBoxPrivate::getContentWidth() const
-{
- Q_Q(const QQuickDialogButtonBox);
- const int count = contentModel->count();
- const qreal totalSpacing = qMax(0, count - 1) * spacing;
- qreal totalWidth = totalSpacing;
- qreal maxWidth = 0;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item) {
- totalWidth += item->implicitWidth();
- maxWidth = qMax(maxWidth, item->implicitWidth());
- }
- }
- if ((alignment & Qt::AlignHorizontal_Mask) == 0)
- totalWidth = qMax(totalWidth, count * maxWidth + totalSpacing);
- return totalWidth;
-}
-
-qreal QQuickDialogButtonBoxPrivate::getContentHeight() const
-{
- Q_Q(const QQuickDialogButtonBox);
- const int count = contentModel->count();
- qreal maxHeight = 0;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item)
- maxHeight = qMax(maxHeight, item->implicitHeight());
- }
- return maxHeight;
-}
-
-void QQuickDialogButtonBoxPrivate::handleClick()
-{
- Q_Q(QQuickDialogButtonBox);
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(q->sender());
- if (!button)
- return;
-
- // Can't fetch this *after* emitting clicked, as clicked may destroy the button
- // or change its role. Now changing the role is not possible yet, but arguably
- // both clicked and accepted/rejected/etc. should be emitted "atomically"
- // depending on whatever role the button had at the time of the click.
- const QPlatformDialogHelper::ButtonRole role = QQuickDialogPrivate::buttonRole(button);
- QPointer<QQuickDialogButtonBox> guard(q);
-
- emit q->clicked(button);
-
- if (!guard)
- return;
-
- switch (role) {
- case QPlatformDialogHelper::AcceptRole:
- case QPlatformDialogHelper::YesRole:
- emit q->accepted();
- break;
- case QPlatformDialogHelper::RejectRole:
- case QPlatformDialogHelper::NoRole:
- emit q->rejected();
- break;
- case QPlatformDialogHelper::ApplyRole:
- emit q->applied();
- break;
- case QPlatformDialogHelper::ResetRole:
- emit q->reset();
- break;
- case QPlatformDialogHelper::DestructiveRole:
- emit q->discarded();
- break;
- case QPlatformDialogHelper::HelpRole:
- emit q->helpRequested();
- break;
- default:
- break;
- }
-}
-
-QQuickAbstractButton *QQuickDialogButtonBoxPrivate::createStandardButton(QPlatformDialogHelper::StandardButton standardButton)
-{
- Q_Q(QQuickDialogButtonBox);
- if (!delegate)
- return nullptr;
-
- QQmlContext *creationContext = delegate->creationContext();
- if (!creationContext)
- creationContext = qmlContext(q);
- QQmlContext *context = new QQmlContext(creationContext, q);
- context->setContextObject(q);
-
- QObject *object = delegate->beginCreate(context);
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton*>(object);
- if (button) {
- QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(qmlAttachedPropertiesObject<QQuickDialogButtonBox>(button, true));
- QQuickDialogButtonBoxAttachedPrivate::get(attached)->standardButton = standardButton;
- attached->setButtonRole(QPlatformDialogHelper::buttonRole(standardButton));
- button->setText(QPlatformTheme::removeMnemonics(QGuiApplicationPrivate::platformTheme()->standardButtonText(standardButton)));
- delegate->completeCreate();
- return button;
- }
-
- delete object;
- return nullptr;
-}
-
-void QQuickDialogButtonBoxPrivate::removeStandardButtons()
-{
- Q_Q(QQuickDialogButtonBox);
- int i = q->count() - 1;
- while (i >= 0) {
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(q->itemAt(i));
- if (button) {
- QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(
- qmlAttachedPropertiesObject<QQuickDialogButtonBox>(button, false));
- if (attached) {
- QQuickDialogButtonBoxAttachedPrivate *p = QQuickDialogButtonBoxAttachedPrivate::get(attached);
- if (p->standardButton != QPlatformDialogHelper::NoButton) {
- q->removeItem(i);
- button->deleteLater();
- }
- }
- }
- --i;
- }
-}
-
-void QQuickDialogButtonBoxPrivate::updateLanguage()
-{
- Q_Q(QQuickDialogButtonBox);
- int i = q->count() - 1;
- while (i >= 0) {
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(itemAt(i));
- if (button) {
- QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(
- qmlAttachedPropertiesObject<QQuickDialogButtonBox>(button, true));
- const auto boxAttachedPrivate = QQuickDialogButtonBoxAttachedPrivate::get(attached);
- const QPlatformDialogHelper::StandardButton standardButton = boxAttachedPrivate->standardButton;
- const QString buttonText = QGuiApplicationPrivate::platformTheme()->standardButtonText(standardButton);
- button->setText(QPlatformTheme::removeMnemonics(buttonText));
- }
- --i;
- }
-}
-
-QQuickDialogButtonBox::QQuickDialogButtonBox(QQuickItem *parent)
- : QQuickContainer(*(new QQuickDialogButtonBoxPrivate), parent)
-{
- Q_D(QQuickDialogButtonBox);
- d->changeTypes |= QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight;
- d->buttonLayout = platformButtonLayout();
-}
-
-QQuickDialogButtonBox::~QQuickDialogButtonBox()
-{
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::DialogButtonBox::position
-
- This property holds the position of the button box.
-
- \note If the button box is assigned as a header or footer of ApplicationWindow
- or Page, the appropriate position is set automatically.
-
- Possible values:
- \value DialogButtonBox.Header The button box is at the top, as a window or page header.
- \value DialogButtonBox.Footer The button box is at the bottom, as a window or page header.
-
- The default value is \c Footer.
-
- \sa Dialog::header, Dialog::footer
-*/
-QQuickDialogButtonBox::Position QQuickDialogButtonBox::position() const
-{
- Q_D(const QQuickDialogButtonBox);
- return d->position;
-}
-
-void QQuickDialogButtonBox::setPosition(Position position)
-{
- Q_D(QQuickDialogButtonBox);
- if (d->position == position)
- return;
-
- d->position = position;
- emit positionChanged();
-}
-
-/*!
- \qmlproperty flags QtQuick.Controls::DialogButtonBox::alignment
-
- This property holds the alignment of the buttons.
-
- Possible values:
- \value undefined The buttons are resized to fill the available space.
- \value Qt.AlignLeft The buttons are aligned to the left.
- \value Qt.AlignHCenter The buttons are horizontally centered.
- \value Qt.AlignRight The buttons are aligned to the right.
- \value Qt.AlignTop The buttons are aligned to the top.
- \value Qt.AlignVCenter The buttons are vertically centered.
- \value Qt.AlignBottom The buttons are aligned to the bottom.
-*/
-Qt::Alignment QQuickDialogButtonBox::alignment() const
-{
- Q_D(const QQuickDialogButtonBox);
- return d->alignment;
-}
-
-void QQuickDialogButtonBox::setAlignment(Qt::Alignment alignment)
-{
- Q_D(QQuickDialogButtonBox);
- if (d->alignment == alignment)
- return;
-
- d->alignment = alignment;
- if (isComponentComplete()) {
- d->resizeContent();
- polish();
- }
- emit alignmentChanged();
-}
-
-void QQuickDialogButtonBox::resetAlignment()
-{
- setAlignment(0);
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::DialogButtonBox::standardButtons
-
- This property holds a combination of standard buttons that are used by the button box.
-
- \snippet qtquickcontrols2-dialogbuttonbox.qml 1
-
- The buttons will be positioned in the appropriate order for the user's platform.
-
- Possible flags:
- \value DialogButtonBox.Ok An "OK" button defined with the \c AcceptRole.
- \value DialogButtonBox.Open An "Open" button defined with the \c AcceptRole.
- \value DialogButtonBox.Save A "Save" button defined with the \c AcceptRole.
- \value DialogButtonBox.Cancel A "Cancel" button defined with the \c RejectRole.
- \value DialogButtonBox.Close A "Close" button defined with the \c RejectRole.
- \value DialogButtonBox.Discard A "Discard" or "Don't Save" button, depending on the platform, defined with the \c DestructiveRole.
- \value DialogButtonBox.Apply An "Apply" button defined with the \c ApplyRole.
- \value DialogButtonBox.Reset A "Reset" button defined with the \c ResetRole.
- \value DialogButtonBox.RestoreDefaults A "Restore Defaults" button defined with the \c ResetRole.
- \value DialogButtonBox.Help A "Help" button defined with the \c HelpRole.
- \value DialogButtonBox.SaveAll A "Save All" button defined with the \c AcceptRole.
- \value DialogButtonBox.Yes A "Yes" button defined with the \c YesRole.
- \value DialogButtonBox.YesToAll A "Yes to All" button defined with the \c YesRole.
- \value DialogButtonBox.No A "No" button defined with the \c NoRole.
- \value DialogButtonBox.NoToAll A "No to All" button defined with the \c NoRole.
- \value DialogButtonBox.Abort An "Abort" button defined with the \c RejectRole.
- \value DialogButtonBox.Retry A "Retry" button defined with the \c AcceptRole.
- \value DialogButtonBox.Ignore An "Ignore" button defined with the \c AcceptRole.
- \value DialogButtonBox.NoButton An invalid button.
-
- \sa standardButton()
-*/
-QPlatformDialogHelper::StandardButtons QQuickDialogButtonBox::standardButtons() const
-{
- Q_D(const QQuickDialogButtonBox);
- return d->standardButtons;
-}
-
-void QQuickDialogButtonBox::setStandardButtons(QPlatformDialogHelper::StandardButtons buttons)
-{
- Q_D(QQuickDialogButtonBox);
- if (d->standardButtons == buttons)
- return;
-
- d->removeStandardButtons();
-
- for (int i = QPlatformDialogHelper::FirstButton; i <= QPlatformDialogHelper::LastButton; i<<=1) {
- QPlatformDialogHelper::StandardButton standardButton = static_cast<QPlatformDialogHelper::StandardButton>(i);
- if (standardButton & buttons) {
- QQuickAbstractButton *button = d->createStandardButton(standardButton);
- if (button)
- addItem(button);
- }
- }
-
- if (isComponentComplete())
- polish();
-
- d->standardButtons = buttons;
- emit standardButtonsChanged();
-}
-
-/*!
- \qmlmethod AbstractButton QtQuick.Controls::DialogButtonBox::standardButton(StandardButton button)
-
- Returns the specified standard \a button, or \c null if it does not exist.
-
- \sa standardButtons
-*/
-QQuickAbstractButton *QQuickDialogButtonBox::standardButton(QPlatformDialogHelper::StandardButton button) const
-{
- Q_D(const QQuickDialogButtonBox);
- if (Q_UNLIKELY(!(d->standardButtons & button)))
- return nullptr;
- for (int i = 0, n = count(); i < n; ++i) {
- QQuickAbstractButton *btn = qobject_cast<QQuickAbstractButton *>(d->itemAt(i));
- if (Q_LIKELY(btn)) {
- QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(qmlAttachedPropertiesObject<QQuickDialogButtonBox>(btn, false));
- if (attached && QQuickDialogButtonBoxAttachedPrivate::get(attached)->standardButton == button)
- return btn;
- }
- }
- return nullptr;
-}
-
-/*!
- \qmlproperty Component QtQuick.Controls::DialogButtonBox::delegate
-
- This property holds a delegate for creating standard buttons.
-
- \sa standardButtons
-*/
-QQmlComponent *QQuickDialogButtonBox::delegate() const
-{
- Q_D(const QQuickDialogButtonBox);
- return d->delegate;
-}
-
-void QQuickDialogButtonBox::setDelegate(QQmlComponent* delegate)
-{
- Q_D(QQuickDialogButtonBox);
- if (d->delegate == delegate)
- return;
-
- delete d->delegate;
- d->delegate = delegate;
- emit delegateChanged();
-}
-
-QQuickDialogButtonBoxAttached *QQuickDialogButtonBox::qmlAttachedProperties(QObject *object)
-{
- return new QQuickDialogButtonBoxAttached(object);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty enumeration QtQuick.Controls::DialogButtonBox::buttonLayout
-
- This property holds the button layout policy to be used when arranging the buttons contained in the button box.
- The default value is platform-specific.
-
- Available values:
- \value DialogButtonBox.WinLayout Use a policy appropriate for applications on Windows.
- \value DialogButtonBox.MacLayout Use a policy appropriate for applications on macOS.
- \value DialogButtonBox.KdeLayout Use a policy appropriate for applications on KDE.
- \value DialogButtonBox.GnomeLayout Use a policy appropriate for applications on GNOME.
- \value DialogButtonBox.AndroidLayout Use a policy appropriate for applications on Android.
-*/
-QPlatformDialogHelper::ButtonLayout QQuickDialogButtonBox::buttonLayout() const
-{
- Q_D(const QQuickDialogButtonBox);
- return d->buttonLayout;
-}
-
-void QQuickDialogButtonBox::setButtonLayout(QPlatformDialogHelper::ButtonLayout layout)
-{
- Q_D(QQuickDialogButtonBox);
- if (d->buttonLayout == layout)
- return;
-
- d->buttonLayout = layout;
- if (isComponentComplete())
- d->updateLayout();
- emit buttonLayoutChanged();
-}
-
-void QQuickDialogButtonBox::resetButtonLayout()
-{
- setButtonLayout(platformButtonLayout());
-}
-
-void QQuickDialogButtonBox::updatePolish()
-{
- Q_D(QQuickDialogButtonBox);
- QQuickContainer::updatePolish();
- d->updateLayout();
-}
-
-class LanguageEventFilter : public QObject
-{
-public:
- LanguageEventFilter(QQuickDialogButtonBoxPrivate *box)
- : QObject(box->q_ptr)
- , boxPrivate(box)
- {
- }
-
-protected:
- bool eventFilter(QObject *, QEvent *event)
- {
- if (event->type() == QEvent::LanguageChange)
- boxPrivate->updateLanguage();
- return false;
- }
-
-private:
- QQuickDialogButtonBoxPrivate *boxPrivate;
-};
-
-void QQuickDialogButtonBox::componentComplete()
-{
- Q_D(QQuickDialogButtonBox);
- QQuickContainer::componentComplete();
- d->updateLayout();
- // TODO: use the solution in QTBUG-78141 instead, when it's implemented.
- qApp->installEventFilter(new LanguageEventFilter(d));
-}
-
-void QQuickDialogButtonBox::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickDialogButtonBox);
- QQuickContainer::geometryChanged(newGeometry, oldGeometry);
- d->updateLayout();
-}
-
-void QQuickDialogButtonBox::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickDialogButtonBox);
- QQuickContainer::contentItemChange(newItem, oldItem);
- if (oldItem)
- QQuickItemPrivate::get(oldItem)->removeItemChangeListener(d, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
- if (newItem)
- QQuickItemPrivate::get(newItem)->addItemChangeListener(d, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
-}
-
-bool QQuickDialogButtonBox::isContent(QQuickItem *item) const
-{
- return qobject_cast<QQuickAbstractButton *>(item);
-}
-
-void QQuickDialogButtonBox::itemAdded(int index, QQuickItem *item)
-{
- Q_D(QQuickDialogButtonBox);
- Q_UNUSED(index);
- if (QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(item))
- QObjectPrivate::connect(button, &QQuickAbstractButton::clicked, d, &QQuickDialogButtonBoxPrivate::handleClick);
- if (QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(qmlAttachedPropertiesObject<QQuickDialogButtonBox>(item, false)))
- QQuickDialogButtonBoxAttachedPrivate::get(attached)->setButtonBox(this);
- d->updateImplicitContentSize();
- if (isComponentComplete())
- polish();
-}
-
-void QQuickDialogButtonBox::itemRemoved(int index, QQuickItem *item)
-{
- Q_D(QQuickDialogButtonBox);
- Q_UNUSED(index);
- if (QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(item))
- QObjectPrivate::disconnect(button, &QQuickAbstractButton::clicked, d, &QQuickDialogButtonBoxPrivate::handleClick);
- if (QQuickDialogButtonBoxAttached *attached = qobject_cast<QQuickDialogButtonBoxAttached *>(qmlAttachedPropertiesObject<QQuickDialogButtonBox>(item, false)))
- QQuickDialogButtonBoxAttachedPrivate::get(attached)->setButtonBox(nullptr);
- d->updateImplicitContentSize();
- if (isComponentComplete())
- polish();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickDialogButtonBox::accessibleRole() const
-{
- return QAccessible::PageTabList;
-}
-#endif
-
-void QQuickDialogButtonBoxAttachedPrivate::setButtonBox(QQuickDialogButtonBox *box)
-{
- Q_Q(QQuickDialogButtonBoxAttached);
- if (buttonBox == box)
- return;
-
- buttonBox = box;
- emit q->buttonBoxChanged();
-}
-
-QQuickDialogButtonBoxAttached::QQuickDialogButtonBoxAttached(QObject *parent)
- : QObject(*(new QQuickDialogButtonBoxAttachedPrivate), parent)
-{
- Q_D(QQuickDialogButtonBoxAttached);
- QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent);
- while (parentItem && !d->buttonBox) {
- d->buttonBox = qobject_cast<QQuickDialogButtonBox *>(parentItem);
- parentItem = parentItem->parentItem();
- }
-}
-
-/*!
- \qmlattachedproperty DialogButtonBox QtQuick.Controls::DialogButtonBox::buttonBox
- \readonly
-
- This attached property holds the button box that manages this button, or
- \c null if the button is not in a button box.
-*/
-QQuickDialogButtonBox *QQuickDialogButtonBoxAttached::buttonBox() const
-{
- Q_D(const QQuickDialogButtonBoxAttached);
- return d->buttonBox;
-}
-
-/*!
- \qmlattachedproperty enumeration QtQuick.Controls::DialogButtonBox::buttonRole
-
- This attached property holds the role of each button in a button box.
-
- \snippet qtquickcontrols2-dialogbuttonbox-attached.qml 1
-
- Available values:
- \value DialogButtonBox.InvalidRole The button is invalid.
- \value DialogButtonBox.AcceptRole Clicking the button causes the dialog to be accepted (e.g. \uicontrol OK).
- \value DialogButtonBox.RejectRole Clicking the button causes the dialog to be rejected (e.g. \uicontrol Cancel).
- \value DialogButtonBox.DestructiveRole Clicking the button causes a destructive change (e.g. for discarding changes) and closes the dialog.
- \value DialogButtonBox.ActionRole Clicking the button causes changes to the elements within the dialog.
- \value DialogButtonBox.HelpRole The button can be clicked to request help.
- \value DialogButtonBox.YesRole The button is a "Yes"-like button.
- \value DialogButtonBox.NoRole The button is a "No"-like button.
- \value DialogButtonBox.ResetRole The button resets the dialog's fields to default values.
- \value DialogButtonBox.ApplyRole The button applies current changes.
-*/
-QPlatformDialogHelper::ButtonRole QQuickDialogButtonBoxAttached::buttonRole() const
-{
- Q_D(const QQuickDialogButtonBoxAttached);
- return d->buttonRole;
-}
-
-void QQuickDialogButtonBoxAttached::setButtonRole(QPlatformDialogHelper::ButtonRole role)
-{
- Q_D(QQuickDialogButtonBoxAttached);
- if (d->buttonRole == role)
- return;
-
- d->buttonRole = role;
- emit buttonRoleChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdialogbuttonbox_p.h b/src/quicktemplates2/qquickdialogbuttonbox_p.h
deleted file mode 100644
index 51ae473f..00000000
--- a/src/quicktemplates2/qquickdialogbuttonbox_p.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDIALOGBUTTONBOX_P_H
-#define QQUICKDIALOGBUTTONBOX_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickAbstractButton;
-class QQuickDialogButtonBoxPrivate;
-class QQuickDialogButtonBoxAttached;
-class QQuickDialogButtonBoxAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDialogButtonBox : public QQuickContainer
-{
- Q_OBJECT
- Q_PROPERTY(Position position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment RESET resetAlignment NOTIFY alignmentChanged FINAL)
- Q_PROPERTY(QPlatformDialogHelper::StandardButtons standardButtons READ standardButtons WRITE setStandardButtons NOTIFY standardButtonsChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(QPlatformDialogHelper::ButtonLayout buttonLayout READ buttonLayout WRITE setButtonLayout RESET resetButtonLayout NOTIFY buttonLayoutChanged FINAL REVISION 5)
- Q_FLAGS(QPlatformDialogHelper::StandardButtons)
-
-public:
- explicit QQuickDialogButtonBox(QQuickItem *parent = nullptr);
- ~QQuickDialogButtonBox();
-
- enum Position {
- Header,
- Footer
- };
- Q_ENUM(Position)
-
- Position position() const;
- void setPosition(Position position);
-
- Qt::Alignment alignment() const;
- void setAlignment(Qt::Alignment alignment);
- void resetAlignment();
-
- QPlatformDialogHelper::StandardButtons standardButtons() const;
- void setStandardButtons(QPlatformDialogHelper::StandardButtons buttons);
- Q_INVOKABLE QQuickAbstractButton *standardButton(QPlatformDialogHelper::StandardButton button) const;
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
- static QQuickDialogButtonBoxAttached *qmlAttachedProperties(QObject *object);
-
- // 2.5 (Qt 5.12)
- Q_ENUMS(QPlatformDialogHelper::ButtonLayout)
-
- QPlatformDialogHelper::ButtonLayout buttonLayout() const;
- void setButtonLayout(QPlatformDialogHelper::ButtonLayout layout);
- void resetButtonLayout();
-
-Q_SIGNALS:
- void accepted();
- void rejected();
- void helpRequested();
- void clicked(QQuickAbstractButton *button);
- void positionChanged();
- void alignmentChanged();
- void standardButtonsChanged();
- void delegateChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void applied();
- Q_REVISION(3) void reset();
- Q_REVISION(3) void discarded();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void buttonLayoutChanged();
-
-protected:
- void updatePolish() override;
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- bool isContent(QQuickItem *item) const override;
- void itemAdded(int index, QQuickItem *item) override;
- void itemRemoved(int index, QQuickItem *item) override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickDialogButtonBox)
- Q_DECLARE_PRIVATE(QQuickDialogButtonBox)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDialogButtonBoxAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickDialogButtonBox *buttonBox READ buttonBox NOTIFY buttonBoxChanged FINAL)
- Q_PROPERTY(QPlatformDialogHelper::ButtonRole buttonRole READ buttonRole WRITE setButtonRole NOTIFY buttonRoleChanged FINAL)
- Q_ENUMS(QPlatformDialogHelper::ButtonRole)
-
-public:
- explicit QQuickDialogButtonBoxAttached(QObject *parent = nullptr);
-
- QQuickDialogButtonBox *buttonBox() const;
-
- QPlatformDialogHelper::ButtonRole buttonRole() const;
- void setButtonRole(QPlatformDialogHelper::ButtonRole role);
-
-Q_SIGNALS:
- void buttonBoxChanged();
- void buttonRoleChanged();
-
-private:
- Q_DISABLE_COPY(QQuickDialogButtonBoxAttached)
- Q_DECLARE_PRIVATE(QQuickDialogButtonBoxAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDialogButtonBox)
-QML_DECLARE_TYPEINFO(QQuickDialogButtonBox, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKDIALOGBUTTONBOX_P_H
diff --git a/src/quicktemplates2/qquickdialogbuttonbox_p_p.h b/src/quicktemplates2/qquickdialogbuttonbox_p_p.h
deleted file mode 100644
index 6f9c9033..00000000
--- a/src/quicktemplates2/qquickdialogbuttonbox_p_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDIALOGBUTTONBOX_P_P_H
-#define QQUICKDIALOGBUTTONBOX_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p_p.h>
-#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDialogButtonBoxPrivate : public QQuickContainerPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDialogButtonBox)
-
-public:
- static QQuickDialogButtonBoxPrivate *get(QQuickDialogButtonBox *box)
- {
- return box->d_func();
- }
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- void resizeContent() override;
-
- void updateLayout();
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
-
- void handleClick();
-
- QQuickAbstractButton *createStandardButton(QPlatformDialogHelper::StandardButton button);
- void removeStandardButtons();
-
- void updateLanguage();
-
- Qt::Alignment alignment = 0;
- QQuickDialogButtonBox::Position position = QQuickDialogButtonBox::Footer;
- QPlatformDialogHelper::StandardButtons standardButtons = QPlatformDialogHelper::NoButton;
- QPlatformDialogHelper::ButtonLayout buttonLayout = QPlatformDialogHelper::UnknownLayout;
- QQmlComponent *delegate = nullptr;
-};
-
-class QQuickDialogButtonBoxAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDialogButtonBoxAttached)
-
-public:
- static QQuickDialogButtonBoxAttachedPrivate *get(QQuickDialogButtonBoxAttached *q)
- {
- return q->d_func();
- }
-
- void setButtonBox(QQuickDialogButtonBox *box);
-
- QQuickDialogButtonBox *buttonBox = nullptr;
- QPlatformDialogHelper::ButtonRole buttonRole = QPlatformDialogHelper::InvalidRole;
- QPlatformDialogHelper::StandardButton standardButton = QPlatformDialogHelper::NoButton;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDIALOGBUTTONBOX_P_P_H
diff --git a/src/quicktemplates2/qquickdrawer.cpp b/src/quicktemplates2/qquickdrawer.cpp
deleted file mode 100644
index 9cc38791..00000000
--- a/src/quicktemplates2/qquickdrawer.cpp
+++ /dev/null
@@ -1,809 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickdrawer_p.h"
-#include "qquickdrawer_p_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickpopuppositioner_p_p.h"
-
-#include <QtGui/qstylehints.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickwindow_p.h>
-#include <QtQuick/private/qquickanimation_p.h>
-#include <QtQuick/private/qquicktransition_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Drawer
- \inherits Popup
- \instantiates QQuickDrawer
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-navigation
- \ingroup qtquickcontrols2-popups
- \brief Side panel that can be opened and closed using a swipe gesture.
-
- Drawer provides a swipe-based side panel, similar to those often used in
- touch interfaces to provide a central location for navigation.
-
- \image qtquickcontrols2-drawer.gif
-
- Drawer can be positioned at any of the four edges of the content item.
- The drawer above is positioned against the left edge of the window. The
- drawer is then opened by \e "dragging" it out from the left edge of the
- window.
-
- \code \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- id: window
- visible: true
-
- Drawer {
- id: drawer
- width: 0.66 * window.width
- height: window.height
-
- Label {
- text: "Content goes here!"
- anchors.centerIn: parent
- }
- }
- }
- \endcode
-
- Drawer is a special type of popup that resides at one of the window \l {edge}{edges}.
- By default, Drawer re-parents itself to the window \l {ApplicationWindow::}{overlay},
- and therefore operates on window coordinates. It is also possible to manually set the
- \l {Popup::}{parent} to something else to make the drawer operate in a specific
- coordinate space.
-
- Drawer can be configured to cover only part of its window edge. The following example
- illustrates how Drawer can be positioned to appear below a window header:
-
- \code \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- id: window
- visible: true
-
- header: ToolBar { }
-
- Drawer {
- y: header.height
- width: window.width * 0.6
- height: window.height - header.height
- }
- }
- \endcode
-
- The \l position property determines how much of the drawer is visible, as
- a value between \c 0.0 and \c 1.0. It is not possible to set the x-coordinate
- (or horizontal margins) of a drawer at the left or right window edge, or the
- y-coordinate (or vertical margins) of a drawer at the top or bottom window edge.
-
- In the image above, the application's contents are \e "pushed" across the
- screen. This is achieved by applying a translation to the contents:
-
- \code \QtMinorVersion
- import QtQuick 2.\1
- import QtQuick.Controls 2.\1
-
- ApplicationWindow {
- id: window
- width: 200
- height: 228
- visible: true
-
- Drawer {
- id: drawer
- width: 0.66 * window.width
- height: window.height
- }
-
- Label {
- id: content
-
- text: "Aa"
- font.pixelSize: 96
- anchors.fill: parent
- verticalAlignment: Label.AlignVCenter
- horizontalAlignment: Label.AlignHCenter
-
- transform: Translate {
- x: drawer.position * content.width * 0.33
- }
- }
- }
- \endcode
-
- If you would like the application's contents to stay where they are when
- the drawer is opened, don't apply a translation.
-
- Drawer can be configured as a non-closable persistent side panel by
- making the Drawer \l {Popup::modal}{non-modal} and \l {interactive}
- {non-interactive}. See the \l {Qt Quick Controls 2 - Side Panel}{Side Panel}
- example for more details.
-
- \note On some platforms, certain edges may be reserved for system
- gestures and therefore cannot be used with Drawer. For example, the
- top and bottom edges may be reserved for system notifications and
- control centers on Android and iOS.
-
- \sa SwipeView, {Customizing Drawer}, {Navigation Controls}, {Popup Controls}
-*/
-
-class QQuickDrawerPositioner : public QQuickPopupPositioner
-{
-public:
- QQuickDrawerPositioner(QQuickDrawer *drawer) : QQuickPopupPositioner(drawer) { }
-
- void reposition() override;
-};
-
-qreal QQuickDrawerPrivate::offsetAt(const QPointF &point) const
-{
- qreal offset = positionAt(point) - position;
-
- // don't jump when dragged open
- if (offset > 0 && position > 0 && !contains(point))
- offset = 0;
-
- return offset;
-}
-
-qreal QQuickDrawerPrivate::positionAt(const QPointF &point) const
-{
- Q_Q(const QQuickDrawer);
- QQuickWindow *window = q->window();
- if (!window)
- return 0;
-
- switch (edge) {
- case Qt::TopEdge:
- return point.y() / q->height();
- case Qt::LeftEdge:
- return point.x() / q->width();
- case Qt::RightEdge:
- return (window->width() - point.x()) / q->width();
- case Qt::BottomEdge:
- return (window->height() - point.y()) / q->height();
- default:
- return 0;
- }
-}
-
-QQuickPopupPositioner *QQuickDrawerPrivate::getPositioner()
-{
- Q_Q(QQuickDrawer);
- if (!positioner)
- positioner = new QQuickDrawerPositioner(q);
- return positioner;
-}
-
-void QQuickDrawerPositioner::reposition()
-{
- if (m_positioning)
- return;
-
- QQuickDrawer *drawer = static_cast<QQuickDrawer*>(popup());
- QQuickWindow *window = drawer->window();
- if (!window)
- return;
-
- const qreal position = drawer->position();
- QQuickItem *popupItem = drawer->popupItem();
- switch (drawer->edge()) {
- case Qt::LeftEdge:
- popupItem->setX((position - 1.0) * popupItem->width());
- break;
- case Qt::RightEdge:
- popupItem->setX(window->width() - position * popupItem->width());
- break;
- case Qt::TopEdge:
- popupItem->setY((position - 1.0) * popupItem->height());
- break;
- case Qt::BottomEdge:
- popupItem->setY(window->height() - position * popupItem->height());
- break;
- }
-
- QQuickPopupPositioner::reposition();
-}
-
-void QQuickDrawerPrivate::showOverlay()
-{
- // managed in setPosition()
-}
-
-void QQuickDrawerPrivate::hideOverlay()
-{
- // managed in setPosition()
-}
-
-void QQuickDrawerPrivate::resizeOverlay()
-{
- if (!dimmer || !window)
- return;
-
- QRectF geometry(0, 0, window->width(), window->height());
-
- if (edge == Qt::LeftEdge || edge == Qt::RightEdge) {
- geometry.setY(popupItem->y());
- geometry.setHeight(popupItem->height());
- } else {
- geometry.setX(popupItem->x());
- geometry.setWidth(popupItem->width());
- }
-
- dimmer->setPosition(geometry.topLeft());
- dimmer->setSize(geometry.size());
-}
-
-static bool isWithinDragMargin(const QQuickDrawer *drawer, const QPointF &pos)
-{
- switch (drawer->edge()) {
- case Qt::LeftEdge:
- return pos.x() <= drawer->dragMargin();
- case Qt::RightEdge:
- return pos.x() >= drawer->window()->width() - drawer->dragMargin();
- case Qt::TopEdge:
- return pos.y() <= drawer->dragMargin();
- case Qt::BottomEdge:
- return pos.y() >= drawer->window()->height() - drawer->dragMargin();
- default:
- Q_UNREACHABLE();
- break;
- }
- return false;
-}
-
-bool QQuickDrawerPrivate::startDrag(QEvent *event)
-{
- Q_Q(QQuickDrawer);
- if (!window || !interactive || dragMargin < 0.0 || qFuzzyIsNull(dragMargin))
- return false;
-
- switch (event->type()) {
- case QEvent::MouseButtonPress:
- if (isWithinDragMargin(q, static_cast<QMouseEvent *>(event)->windowPos())) {
- prepareEnterTransition();
- reposition();
- return handleMouseEvent(window->contentItem(), static_cast<QMouseEvent *>(event));
- }
- break;
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- for (const QTouchEvent::TouchPoint &point : static_cast<QTouchEvent *>(event)->touchPoints()) {
- if (point.state() == Qt::TouchPointPressed && isWithinDragMargin(q, point.scenePos())) {
- prepareEnterTransition();
- reposition();
- return handleTouchEvent(window->contentItem(), static_cast<QTouchEvent *>(event));
- }
- }
- break;
-#endif
-
- default:
- break;
- }
-
- return false;
-}
-
-static inline bool keepGrab(QQuickItem *item)
-{
- return item->keepMouseGrab() || item->keepTouchGrab();
-}
-
-bool QQuickDrawerPrivate::grabMouse(QQuickItem *item, QMouseEvent *event)
-{
- Q_Q(QQuickDrawer);
- handleMouseEvent(item, event);
-
- if (!window || !interactive || keepGrab(popupItem) || keepGrab(item))
- return false;
-
- const QPointF movePoint = event->windowPos();
-
- // Flickable uses a hard-coded threshold of 15 for flicking, and
- // QStyleHints::startDragDistance for dragging. Drawer uses a bit
- // larger threshold to avoid being too eager to steal touch (QTBUG-50045)
- const int threshold = qMax(20, QGuiApplication::styleHints()->startDragDistance() + 5);
- bool overThreshold = false;
- if (position > 0 || dragMargin > 0) {
- const bool xOverThreshold = QQuickWindowPrivate::dragOverThreshold(movePoint.x() - pressPoint.x(), Qt::XAxis, event, threshold);
- const bool yOverThreshold = QQuickWindowPrivate::dragOverThreshold(movePoint.y() - pressPoint.y(), Qt::YAxis, event, threshold);
- if (edge == Qt::LeftEdge || edge == Qt::RightEdge)
- overThreshold = xOverThreshold && !yOverThreshold;
- else
- overThreshold = yOverThreshold && !xOverThreshold;
- }
-
- // Don't be too eager to steal presses outside the drawer (QTBUG-53929)
- if (overThreshold && qFuzzyCompare(position, qreal(1.0)) && !contains(movePoint)) {
- if (edge == Qt::LeftEdge || edge == Qt::RightEdge)
- overThreshold = qAbs(movePoint.x() - q->width()) < dragMargin;
- else
- overThreshold = qAbs(movePoint.y() - q->height()) < dragMargin;
- }
-
- if (overThreshold) {
- popupItem->grabMouse();
- popupItem->setKeepMouseGrab(true);
- offset = offsetAt(movePoint);
- }
-
- return overThreshold;
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-bool QQuickDrawerPrivate::grabTouch(QQuickItem *item, QTouchEvent *event)
-{
- Q_Q(QQuickDrawer);
- bool handled = handleTouchEvent(item, event);
-
- if (!window || !interactive || keepGrab(popupItem) || keepGrab(item) || !event->touchPointStates().testFlag(Qt::TouchPointMoved))
- return handled;
-
- bool overThreshold = false;
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (!acceptTouch(point) || point.state() != Qt::TouchPointMoved)
- continue;
-
- const QPointF movePoint = point.scenePos();
-
- // Flickable uses a hard-coded threshold of 15 for flicking, and
- // QStyleHints::startDragDistance for dragging. Drawer uses a bit
- // larger threshold to avoid being too eager to steal touch (QTBUG-50045)
- const int threshold = qMax(20, QGuiApplication::styleHints()->startDragDistance() + 5);
- if (position > 0 || dragMargin > 0) {
- const bool xOverThreshold = QQuickWindowPrivate::dragOverThreshold(movePoint.x() - pressPoint.x(), Qt::XAxis, &point, threshold);
- const bool yOverThreshold = QQuickWindowPrivate::dragOverThreshold(movePoint.y() - pressPoint.y(), Qt::YAxis, &point, threshold);
- if (edge == Qt::LeftEdge || edge == Qt::RightEdge)
- overThreshold = xOverThreshold && !yOverThreshold;
- else
- overThreshold = yOverThreshold && !xOverThreshold;
- }
-
- // Don't be too eager to steal presses outside the drawer (QTBUG-53929)
- if (overThreshold && qFuzzyCompare(position, qreal(1.0)) && !contains(movePoint)) {
- if (edge == Qt::LeftEdge || edge == Qt::RightEdge)
- overThreshold = qAbs(movePoint.x() - q->width()) < dragMargin;
- else
- overThreshold = qAbs(movePoint.y() - q->height()) < dragMargin;
- }
-
- if (overThreshold) {
- popupItem->grabTouchPoints(QVector<int>() << touchId);
- popupItem->setKeepTouchGrab(true);
- offset = offsetAt(movePoint);
- }
- }
-
- return overThreshold;
-}
-#endif
-
-static const qreal openCloseVelocityThreshold = 300;
-
-bool QQuickDrawerPrivate::blockInput(QQuickItem *item, const QPointF &point) const
-{
- Q_Q(const QQuickDrawer);
-
- // We want all events, if mouse/touch is already grabbed.
- if (popupItem->keepMouseGrab() || popupItem->keepTouchGrab())
- return true;
-
- // Don't block input to drawer's children/content.
- if (popupItem->isAncestorOf(item))
- return false;
-
- // Don't block outside a drawer's background dimming
- if (dimmer && !dimmer->contains(dimmer->mapFromScene(point)))
- return false;
-
- // Accept all events within drag area.
- if (isWithinDragMargin(q, point))
- return true;
-
- // Accept all other events if drawer is modal.
- return modal;
-}
-
-bool QQuickDrawerPrivate::handlePress(QQuickItem *item, const QPointF &point, ulong timestamp)
-{
- offset = 0;
- velocityCalculator.startMeasuring(point, timestamp);
-
- if (!QQuickPopupPrivate::handlePress(item, point, timestamp))
- return false;
-
- return true;
-}
-
-bool QQuickDrawerPrivate::handleMove(QQuickItem *item, const QPointF &point, ulong timestamp)
-{
- Q_Q(QQuickDrawer);
- if (!QQuickPopupPrivate::handleMove(item, point, timestamp))
- return false;
-
- // limit/reset the offset to the edge of the drawer when pushed from the outside
- if (qFuzzyCompare(position, qreal(1.0)) && !contains(point))
- offset = 0;
-
- bool isGrabbed = popupItem->keepMouseGrab() || popupItem->keepTouchGrab();
- if (isGrabbed)
- q->setPosition(positionAt(point) - offset);
-
- return isGrabbed;
-}
-
-bool QQuickDrawerPrivate::handleRelease(QQuickItem *item, const QPointF &point, ulong timestamp)
-{
- if (!popupItem->keepMouseGrab() && !popupItem->keepTouchGrab()) {
- velocityCalculator.reset();
- return QQuickPopupPrivate::handleRelease(item, point, timestamp);
- }
-
- velocityCalculator.stopMeasuring(point, timestamp);
-
- qreal velocity = 0;
- if (edge == Qt::LeftEdge || edge == Qt::RightEdge)
- velocity = velocityCalculator.velocity().x();
- else
- velocity = velocityCalculator.velocity().y();
-
- // the velocity is calculated so that swipes from left to right
- // and top to bottom have positive velocity, and swipes from right
- // to left and bottom to top have negative velocity.
- //
- // - top/left edge: positive velocity opens, negative velocity closes
- // - bottom/right edge: negative velocity opens, positive velocity closes
- //
- // => invert the velocity for bottom and right edges, for the threshold comparison below
- if (edge == Qt::RightEdge || edge == Qt::BottomEdge)
- velocity = -velocity;
-
- if (position > 0.7 || velocity > openCloseVelocityThreshold) {
- transitionManager.transitionEnter();
- } else if (position < 0.3 || velocity < -openCloseVelocityThreshold) {
- transitionManager.transitionExit();
- } else {
- switch (edge) {
- case Qt::LeftEdge:
- if (point.x() - pressPoint.x() > 0)
- transitionManager.transitionEnter();
- else
- transitionManager.transitionExit();
- break;
- case Qt::RightEdge:
- if (point.x() - pressPoint.x() < 0)
- transitionManager.transitionEnter();
- else
- transitionManager.transitionExit();
- break;
- case Qt::TopEdge:
- if (point.y() - pressPoint.y() > 0)
- transitionManager.transitionEnter();
- else
- transitionManager.transitionExit();
- break;
- case Qt::BottomEdge:
- if (point.y() - pressPoint.y() < 0)
- transitionManager.transitionEnter();
- else
- transitionManager.transitionExit();
- break;
- }
- }
-
- bool wasGrabbed = popupItem->keepMouseGrab() || popupItem->keepTouchGrab();
- popupItem->setKeepMouseGrab(false);
- popupItem->setKeepTouchGrab(false);
-
- pressPoint = QPointF();
- touchId = -1;
-
- return wasGrabbed;
-}
-
-void QQuickDrawerPrivate::handleUngrab()
-{
- QQuickPopupPrivate::handleUngrab();
-
- velocityCalculator.reset();
-}
-
-static QList<QQuickStateAction> prepareTransition(QQuickDrawer *drawer, QQuickTransition *transition, qreal to)
-{
- QList<QQuickStateAction> actions;
- if (!transition || !QQuickPopupPrivate::get(drawer)->window || !transition->enabled())
- return actions;
-
- qmlExecuteDeferred(transition);
-
- QQmlProperty defaultTarget(drawer, QLatin1String("position"));
- QQmlListProperty<QQuickAbstractAnimation> animations = transition->animations();
- int count = animations.count(&animations);
- for (int i = 0; i < count; ++i) {
- QQuickAbstractAnimation *anim = animations.at(&animations, i);
- anim->setDefaultTarget(defaultTarget);
- }
-
- actions << QQuickStateAction(drawer, QLatin1String("position"), to);
- return actions;
-}
-
-bool QQuickDrawerPrivate::prepareEnterTransition()
-{
- Q_Q(QQuickDrawer);
- enterActions = prepareTransition(q, enter, 1.0);
- return QQuickPopupPrivate::prepareEnterTransition();
-}
-
-bool QQuickDrawerPrivate::prepareExitTransition()
-{
- Q_Q(QQuickDrawer);
- exitActions = prepareTransition(q, exit, 0.0);
- return QQuickPopupPrivate::prepareExitTransition();
-}
-
-bool QQuickDrawerPrivate::setEdge(Qt::Edge e)
-{
- Q_Q(QQuickDrawer);
- switch (e) {
- case Qt::LeftEdge:
- case Qt::RightEdge:
- allowVerticalMove = true;
- allowVerticalResize = true;
- allowHorizontalMove = false;
- allowHorizontalResize = false;
- break;
- case Qt::TopEdge:
- case Qt::BottomEdge:
- allowVerticalMove = false;
- allowVerticalResize = false;
- allowHorizontalMove = true;
- allowHorizontalResize = true;
- break;
- default:
- qmlWarning(q) << "invalid edge value - valid values are: "
- << "Qt.TopEdge, Qt.LeftEdge, Qt.RightEdge, Qt.BottomEdge";
- return false;
- }
-
- edge = e;
- return true;
-}
-
-QQuickDrawer::QQuickDrawer(QObject *parent)
- : QQuickPopup(*(new QQuickDrawerPrivate), parent)
-{
- Q_D(QQuickDrawer);
- d->dragMargin = QGuiApplication::styleHints()->startDragDistance();
- d->setEdge(Qt::LeftEdge);
-
- setFocus(true);
- setModal(true);
- setFiltersChildMouseEvents(true);
- setClosePolicy(CloseOnEscape | CloseOnReleaseOutside);
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Drawer::edge
-
- This property holds the edge of the window at which the drawer will
- open from. The acceptable values are:
-
- \value Qt.TopEdge The top edge of the window.
- \value Qt.LeftEdge The left edge of the window (default).
- \value Qt.RightEdge The right edge of the window.
- \value Qt.BottomEdge The bottom edge of the window.
-*/
-Qt::Edge QQuickDrawer::edge() const
-{
- Q_D(const QQuickDrawer);
- return d->edge;
-}
-
-void QQuickDrawer::setEdge(Qt::Edge edge)
-{
- Q_D(QQuickDrawer);
- if (d->edge == edge)
- return;
-
- if (!d->setEdge(edge))
- return;
-
- if (isComponentComplete())
- d->reposition();
- emit edgeChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Drawer::position
-
- This property holds the position of the drawer relative to its final
- destination. That is, the position will be \c 0.0 when the drawer
- is fully closed, and \c 1.0 when fully open.
-*/
-qreal QQuickDrawer::position() const
-{
- Q_D(const QQuickDrawer);
- return d->position;
-}
-
-void QQuickDrawer::setPosition(qreal position)
-{
- Q_D(QQuickDrawer);
- position = qBound<qreal>(0.0, position, 1.0);
- if (qFuzzyCompare(d->position, position))
- return;
-
- d->position = position;
- if (isComponentComplete())
- d->reposition();
- if (d->dimmer)
- d->dimmer->setOpacity(position);
- emit positionChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Drawer::dragMargin
-
- This property holds the distance from the screen edge within which
- drag actions will open the drawer. Setting the value to \c 0 or less
- prevents opening the drawer by dragging.
-
- The default value is \c Qt.styleHints.startDragDistance.
-
- \sa interactive
-*/
-qreal QQuickDrawer::dragMargin() const
-{
- Q_D(const QQuickDrawer);
- return d->dragMargin;
-}
-
-void QQuickDrawer::setDragMargin(qreal margin)
-{
- Q_D(QQuickDrawer);
- if (qFuzzyCompare(d->dragMargin, margin))
- return;
-
- d->dragMargin = margin;
- emit dragMarginChanged();
-}
-
-void QQuickDrawer::resetDragMargin()
-{
- setDragMargin(QGuiApplication::styleHints()->startDragDistance());
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::Drawer::interactive
-
- This property holds whether the drawer is interactive. A non-interactive
- drawer does not react to swipes.
-
- The default value is \c true.
-
- \sa dragMargin
-*/
-bool QQuickDrawer::isInteractive() const
-{
- Q_D(const QQuickDrawer);
- return d->interactive;
-}
-
-void QQuickDrawer::setInteractive(bool interactive)
-{
- Q_D(QQuickDrawer);
- if (d->interactive == interactive)
- return;
-
- setFiltersChildMouseEvents(interactive);
- d->interactive = interactive;
- emit interactiveChanged();
-}
-
-bool QQuickDrawer::childMouseEventFilter(QQuickItem *child, QEvent *event)
-{
- Q_D(QQuickDrawer);
- switch (event->type()) {
-#if QT_CONFIG(quicktemplates2_multitouch)
- case QEvent::TouchUpdate:
- return d->grabTouch(child, static_cast<QTouchEvent *>(event));
-#endif
- case QEvent::MouseMove:
- return d->grabMouse(child, static_cast<QMouseEvent *>(event));
- case QEvent::MouseButtonPress:
- case QEvent::MouseButtonRelease:
- return d->handleMouseEvent(child, static_cast<QMouseEvent *>(event));
- default:
- break;
- }
- return false;
-}
-
-void QQuickDrawer::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickDrawer);
- d->grabMouse(d->popupItem, event);
-}
-
-bool QQuickDrawer::overlayEvent(QQuickItem *item, QEvent *event)
-{
- Q_D(QQuickDrawer);
- switch (event->type()) {
-#if QT_CONFIG(quicktemplates2_multitouch)
- case QEvent::TouchUpdate:
- return d->grabTouch(item, static_cast<QTouchEvent *>(event));
-#endif
- case QEvent::MouseMove:
- return d->grabMouse(item, static_cast<QMouseEvent *>(event));
- default:
- break;
- }
- return QQuickPopup::overlayEvent(item, event);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickDrawer::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickDrawer);
- d->grabTouch(d->popupItem, event);
-}
-#endif
-
-void QQuickDrawer::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickDrawer);
- QQuickPopup::geometryChanged(newGeometry, oldGeometry);
- d->resizeOverlay();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdrawer_p.h b/src/quicktemplates2/qquickdrawer_p.h
deleted file mode 100644
index f0fc1b4c..00000000
--- a/src/quicktemplates2/qquickdrawer_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDRAWER_P_H
-#define QQUICKDRAWER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDrawerPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDrawer : public QQuickPopup
-{
- Q_OBJECT
- Q_PROPERTY(Qt::Edge edge READ edge WRITE setEdge NOTIFY edgeChanged FINAL)
- Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal dragMargin READ dragMargin WRITE setDragMargin RESET resetDragMargin NOTIFY dragMarginChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged FINAL REVISION 2)
-
-public:
- explicit QQuickDrawer(QObject *parent = nullptr);
-
- Qt::Edge edge() const;
- void setEdge(Qt::Edge edge);
-
- qreal position() const;
- void setPosition(qreal position);
-
- qreal dragMargin() const;
- void setDragMargin(qreal margin);
- void resetDragMargin();
-
- // 2.2 (Qt 5.9)
- bool isInteractive() const;
- void setInteractive(bool interactive);
-
-Q_SIGNALS:
- void edgeChanged();
- void positionChanged();
- void dragMarginChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void interactiveChanged();
-
-protected:
- bool childMouseEventFilter(QQuickItem *child, QEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- bool overlayEvent(QQuickItem *item, QEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
-private:
- Q_DISABLE_COPY(QQuickDrawer)
- Q_DECLARE_PRIVATE(QQuickDrawer)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickDrawer)
-
-#endif // QQUICKDRAWER_P_H
diff --git a/src/quicktemplates2/qquickdrawer_p_p.h b/src/quicktemplates2/qquickdrawer_p_p.h
deleted file mode 100644
index 5f1086de..00000000
--- a/src/quicktemplates2/qquickdrawer_p_p.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKDRAWER_P_P_H
-#define QQUICKDRAWER_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickdrawer_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
-#include <QtQuickTemplates2/private/qquickvelocitycalculator_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDrawerPrivate : public QQuickPopupPrivate
-{
- Q_DECLARE_PUBLIC(QQuickDrawer)
-
-public:
- static QQuickDrawerPrivate *get(QQuickDrawer *drawer)
- {
- return drawer->d_func();
- }
-
- qreal offsetAt(const QPointF &point) const;
- qreal positionAt(const QPointF &point) const;
-
- QQuickPopupPositioner *getPositioner() override;
- void showOverlay() override;
- void hideOverlay() override;
- void resizeOverlay() override;
-
- bool startDrag(QEvent *event);
- bool grabMouse(QQuickItem *item, QMouseEvent *event);
-#if QT_CONFIG(quicktemplates2_multitouch)
- bool grabTouch(QQuickItem *item, QTouchEvent *event);
-#endif
- bool blockInput(QQuickItem *item, const QPointF &point) const override;
-
- bool handlePress(QQuickItem* item, const QPointF &point, ulong timestamp) override;
- bool handleMove(QQuickItem* item, const QPointF &point, ulong timestamp) override;
- bool handleRelease(QQuickItem* item, const QPointF &point, ulong timestamp) override;
- void handleUngrab() override;
-
- bool prepareEnterTransition() override;
- bool prepareExitTransition() override;
-
- bool setEdge(Qt::Edge edge);
-
- Qt::Edge edge = Qt::LeftEdge;
- qreal offset = 0;
- qreal position = 0;
- qreal dragMargin = 0;
- QQuickVelocityCalculator velocityCalculator;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKDRAWER_P_P_H
diff --git a/src/quicktemplates2/qquickframe.cpp b/src/quicktemplates2/qquickframe.cpp
deleted file mode 100644
index f880d917..00000000
--- a/src/quicktemplates2/qquickframe.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickframe_p.h"
-#include "qquickframe_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Frame
- \inherits Pane
- \instantiates QQuickFrame
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \brief Visual frame for a logical group of controls.
-
- Frame is used to layout a logical group of controls together within a
- visual frame. Frame does not provide a layout of its own, but requires
- you to position its contents, for instance by creating a \l RowLayout
- or a \l ColumnLayout.
-
- Items declared as children of a Frame are automatically parented to the
- Frame's \l {Control::}{contentItem}. Items created dynamically need to be
- explicitly parented to the contentItem.
-
- If only a single item is used within a Frame, it will resize to fit the
- implicit size of its contained item. This makes it particularly suitable
- for use together with layouts.
-
- \image qtquickcontrols2-frame.png
-
- \snippet qtquickcontrols2-frame.qml 1
-
- \sa {Customizing Frame}, {Container Controls}
-*/
-
-QQuickFrame::QQuickFrame(QQuickItem *parent)
- : QQuickPane(*(new QQuickFramePrivate), parent)
-{
-}
-
-QQuickFrame::QQuickFrame(QQuickFramePrivate &dd, QQuickItem *parent)
- : QQuickPane(dd, parent)
-{
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickFrame::accessibleRole() const
-{
- return QAccessible::Border;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickframe_p.h b/src/quicktemplates2/qquickframe_p.h
deleted file mode 100644
index 381088ec..00000000
--- a/src/quicktemplates2/qquickframe_p.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFRAME_P_H
-#define QQUICKFRAME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpane_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFramePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickFrame : public QQuickPane
-{
- Q_OBJECT
-
-public:
- explicit QQuickFrame(QQuickItem *parent = nullptr);
-
-protected:
- QQuickFrame(QQuickFramePrivate &dd, QQuickItem *parent);
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickFrame)
- Q_DECLARE_PRIVATE(QQuickFrame)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFrame)
-
-#endif // QQUICKFRAME_P_H
diff --git a/src/quicktemplates2/qquickframe_p_p.h b/src/quicktemplates2/qquickframe_p_p.h
deleted file mode 100644
index ad392dc3..00000000
--- a/src/quicktemplates2/qquickframe_p_p.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKFRAME_P_P_H
-#define QQUICKFRAME_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpane_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFrame;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickFramePrivate : public QQuickPanePrivate
-{
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFRAME_P_P_H
diff --git a/src/quicktemplates2/qquickgroupbox.cpp b/src/quicktemplates2/qquickgroupbox.cpp
deleted file mode 100644
index 7f3c7a2d..00000000
--- a/src/quicktemplates2/qquickgroupbox.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickgroupbox_p.h"
-#include "qquickframe_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype GroupBox
- \inherits Frame
- \instantiates QQuickGroupBox
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \brief Visual frame and title for a logical group of controls.
-
- GroupBox is used to layout a logical group of controls together, within
- a \l {title}{titled} visual frame. GroupBox does not provide a layout of its own, but
- requires you to position its contents, for instance by creating a \l RowLayout
- or a \l ColumnLayout.
-
- Items declared as children of a GroupBox are automatically parented to the
- GroupBox's \l {Control::}{contentItem}. Items created dynamically need to be
- explicitly parented to the contentItem.
-
- If only a single item is used within a GroupBox, it will resize to fit the
- implicit size of its contained item. This makes it particularly suitable
- for use together with layouts.
-
- \image qtquickcontrols2-groupbox.png
-
- \snippet qtquickcontrols2-groupbox.qml 1
-
- \section2 Checkable GroupBox
-
- Even though GroupBox has no built-in check box, it is straightforward
- to create a checkable GroupBox by pairing it with a CheckBox.
-
- \image qtquickcontrols2-groupbox-checkable.png
-
- It is a common pattern to enable or disable the groupbox's children when
- its checkbox is toggled on or off, but it is up to the application to decide
- on the behavior of the checkbox.
-
- \snippet qtquickcontrols2-groupbox-checkable.qml 1
-
- \sa CheckBox, {Customizing GroupBox}, {Container Controls}
-*/
-
-class QQuickGroupBoxPrivate : public QQuickFramePrivate
-{
- Q_DECLARE_PUBLIC(QQuickGroupBox)
-
-public:
- void cancelLabel();
- void executeLabel(bool complete = false);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- QString title;
- QQuickDeferredPointer<QQuickItem> label;
-};
-
-static inline QString labelName() { return QStringLiteral("label"); }
-
-void QQuickGroupBoxPrivate::cancelLabel()
-{
- Q_Q(QQuickGroupBox);
- quickCancelDeferred(q, labelName());
-}
-
-void QQuickGroupBoxPrivate::executeLabel(bool complete)
-{
- Q_Q(QQuickGroupBox);
- if (label.wasExecuted())
- return;
-
- if (!label || complete)
- quickBeginDeferred(q, labelName(), label);
- if (complete)
- quickCompleteDeferred(q, labelName(), label);
-}
-
-void QQuickGroupBoxPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickGroupBox);
- QQuickFramePrivate::itemImplicitWidthChanged(item);
- if (item == label)
- emit q->implicitLabelWidthChanged();
-}
-
-void QQuickGroupBoxPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickGroupBox);
- QQuickFramePrivate::itemImplicitHeightChanged(item);
- if (item == label)
- emit q->implicitLabelHeightChanged();
-}
-
-QQuickGroupBox::QQuickGroupBox(QQuickItem *parent)
- : QQuickFrame(*(new QQuickGroupBoxPrivate), parent)
-{
-}
-
-QQuickGroupBox::~QQuickGroupBox()
-{
- Q_D(QQuickGroupBox);
- d->removeImplicitSizeListener(d->label);
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::GroupBox::title
-
- This property holds the title.
-
- The title is typically displayed above the groupbox to
- summarize its contents.
-*/
-QString QQuickGroupBox::title() const
-{
- Q_D(const QQuickGroupBox);
- return d->title;
-}
-
-void QQuickGroupBox::setTitle(const QString &title)
-{
- Q_D(QQuickGroupBox);
- if (d->title == title)
- return;
-
- d->title = title;
- setAccessibleName(title);
- emit titleChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::GroupBox::label
-
- This property holds the label item that visualizes \l title.
-
- \sa {Customizing GroupBox}
-*/
-QQuickItem *QQuickGroupBox::label() const
-{
- QQuickGroupBoxPrivate *d = const_cast<QQuickGroupBoxPrivate *>(d_func());
- if (!d->label)
- d->executeLabel();
- return d->label;
-}
-
-void QQuickGroupBox::setLabel(QQuickItem *label)
-{
- Q_D(QQuickGroupBox);
- if (d->label == label)
- return;
-
- if (!d->label.isExecuting())
- d->cancelLabel();
-
- const qreal oldImplicitLabelWidth = implicitLabelWidth();
- const qreal oldImplicitLabelHeight = implicitLabelHeight();
-
- d->removeImplicitSizeListener(d->label);
- delete d->label;
- d->label = label;
-
- if (label) {
- if (!label->parentItem())
- label->setParentItem(this);
- d->addImplicitSizeListener(label);
- }
-
- if (!qFuzzyCompare(oldImplicitLabelWidth, implicitLabelWidth()))
- emit implicitLabelWidthChanged();
- if (!qFuzzyCompare(oldImplicitLabelHeight, implicitLabelHeight()))
- emit implicitLabelHeightChanged();
- if (!d->label.isExecuting())
- emit labelChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::GroupBox::implicitLabelWidth
- \readonly
-
- This property holds the implicit label width.
-
- The value is equal to \c {label ? label.implicitWidth : 0}.
-
- \sa implicitLabelHeight
-*/
-qreal QQuickGroupBox::implicitLabelWidth() const
-{
- Q_D(const QQuickGroupBox);
- if (!d->label)
- return 0;
- return d->label->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::GroupBox::implicitLabelHeight
- \readonly
-
- This property holds the implicit label height.
-
- The value is equal to \c {label ? label.implicitHeight : 0}.
-
- \sa implicitLabelWidth
-*/
-qreal QQuickGroupBox::implicitLabelHeight() const
-{
- Q_D(const QQuickGroupBox);
- if (!d->label)
- return 0;
- return d->label->implicitHeight();
-}
-
-void QQuickGroupBox::componentComplete()
-{
- Q_D(QQuickGroupBox);
- d->executeLabel(true);
- QQuickFrame::componentComplete();
-}
-
-QFont QQuickGroupBox::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::GroupBox);
-}
-
-QPalette QQuickGroupBox::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::GroupBox);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickGroupBox::accessibleRole() const
-{
- return QAccessible::Grouping;
-}
-
-void QQuickGroupBox::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickGroupBox);
- QQuickFrame::accessibilityActiveChanged(active);
-
- if (active)
- setAccessibleName(d->title);
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickgroupbox_p.h b/src/quicktemplates2/qquickgroupbox_p.h
deleted file mode 100644
index de36d7d7..00000000
--- a/src/quicktemplates2/qquickgroupbox_p.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKGROUPBOX_P_H
-#define QQUICKGROUPBOX_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickframe_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickGroupBoxPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickGroupBox : public QQuickFrame
-{
- Q_OBJECT
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(QQuickItem *label READ label WRITE setLabel NOTIFY labelChanged FINAL)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitLabelWidth READ implicitLabelWidth NOTIFY implicitLabelWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitLabelHeight READ implicitLabelHeight NOTIFY implicitLabelHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,contentItem,label")
-
-public:
- explicit QQuickGroupBox(QQuickItem *parent = nullptr);
- ~QQuickGroupBox();
-
- QString title() const;
- void setTitle(const QString &title);
-
- QQuickItem *label() const;
- void setLabel(QQuickItem *label);
-
- // 2.5 (Qt 5.12)
- qreal implicitLabelWidth() const;
- qreal implicitLabelHeight() const;
-
-Q_SIGNALS:
- void titleChanged();
- void labelChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void implicitLabelWidthChanged();
- Q_REVISION(5) void implicitLabelHeightChanged();
-
-protected:
- void componentComplete() override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickGroupBox)
- Q_DECLARE_PRIVATE(QQuickGroupBox)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickGroupBox)
-
-#endif // QQUICKGROUPBOX_P_H
diff --git a/src/quicktemplates2/qquickicon.cpp b/src/quicktemplates2/qquickicon.cpp
deleted file mode 100644
index bf0a4658..00000000
--- a/src/quicktemplates2/qquickicon.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickicon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickIconPrivate : public QSharedData
-{
-public:
- QString name;
- QUrl source;
- int width = 0;
- int height = 0;
- QColor color = Qt::transparent;
- bool cache = true;
-
- enum ResolveProperties {
- NameResolved = 0x0001,
- SourceResolved = 0x0002,
- WidthResolved = 0x0004,
- HeightResolved = 0x0008,
- ColorResolved = 0x0010,
- CacheResolved = 0x0020,
- AllPropertiesResolved = 0x1ffff
- };
-
- // This is based on QFont's resolve_mask.
- int resolveMask = 0;
-};
-
-QQuickIcon::QQuickIcon()
- : d(new QQuickIconPrivate)
-{
-}
-
-QQuickIcon::QQuickIcon(const QQuickIcon &other)
- : d(other.d)
-{
-}
-
-QQuickIcon::~QQuickIcon()
-{
-}
-
-QQuickIcon &QQuickIcon::operator=(const QQuickIcon &other)
-{
- d = other.d;
- return *this;
-}
-
-bool QQuickIcon::operator==(const QQuickIcon &other) const
-{
- return d == other.d || (d->name == other.d->name
- && d->source == other.d->source
- && d->width == other.d->width
- && d->height == other.d->height
- && d->color == other.d->color
- && d->cache == other.d->cache);
-}
-
-bool QQuickIcon::operator!=(const QQuickIcon &other) const
-{
- return !(*this == other);
-}
-
-bool QQuickIcon::isEmpty() const
-{
- return d->name.isEmpty() && d->source.isEmpty();
-}
-
-QString QQuickIcon::name() const
-{
- return d->name;
-}
-
-void QQuickIcon::setName(const QString &name)
-{
- if ((d->resolveMask & QQuickIconPrivate::NameResolved) && d->name == name)
- return;
-
- d.detach();
- d->name = name;
- d->resolveMask |= QQuickIconPrivate::NameResolved;
-}
-
-void QQuickIcon::resetName()
-{
- d.detach();
- d->name = QString();
- d->resolveMask &= ~QQuickIconPrivate::NameResolved;
-}
-
-QUrl QQuickIcon::source() const
-{
- return d->source;
-}
-
-void QQuickIcon::setSource(const QUrl &source)
-{
- if ((d->resolveMask & QQuickIconPrivate::SourceResolved) && d->source == source)
- return;
-
- d.detach();
- d->source = source;
- d->resolveMask |= QQuickIconPrivate::SourceResolved;
-}
-
-void QQuickIcon::resetSource()
-{
- d.detach();
- d->source = QString();
- d->resolveMask &= ~QQuickIconPrivate::SourceResolved;
-}
-
-int QQuickIcon::width() const
-{
- return d->width;
-}
-
-void QQuickIcon::setWidth(int width)
-{
- if ((d->resolveMask & QQuickIconPrivate::WidthResolved) && d->width == width)
- return;
-
- d.detach();
- d->width = width;
- d->resolveMask |= QQuickIconPrivate::WidthResolved;
-}
-
-void QQuickIcon::resetWidth()
-{
- d.detach();
- d->width = 0;
- d->resolveMask &= ~QQuickIconPrivate::WidthResolved;
-}
-
-int QQuickIcon::height() const
-{
- return d->height;
-}
-
-void QQuickIcon::setHeight(int height)
-{
- if ((d->resolveMask & QQuickIconPrivate::HeightResolved) && d->height == height)
- return;
-
- d.detach();
- d->height = height;
- d->resolveMask |= QQuickIconPrivate::HeightResolved;
-}
-
-void QQuickIcon::resetHeight()
-{
- d.detach();
- d->height = 0;
- d->resolveMask &= ~QQuickIconPrivate::HeightResolved;
-}
-
-QColor QQuickIcon::color() const
-{
- return d->color;
-}
-
-void QQuickIcon::setColor(const QColor &color)
-{
- if ((d->resolveMask & QQuickIconPrivate::ColorResolved) && d->color == color)
- return;
-
- d.detach();
- d->color = color;
- d->resolveMask |= QQuickIconPrivate::ColorResolved;
-}
-
-void QQuickIcon::resetColor()
-{
- d.detach();
- d->color = Qt::transparent;
- d->resolveMask &= ~QQuickIconPrivate::ColorResolved;
-}
-
-bool QQuickIcon::cache() const
-{
- return d->cache;
-}
-
-void QQuickIcon::setCache(bool cache)
-{
- if ((d->resolveMask & QQuickIconPrivate::CacheResolved) && d->cache == cache)
- return;
-
- d.detach();
- d->cache = cache;
- d->resolveMask |= QQuickIconPrivate::CacheResolved;
-}
-
-void QQuickIcon::resetCache()
-{
- d.detach();
- d->cache = true;
- d->resolveMask &= ~QQuickIconPrivate::CacheResolved;
-}
-
-QQuickIcon QQuickIcon::resolve(const QQuickIcon &other) const
-{
- QQuickIcon resolved = *this;
- resolved.d.detach();
-
- if (!(d->resolveMask & QQuickIconPrivate::NameResolved))
- resolved.d->name = other.d->name;
-
- if (!(d->resolveMask & QQuickIconPrivate::SourceResolved))
- resolved.d->source = other.d->source;
-
- if (!(d->resolveMask & QQuickIconPrivate::WidthResolved))
- resolved.d->width = other.d->width;
-
- if (!(d->resolveMask & QQuickIconPrivate::HeightResolved))
- resolved.d->height = other.d->height;
-
- if (!(d->resolveMask & QQuickIconPrivate::ColorResolved))
- resolved.d->color = other.d->color;
-
- if (!(d->resolveMask & QQuickIconPrivate::CacheResolved))
- resolved.d->cache = other.d->cache;
-
- return resolved;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickicon_p.h b/src/quicktemplates2/qquickicon_p.h
deleted file mode 100644
index 1835585d..00000000
--- a/src/quicktemplates2/qquickicon_p.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKICON_P_H
-#define QQUICKICON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qobjectdefs.h>
-#include <QtCore/qshareddata.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtGui/qcolor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickIconPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickIcon
-{
- Q_GADGET
- Q_PROPERTY(QString name READ name WRITE setName RESET resetName FINAL)
- Q_PROPERTY(QUrl source READ source WRITE setSource RESET resetSource FINAL)
- Q_PROPERTY(int width READ width WRITE setWidth RESET resetWidth FINAL)
- Q_PROPERTY(int height READ height WRITE setHeight RESET resetHeight FINAL)
- Q_PROPERTY(QColor color READ color WRITE setColor RESET resetColor FINAL)
- Q_PROPERTY(bool cache READ cache WRITE setCache RESET resetCache FINAL)
-
-public:
- QQuickIcon();
- QQuickIcon(const QQuickIcon &other);
- ~QQuickIcon();
-
- QQuickIcon& operator=(const QQuickIcon &other);
- bool operator==(const QQuickIcon &other) const;
- bool operator!=(const QQuickIcon &other) const;
-
- bool isEmpty() const;
-
- QString name() const;
- void setName(const QString &name);
- void resetName();
-
- QUrl source() const;
- void setSource(const QUrl &source);
- void resetSource();
-
- int width() const;
- void setWidth(int width);
- void resetWidth();
-
- int height() const;
- void setHeight(int height);
- void resetHeight();
-
- QColor color() const;
- void setColor(const QColor &color);
- void resetColor();
-
- bool cache() const;
- void setCache(bool cache);
- void resetCache();
-
- QQuickIcon resolve(const QQuickIcon &other) const;
-
-private:
- QExplicitlySharedDataPointer<QQuickIconPrivate> d;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKICON_P_H
diff --git a/src/quicktemplates2/qquickitemdelegate.cpp b/src/quicktemplates2/qquickitemdelegate.cpp
deleted file mode 100644
index 8156ab65..00000000
--- a/src/quicktemplates2/qquickitemdelegate.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickitemdelegate_p.h"
-#include "qquickitemdelegate_p_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ItemDelegate
- \inherits AbstractButton
- \instantiates QQuickItemDelegate
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \brief Basic item delegate that can be used in various views and controls.
-
- \image qtquickcontrols2-itemdelegate.gif
-
- ItemDelegate presents a standard view item. It can be used as a delegate
- in various views and controls, such as \l ListView and \l ComboBox.
-
- ItemDelegate inherits its API from AbstractButton. For instance, you can set
- \l {AbstractButton::text}{text}, display an \l {Icons in Qt Quick Controls}{icon},
- and react to \l {AbstractButton::clicked}{clicks} using the AbstractButton API.
-
- \snippet qtquickcontrols2-itemdelegate.qml 1
-
- \sa {Customizing ItemDelegate}, {Delegate Controls}
-*/
-
-QQuickItemDelegate::QQuickItemDelegate(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickItemDelegatePrivate), parent)
-{
- setFocusPolicy(Qt::NoFocus);
-}
-
-QQuickItemDelegate::QQuickItemDelegate(QQuickItemDelegatePrivate &dd, QQuickItem *parent)
- : QQuickAbstractButton(dd, parent)
-{
- setFocusPolicy(Qt::NoFocus);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ItemDelegate::highlighted
-
- This property holds whether the delegate is highlighted.
-
- A delegate can be highlighted in order to draw the user's attention towards
- it. It has no effect on keyboard interaction. For example, you can
- highlight the current item in a ListView using the following code:
-
- \code
- ListView {
- id: listView
- model: 10
- delegate: ItemDelegate {
- text: modelData
- highlighted: ListView.isCurrentItem
- onClicked: listView.currentIndex = index
- }
- }
- \endcode
-
- The default value is \c false.
-*/
-bool QQuickItemDelegate::isHighlighted() const
-{
- Q_D(const QQuickItemDelegate);
- return d->highlighted;
-}
-
-void QQuickItemDelegate::setHighlighted(bool highlighted)
-{
- Q_D(QQuickItemDelegate);
- if (highlighted == d->highlighted)
- return;
-
- d->highlighted = highlighted;
- emit highlightedChanged();
-}
-
-QFont QQuickItemDelegate::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ItemView);
-}
-
-QPalette QQuickItemDelegate::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ItemView);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickItemDelegate::accessibleRole() const
-{
- return QAccessible::ListItem;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickitemdelegate_p.h b/src/quicktemplates2/qquickitemdelegate_p.h
deleted file mode 100644
index 5d52f764..00000000
--- a/src/quicktemplates2/qquickitemdelegate_p.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKITEMDELEGATE_P_H
-#define QQUICKITEMDELEGATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItemDelegatePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickItemDelegate : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged FINAL)
-
-public:
- explicit QQuickItemDelegate(QQuickItem *parent = nullptr);
-
- bool isHighlighted() const;
- void setHighlighted(bool highlighted);
-
-Q_SIGNALS:
- void highlightedChanged();
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-protected:
- QQuickItemDelegate(QQuickItemDelegatePrivate &dd, QQuickItem *parent);
-
-private:
- Q_DISABLE_COPY(QQuickItemDelegate)
- Q_DECLARE_PRIVATE(QQuickItemDelegate)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickItemDelegate)
-
-#endif // QQUICKITEMDELEGATE_P_H
diff --git a/src/quicktemplates2/qquickitemdelegate_p_p.h b/src/quicktemplates2/qquickitemdelegate_p_p.h
deleted file mode 100644
index 4995f050..00000000
--- a/src/quicktemplates2/qquickitemdelegate_p_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKITEMDELEGATE_P_P_H
-#define QQUICKITEMDELEGATE_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItemDelegatePrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickItemDelegate)
-
-public:
- bool highlighted = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKITEMDELEGATE_P_P_H
diff --git a/src/quicktemplates2/qquicklabel.cpp b/src/quicktemplates2/qquicklabel.cpp
deleted file mode 100644
index 124483fb..00000000
--- a/src/quicktemplates2/qquicklabel.cpp
+++ /dev/null
@@ -1,650 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicklabel_p.h"
-#include "qquicklabel_p_p.h"
-#include "qquickcontrol_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquicktext_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtQuick/private/qquickaccessibleattached_p.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Label
- \inherits Text
- \instantiates QQuickLabel
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup text
- \brief Styled text label with inherited font.
-
- Label extends \l Text with styling and \l {Control::font}{font}
- inheritance. The default colors and font are style specific. Label
- can also have a visual \l background item.
-
- \image qtquickcontrols2-label.png
-
- \snippet qtquickcontrols2-label.qml 1
-
- You can use the properties of \l Text to change the appearance of the text as desired:
-
- \qml
- Label {
- text: "Hello world"
- font.pixelSize: 22
- font.italic: true
- }
- \endqml
-
- \sa {Customizing Label}
-*/
-
-QQuickLabelPrivate::QQuickLabelPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::installActivationObserver(this);
-#endif
-}
-
-QQuickLabelPrivate::~QQuickLabelPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::removeActivationObserver(this);
-#endif
-}
-
-void QQuickLabelPrivate::setTopInset(qreal value, bool reset)
-{
- Q_Q(QQuickLabel);
- const QMarginsF oldInset = getInset();
- extra.value().topInset = value;
- extra.value().hasTopInset = !reset;
- if (!qFuzzyCompare(oldInset.top(), value)) {
- emit q->topInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickLabelPrivate::setLeftInset(qreal value, bool reset)
-{
- Q_Q(QQuickLabel);
- const QMarginsF oldInset = getInset();
- extra.value().leftInset = value;
- extra.value().hasLeftInset = !reset;
- if (!qFuzzyCompare(oldInset.left(), value)) {
- emit q->leftInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickLabelPrivate::setRightInset(qreal value, bool reset)
-{
- Q_Q(QQuickLabel);
- const QMarginsF oldInset = getInset();
- extra.value().rightInset = value;
- extra.value().hasRightInset = !reset;
- if (!qFuzzyCompare(oldInset.right(), value)) {
- emit q->rightInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickLabelPrivate::setBottomInset(qreal value, bool reset)
-{
- Q_Q(QQuickLabel);
- const QMarginsF oldInset = getInset();
- extra.value().bottomInset = value;
- extra.value().hasBottomInset = !reset;
- if (!qFuzzyCompare(oldInset.bottom(), value)) {
- emit q->bottomInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickLabelPrivate::resizeBackground()
-{
- if (!background)
- return;
-
- resizingBackground = true;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (((!p->widthValid || !extra.isAllocated() || !extra->hasBackgroundWidth) && qFuzzyIsNull(background->x()))
- || (extra.isAllocated() && (extra->hasLeftInset || extra->hasRightInset))) {
- background->setX(getLeftInset());
- background->setWidth(width - getLeftInset() - getRightInset());
- }
- if (((!p->heightValid || !extra.isAllocated() || !extra->hasBackgroundHeight) && qFuzzyIsNull(background->y()))
- || (extra.isAllocated() && (extra->hasTopInset || extra->hasBottomInset))) {
- background->setY(getTopInset());
- background->setHeight(height - getTopInset() - getBottomInset());
- }
-
- resizingBackground = false;
-}
-
-/*!
- \internal
-
- Determine which font is implicitly imposed on this control by its ancestors
- and QGuiApplication::font, resolve this against its own font (attributes from
- the implicit font are copied over). Then propagate this font to this
- control's children.
-*/
-void QQuickLabelPrivate::resolveFont()
-{
- Q_Q(QQuickLabel);
- inheritFont(QQuickControlPrivate::parentFont(q));
-}
-
-void QQuickLabelPrivate::inheritFont(const QFont &font)
-{
- QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
- parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
-
- const QFont defaultFont = QQuickTheme::font(QQuickTheme::Label);
- const QFont resolvedFont = parentFont.resolve(defaultFont);
-
- setFont_helper(resolvedFont);
-}
-
-/*!
- \internal
-
- Assign \a font to this control, and propagate it to all children.
-*/
-void QQuickLabelPrivate::updateFont(const QFont &font)
-{
- Q_Q(QQuickLabel);
- QFont oldFont = sourceFont;
- q->QQuickText::setFont(font);
-
- QQuickControlPrivate::updateFontRecur(q, font);
-
- if (oldFont != font)
- emit q->fontChanged();
-}
-
-/*!
- \internal
-
- Determine which palette is implicitly imposed on this control by its ancestors
- and QGuiApplication::palette, resolve this against its own palette (attributes from
- the implicit palette are copied over). Then propagate this palette to this
- control's children.
-*/
-void QQuickLabelPrivate::resolvePalette()
-{
- Q_Q(QQuickLabel);
- inheritPalette(QQuickControlPrivate::parentPalette(q));
-}
-
-void QQuickLabelPrivate::inheritPalette(const QPalette &palette)
-{
- QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
- parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
-
- const QPalette defaultPalette = QQuickTheme::palette(QQuickTheme::Label);
- const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
-
- setPalette_helper(resolvedPalette);
-}
-
-void QQuickLabelPrivate::updatePalette(const QPalette &palette)
-{
- Q_Q(QQuickLabel);
- QPalette oldPalette = resolvedPalette;
- resolvedPalette = palette;
-
- QQuickControlPrivate::updatePaletteRecur(q, palette);
-
- if (oldPalette != palette)
- emit q->paletteChanged();
-}
-
-void QQuickLabelPrivate::textChanged(const QString &text)
-{
-#if QT_CONFIG(accessibility)
- Q_Q(QQuickLabel);
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(q))
- accessibleAttached->setName(text);
-#else
- Q_UNUSED(text)
-#endif
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickLabelPrivate::accessibilityActiveChanged(bool active)
-{
- if (!active)
- return;
-
- Q_Q(QQuickLabel);
- QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
- Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
- accessibleAttached->setName(text);
-}
-
-QAccessible::Role QQuickLabelPrivate::accessibleRole() const
-{
- return QAccessible::StaticText;
-}
-#endif
-
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
-void QQuickLabelPrivate::cancelBackground()
-{
- Q_Q(QQuickLabel);
- quickCancelDeferred(q, backgroundName());
-}
-
-void QQuickLabelPrivate::executeBackground(bool complete)
-{
- Q_Q(QQuickLabel);
- if (background.wasExecuted())
- return;
-
- if (!background || complete)
- quickBeginDeferred(q, backgroundName(), background);
- if (complete)
- quickCompleteDeferred(q, backgroundName(), background);
-}
-
-void QQuickLabelPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(diff);
- if (resizingBackground || item != background || !change.sizeChange())
- return;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- extra.value().hasBackgroundWidth = p->widthValid;
- extra.value().hasBackgroundHeight = p->heightValid;
- resizeBackground();
-}
-
-void QQuickLabelPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickLabel);
- if (item == background)
- emit q->implicitBackgroundWidthChanged();
-}
-
-void QQuickLabelPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickLabel);
- if (item == background)
- emit q->implicitBackgroundHeightChanged();
-}
-
-void QQuickLabelPrivate::itemDestroyed(QQuickItem *item)
-{
- Q_Q(QQuickLabel);
- if (item == background) {
- background = nullptr;
- emit q->implicitBackgroundWidthChanged();
- emit q->implicitBackgroundHeightChanged();
- }
-}
-
-QQuickLabel::QQuickLabel(QQuickItem *parent)
- : QQuickText(*(new QQuickLabelPrivate), parent)
-{
- Q_D(QQuickLabel);
- QObjectPrivate::connect(this, &QQuickText::textChanged, d, &QQuickLabelPrivate::textChanged);
-}
-
-QQuickLabel::~QQuickLabel()
-{
- Q_D(QQuickLabel);
- QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
-}
-
-QFont QQuickLabel::font() const
-{
- return QQuickText::font();
-}
-
-void QQuickLabel::setFont(const QFont &font)
-{
- Q_D(QQuickLabel);
- if (d->extra.value().requestedFont.resolve() == font.resolve() && d->extra.value().requestedFont == font)
- return;
-
- d->extra.value().requestedFont = font;
- d->resolveFont();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Label::background
-
- This property holds the background item.
-
- \note If the background item has no explicit size specified, it automatically
- follows the control's size. In most cases, there is no need to specify
- width or height for a background item.
-
- \sa {Customizing Label}
-*/
-QQuickItem *QQuickLabel::background() const
-{
- QQuickLabelPrivate *d = const_cast<QQuickLabelPrivate *>(d_func());
- if (!d->background)
- d->executeBackground();
- return d->background;
-}
-
-void QQuickLabel::setBackground(QQuickItem *background)
-{
- Q_D(QQuickLabel);
- if (d->background == background)
- return;
-
- if (!d->background.isExecuting())
- d->cancelBackground();
-
- const qreal oldImplicitBackgroundWidth = implicitBackgroundWidth();
- const qreal oldImplicitBackgroundHeight = implicitBackgroundHeight();
-
- if (d->extra.isAllocated()) {
- d->extra.value().hasBackgroundWidth = false;
- d->extra.value().hasBackgroundHeight = false;
- }
-
- QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- delete d->background;
- d->background = background;
-
- if (background) {
- background->setParentItem(this);
- if (qFuzzyIsNull(background->z()))
- background->setZ(-1);
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (p->widthValid || p->heightValid) {
- d->extra.value().hasBackgroundWidth = p->widthValid;
- d->extra.value().hasBackgroundHeight = p->heightValid;
- }
- if (isComponentComplete())
- d->resizeBackground();
- QQuickControlPrivate::addImplicitSizeListener(background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- }
-
- if (!qFuzzyCompare(oldImplicitBackgroundWidth, implicitBackgroundWidth()))
- emit implicitBackgroundWidthChanged();
- if (!qFuzzyCompare(oldImplicitBackgroundHeight, implicitBackgroundHeight()))
- emit implicitBackgroundHeightChanged();
- if (!d->background.isExecuting())
- emit backgroundChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty palette QtQuick.Controls::Label::palette
-
- This property holds the palette currently set for the label.
-
- \sa Control::palette
-*/
-QPalette QQuickLabel::palette() const
-{
- Q_D(const QQuickLabel);
- QPalette palette = d->resolvedPalette;
- if (!isEnabled())
- palette.setCurrentColorGroup(QPalette::Disabled);
- return palette;
-}
-
-void QQuickLabel::setPalette(const QPalette &palette)
-{
- Q_D(QQuickLabel);
- if (d->extra.value().requestedPalette.resolve() == palette.resolve() && d->extra.value().requestedPalette == palette)
- return;
-
- d->extra.value().requestedPalette = palette;
- d->resolvePalette();
-}
-
-void QQuickLabel::resetPalette()
-{
- setPalette(QPalette());
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Label::implicitBackgroundWidth
- \readonly
-
- This property holds the implicit background width.
-
- The value is equal to \c {background ? background.implicitWidth : 0}.
-
- \sa implicitBackgroundHeight
-*/
-qreal QQuickLabel::implicitBackgroundWidth() const
-{
- Q_D(const QQuickLabel);
- if (!d->background)
- return 0;
- return d->background->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Label::implicitBackgroundHeight
- \readonly
-
- This property holds the implicit background height.
-
- The value is equal to \c {background ? background.implicitHeight : 0}.
-
- \sa implicitBackgroundWidth
-*/
-qreal QQuickLabel::implicitBackgroundHeight() const
-{
- Q_D(const QQuickLabel);
- if (!d->background)
- return 0;
- return d->background->implicitHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Label::topInset
-
- This property holds the top inset for the background.
-
- \sa {Control Layout}, bottomInset
-*/
-qreal QQuickLabel::topInset() const
-{
- Q_D(const QQuickLabel);
- return d->getTopInset();
-}
-
-void QQuickLabel::setTopInset(qreal inset)
-{
- Q_D(QQuickLabel);
- d->setTopInset(inset);
-}
-
-void QQuickLabel::resetTopInset()
-{
- Q_D(QQuickLabel);
- d->setTopInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Label::leftInset
-
- This property holds the left inset for the background.
-
- \sa {Control Layout}, rightInset
-*/
-qreal QQuickLabel::leftInset() const
-{
- Q_D(const QQuickLabel);
- return d->getLeftInset();
-}
-
-void QQuickLabel::setLeftInset(qreal inset)
-{
- Q_D(QQuickLabel);
- d->setLeftInset(inset);
-}
-
-void QQuickLabel::resetLeftInset()
-{
- Q_D(QQuickLabel);
- d->setLeftInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Label::rightInset
-
- This property holds the right inset for the background.
-
- \sa {Control Layout}, leftInset
-*/
-qreal QQuickLabel::rightInset() const
-{
- Q_D(const QQuickLabel);
- return d->getRightInset();
-}
-
-void QQuickLabel::setRightInset(qreal inset)
-{
- Q_D(QQuickLabel);
- d->setRightInset(inset);
-}
-
-void QQuickLabel::resetRightInset()
-{
- Q_D(QQuickLabel);
- d->setRightInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Label::bottomInset
-
- This property holds the bottom inset for the background.
-
- \sa {Control Layout}, topInset
-*/
-qreal QQuickLabel::bottomInset() const
-{
- Q_D(const QQuickLabel);
- return d->getBottomInset();
-}
-
-void QQuickLabel::setBottomInset(qreal inset)
-{
- Q_D(QQuickLabel);
- d->setBottomInset(inset);
-}
-
-void QQuickLabel::resetBottomInset()
-{
- Q_D(QQuickLabel);
- d->setBottomInset(0, true);
-}
-
-void QQuickLabel::classBegin()
-{
- Q_D(QQuickLabel);
- QQuickText::classBegin();
- d->resolveFont();
- d->resolvePalette();
-}
-
-void QQuickLabel::componentComplete()
-{
- Q_D(QQuickLabel);
- d->executeBackground(true);
- QQuickText::componentComplete();
- d->resizeBackground();
-#if QT_CONFIG(accessibility)
- if (QAccessible::isActive())
- d->accessibilityActiveChanged(true);
-#endif
-}
-
-void QQuickLabel::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
-{
- Q_D(QQuickLabel);
- QQuickText::itemChange(change, value);
- switch (change) {
- case ItemEnabledHasChanged:
- emit paletteChanged();
- break;
- case ItemSceneChange:
- case ItemParentHasChanged:
- if ((change == ItemParentHasChanged && value.item) || (change == ItemSceneChange && value.window)) {
- d->resolveFont();
- d->resolvePalette();
- }
- break;
- default:
- break;
- }
-}
-
-void QQuickLabel::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickLabel);
- QQuickText::geometryChanged(newGeometry, oldGeometry);
- d->resizeBackground();
-}
-
-void QQuickLabel::insetChange(const QMarginsF &newInset, const QMarginsF &oldInset)
-{
- Q_D(QQuickLabel);
- Q_UNUSED(newInset);
- Q_UNUSED(oldInset);
- d->resizeBackground();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicklabel_p.h b/src/quicktemplates2/qquicklabel_p.h
deleted file mode 100644
index 89c9c77b..00000000
--- a/src/quicktemplates2/qquicklabel_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKLABEL_P_H
-#define QQUICKLABEL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpalette.h>
-#include <QtQuick/private/qquicktext_p.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickLabelPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickLabel : public QQuickText
-{
- Q_OBJECT
- Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged) // override
- Q_PROPERTY(QQuickItem *background READ background WRITE setBackground NOTIFY backgroundChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitBackgroundWidth READ implicitBackgroundWidth NOTIFY implicitBackgroundWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundHeight READ implicitBackgroundHeight NOTIFY implicitBackgroundHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal topInset READ topInset WRITE setTopInset RESET resetTopInset NOTIFY topInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal leftInset READ leftInset WRITE setLeftInset RESET resetLeftInset NOTIFY leftInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal rightInset READ rightInset WRITE setRightInset RESET resetRightInset NOTIFY rightInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal bottomInset READ bottomInset WRITE setBottomInset RESET resetBottomInset NOTIFY bottomInsetChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background")
-
-public:
- explicit QQuickLabel(QQuickItem *parent = nullptr);
- ~QQuickLabel();
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QQuickItem *background() const;
- void setBackground(QQuickItem *background);
-
- // 2.3 (Qt 5.10)
- QPalette palette() const;
- void setPalette(const QPalette &palette);
- void resetPalette();
-
- // 2.5 (Qt 5.12)
- qreal implicitBackgroundWidth() const;
- qreal implicitBackgroundHeight() const;
-
- qreal topInset() const;
- void setTopInset(qreal inset);
- void resetTopInset();
-
- qreal leftInset() const;
- void setLeftInset(qreal inset);
- void resetLeftInset();
-
- qreal rightInset() const;
- void setRightInset(qreal inset);
- void resetRightInset();
-
- qreal bottomInset() const;
- void setBottomInset(qreal inset);
- void resetBottomInset();
-
-Q_SIGNALS:
- void fontChanged();
- void backgroundChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void paletteChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void implicitBackgroundWidthChanged();
- Q_REVISION(5) void implicitBackgroundHeightChanged();
- Q_REVISION(5) void topInsetChanged();
- Q_REVISION(5) void leftInsetChanged();
- Q_REVISION(5) void rightInsetChanged();
- Q_REVISION(5) void bottomInsetChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- void itemChange(ItemChange change, const ItemChangeData &value) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- virtual void insetChange(const QMarginsF &newInset, const QMarginsF &oldInset);
-
-private:
- Q_DISABLE_COPY(QQuickLabel)
- Q_DECLARE_PRIVATE(QQuickLabel)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickLabel)
-
-#endif // QQUICKLABEL_P_H
diff --git a/src/quicktemplates2/qquicklabel_p_p.h b/src/quicktemplates2/qquicklabel_p_p.h
deleted file mode 100644
index e1010698..00000000
--- a/src/quicktemplates2/qquicklabel_p_p.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKLABEL_P_P_H
-#define QQUICKLABEL_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/private/qlazilyallocated_p.h>
-#include <QtQuick/private/qquicktext_p_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtGui/qaccessible.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QQuickLabelPrivate : public QQuickTextPrivate, public QQuickItemChangeListener
-#if QT_CONFIG(accessibility)
- , public QAccessible::ActivationObserver
-#endif
-{
- Q_DECLARE_PUBLIC(QQuickLabel)
-
-public:
- QQuickLabelPrivate();
- ~QQuickLabelPrivate();
-
- static QQuickLabelPrivate *get(QQuickLabel *item)
- {
- return static_cast<QQuickLabelPrivate *>(QObjectPrivate::get(item));
- }
-
- inline QMarginsF getInset() const { return QMarginsF(getLeftInset(), getTopInset(), getRightInset(), getBottomInset()); }
- inline qreal getTopInset() const { return extra.isAllocated() ? extra->topInset : 0; }
- inline qreal getLeftInset() const { return extra.isAllocated() ? extra->leftInset : 0; }
- inline qreal getRightInset() const { return extra.isAllocated() ? extra->rightInset : 0; }
- inline qreal getBottomInset() const { return extra.isAllocated() ? extra->bottomInset : 0; }
-
- void setTopInset(qreal value, bool reset = false);
- void setLeftInset(qreal value, bool reset = false);
- void setRightInset(qreal value, bool reset = false);
- void setBottomInset(qreal value, bool reset = false);
-
- void resizeBackground();
-
- void resolveFont();
- void inheritFont(const QFont &font);
- void updateFont(const QFont &font);
- inline void setFont_helper(const QFont &font) {
- if (sourceFont.resolve() == font.resolve() && sourceFont == font)
- return;
- updateFont(font);
- }
-
- void resolvePalette();
- void inheritPalette(const QPalette &palette);
- void updatePalette(const QPalette &palette);
- inline void setPalette_helper(const QPalette &palette) {
- if (resolvedPalette.resolve() == palette.resolve() && resolvedPalette == palette)
- return;
- updatePalette(palette);
- }
-
- void textChanged(const QString &text);
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
- void cancelBackground();
- void executeBackground(bool complete = false);
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemDestroyed(QQuickItem *item) override;
-
- struct ExtraData {
- bool hasTopInset = false;
- bool hasLeftInset = false;
- bool hasRightInset = false;
- bool hasBottomInset = false;
- bool hasBackgroundWidth = false;
- bool hasBackgroundHeight = false;
- qreal topInset = 0;
- qreal leftInset = 0;
- qreal rightInset = 0;
- qreal bottomInset = 0;
- QFont requestedFont;
- QPalette requestedPalette;
- };
- QLazilyAllocated<ExtraData> extra;
-
- bool resizingBackground = false;
- QPalette resolvedPalette;
- QQuickDeferredPointer<QQuickItem> background;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKLABEL_P_P_H
diff --git a/src/quicktemplates2/qquickmenu.cpp b/src/quicktemplates2/qquickmenu.cpp
deleted file mode 100644
index 91372777..00000000
--- a/src/quicktemplates2/qquickmenu.cpp
+++ /dev/null
@@ -1,1514 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmenu_p.h"
-#include "qquickmenu_p_p.h"
-#include "qquickmenuitem_p_p.h"
-#include "qquickmenubaritem_p.h"
-#include "qquickmenubar_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickpopuppositioner_p_p.h"
-#include "qquickaction_p.h"
-
-#include <QtGui/qevent.h>
-#include <QtGui/qcursor.h>
-#include <QtGui/qpa/qplatformintegration.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQml/private/qqmlengine_p.h>
-#include <QtQml/private/qv4scopedvalue_p.h>
-#include <QtQml/private/qv4variantobject_p.h>
-#include <QtQml/private/qv4qobjectwrapper_p.h>
-#include <private/qqmlobjectmodel_p.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuick/private/qquickitemview_p.h>
-#include <QtQuick/private/qquickevents_p_p.h>
-#include <QtQuick/private/qquickwindow_p.h>
-
-QT_BEGIN_NAMESPACE
-
-// copied from qfusionstyle.cpp
-static const int SUBMENU_DELAY = 225;
-
-/*!
- \qmltype Menu
- \inherits Popup
- \instantiates QQuickMenu
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-menus
- \ingroup qtquickcontrols2-popups
- \brief Menu popup that can be used as a context menu or popup menu.
-
- \image qtquickcontrols2-menu.png
-
- Menu has two main use cases:
- \list
- \li Context menus; for example, a menu that is shown after right clicking
- \li Popup menus; for example, a menu that is shown after clicking a button
- \endlist
-
- When used as a context menu, the recommended way of opening the menu is to call
- \l popup(). Unless a position is explicitly specified, the menu is positioned at
- the mouse cursor on desktop platforms that have a mouse cursor available, and
- otherwise centered over its parent item.
-
- \code
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- onClicked: {
- if (mouse.button === Qt.RightButton)
- contextMenu.popup()
- }
- onPressAndHold: {
- if (mouse.source === Qt.MouseEventNotSynthesized)
- contextMenu.popup()
- }
-
- Menu {
- id: contextMenu
- MenuItem { text: "Cut" }
- MenuItem { text: "Copy" }
- MenuItem { text: "Paste" }
- }
- }
- \endcode
-
- When used as a popup menu, it is easiest to specify the position by specifying
- the desired \l {Popup::}{x} and \l {Popup::}{y} coordinates using the respective
- properties, and call \l {Popup::}{open()} to open the menu.
-
- \code
- Button {
- id: fileButton
- text: "File"
- onClicked: menu.open()
-
- Menu {
- id: menu
- y: fileButton.height
-
- MenuItem {
- text: "New..."
- }
- MenuItem {
- text: "Open..."
- }
- MenuItem {
- text: "Save"
- }
- }
- }
- \endcode
-
- Since QtQuick.Controls 2.3 (Qt 5.10), it is also possible to create sub-menus
- and declare Action objects inside Menu:
-
- \code
- Menu {
- Action { text: "Cut" }
- Action { text: "Copy" }
- Action { text: "Paste" }
-
- MenuSeparator { }
-
- Menu {
- title: "Find/Replace"
- Action { text: "Find Next" }
- Action { text: "Find Previous" }
- Action { text: "Replace" }
- }
- }
- \endcode
-
- Sub-menus are \l {cascade}{cascading} by default on desktop platforms
- that have a mouse cursor available. Non-cascading menus are shown one
- menu at a time, and centered over the parent menu.
-
- Typically, menu items are statically declared as children of the menu, but
- Menu also provides API to \l {addItem}{add}, \l {insertItem}{insert},
- \l {moveItem}{move} and \l {removeItem}{remove} items dynamically. The
- items in a menu can be accessed using \l itemAt() or
- \l {Popup::}{contentChildren}.
-
- Although \l {MenuItem}{MenuItems} are most commonly used with Menu, it can
- contain any type of item.
-
- \sa {Customizing Menu}, MenuItem, {Menu Controls}, {Popup Controls}
-*/
-
-/*!
- \qmlproperty bool QtQuick.Controls::Menu::focus
-
- This property holds whether the popup wants focus.
-
- When the popup actually receives focus, \l activeFocus will be \c true.
- For more information, see \l {Keyboard Focus in Qt Quick}.
-
- The default value is \c false.
-
- \sa activeFocus
-*/
-
-static const QQuickPopup::ClosePolicy cascadingSubMenuClosePolicy = QQuickPopup::CloseOnEscape | QQuickPopup::CloseOnPressOutsideParent;
-
-static bool shouldCascade()
-{
-#if QT_CONFIG(cursor)
- return QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::MultipleWindows);
-#else
- return false;
-#endif
-}
-
-class QQuickMenuPositioner : public QQuickPopupPositioner
-{
-public:
- QQuickMenuPositioner(QQuickMenu *menu) : QQuickPopupPositioner(menu) { }
-
- void reposition() override;
-};
-
-QQuickMenuPrivate::QQuickMenuPrivate()
-{
- Q_Q(QQuickMenu);
- cascade = shouldCascade();
- contentModel = new QQmlObjectModel(q);
-}
-
-QQuickItem *QQuickMenuPrivate::itemAt(int index) const
-{
- return qobject_cast<QQuickItem *>(contentModel->get(index));
-}
-
-void QQuickMenuPrivate::insertItem(int index, QQuickItem *item)
-{
- contentData.append(item);
- item->setParentItem(contentItem);
- if (qobject_cast<QQuickItemView *>(contentItem))
- QQuickItemPrivate::get(item)->setCulled(true); // QTBUG-53262
- if (complete)
- resizeItem(item);
- QQuickItemPrivate::get(item)->addItemChangeListener(this, QQuickItemPrivate::Destroyed | QQuickItemPrivate::Parent);
- QQuickItemPrivate::get(item)->updateOrAddGeometryChangeListener(this, QQuickGeometryChange::Width);
- contentModel->insert(index, item);
-
- QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(item);
- if (menuItem) {
- Q_Q(QQuickMenu);
- QQuickMenuItemPrivate::get(menuItem)->setMenu(q);
- if (QQuickMenu *subMenu = menuItem->subMenu())
- QQuickMenuPrivate::get(subMenu)->setParentMenu(q);
- QObjectPrivate::connect(menuItem, &QQuickMenuItem::triggered, this, &QQuickMenuPrivate::onItemTriggered);
- QObjectPrivate::connect(menuItem, &QQuickItem::activeFocusChanged, this, &QQuickMenuPrivate::onItemActiveFocusChanged);
- QObjectPrivate::connect(menuItem, &QQuickControl::hoveredChanged, this, &QQuickMenuPrivate::onItemHovered);
- }
-}
-
-void QQuickMenuPrivate::moveItem(int from, int to)
-{
- contentModel->move(from, to);
-}
-
-void QQuickMenuPrivate::removeItem(int index, QQuickItem *item)
-{
- contentData.removeOne(item);
-
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Destroyed | QQuickItemPrivate::Parent);
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Geometry);
- item->setParentItem(nullptr);
- contentModel->remove(index);
-
- QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(item);
- if (menuItem) {
- QQuickMenuItemPrivate::get(menuItem)->setMenu(nullptr);
- if (QQuickMenu *subMenu = menuItem->subMenu())
- QQuickMenuPrivate::get(subMenu)->setParentMenu(nullptr);
- QObjectPrivate::disconnect(menuItem, &QQuickMenuItem::triggered, this, &QQuickMenuPrivate::onItemTriggered);
- QObjectPrivate::disconnect(menuItem, &QQuickItem::activeFocusChanged, this, &QQuickMenuPrivate::onItemActiveFocusChanged);
- QObjectPrivate::disconnect(menuItem, &QQuickControl::hoveredChanged, this, &QQuickMenuPrivate::onItemHovered);
- }
-}
-
-QQuickItem *QQuickMenuPrivate::beginCreateItem()
-{
- Q_Q(QQuickMenu);
- if (!delegate)
- return nullptr;
-
- QQmlContext *creationContext = delegate->creationContext();
- if (!creationContext)
- creationContext = qmlContext(q);
- QQmlContext *context = new QQmlContext(creationContext, q);
- context->setContextObject(q);
-
- QObject *object = delegate->beginCreate(context);
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (!item)
- delete object;
-
- QQml_setParent_noEvent(item, q);
-
- return item;
-}
-
-void QQuickMenuPrivate::completeCreateItem()
-{
- if (!delegate)
- return;
-
- delegate->completeCreate();
-}
-
-QQuickItem *QQuickMenuPrivate::createItem(QQuickMenu *menu)
-{
- QQuickItem *item = beginCreateItem();
- if (QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(item))
- QQuickMenuItemPrivate::get(menuItem)->setSubMenu(menu);
- completeCreateItem();
- return item;
-}
-
-QQuickItem *QQuickMenuPrivate::createItem(QQuickAction *action)
-{
- QQuickItem *item = beginCreateItem();
- if (QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(item))
- button->setAction(action);
- completeCreateItem();
- return item;
-}
-
-void QQuickMenuPrivate::resizeItem(QQuickItem *item)
-{
- if (!item || !contentItem)
- return;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid) {
- item->setWidth(contentItem->width());
- p->widthValid = false;
- }
-}
-
-void QQuickMenuPrivate::resizeItems()
-{
- if (!contentModel)
- return;
-
- for (int i = 0; i < contentModel->count(); ++i)
- resizeItem(itemAt(i));
-}
-
-void QQuickMenuPrivate::itemChildAdded(QQuickItem *, QQuickItem *child)
-{
- // add dynamically reparented items (eg. by a Repeater)
- if (!QQuickItemPrivate::get(child)->isTransparentForPositioner() && !contentData.contains(child))
- insertItem(contentModel->count(), child);
-}
-
-void QQuickMenuPrivate::itemParentChanged(QQuickItem *item, QQuickItem *parent)
-{
- // remove dynamically unparented items (eg. by a Repeater)
- if (!parent)
- removeItem(contentModel->indexOf(item, nullptr), item);
-}
-
-void QQuickMenuPrivate::itemSiblingOrderChanged(QQuickItem *)
-{
- // reorder the restacked items (eg. by a Repeater)
- Q_Q(QQuickMenu);
- QList<QQuickItem *> siblings = contentItem->childItems();
-
- int to = 0;
- for (int i = 0; i < siblings.count(); ++i) {
- QQuickItem* sibling = siblings.at(i);
- if (QQuickItemPrivate::get(sibling)->isTransparentForPositioner())
- continue;
- int index = contentModel->indexOf(sibling, nullptr);
- q->moveItem(index, to++);
- }
-}
-
-void QQuickMenuPrivate::itemDestroyed(QQuickItem *item)
-{
- QQuickPopupPrivate::itemDestroyed(item);
- int index = contentModel->indexOf(item, nullptr);
- if (index != -1)
- removeItem(index, item);
-}
-
-void QQuickMenuPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange, const QRectF &)
-{
- if (!complete)
- return;
-
- if (item == contentItem) {
- // The contentItem's geometry changed, so resize any items
- // that don't have explicit widths set so that they fill the width of the menu.
- resizeItems();
- } else {
- // The geometry of an item in the menu changed. If the item
- // doesn't have an explicit width set, make it fill the width of the menu.
- resizeItem(item);
- }
-}
-
-QQuickPopupPositioner *QQuickMenuPrivate::getPositioner()
-{
- Q_Q(QQuickMenu);
- if (!positioner)
- positioner = new QQuickMenuPositioner(q);
- return positioner;
-}
-
-void QQuickMenuPositioner::reposition()
-{
- QQuickMenu *menu = static_cast<QQuickMenu *>(popup());
- QQuickMenuPrivate *p = QQuickMenuPrivate::get(menu);
- if (p->parentMenu) {
- if (p->cascade) {
- if (p->popupItem->isMirrored())
- menu->setPosition(QPointF(-menu->width() - p->parentMenu->leftPadding() + menu->overlap(), -menu->topPadding()));
- else if (p->parentItem)
- menu->setPosition(QPointF(p->parentItem->width() + p->parentMenu->rightPadding() - menu->overlap(), -menu->topPadding()));
- } else {
- menu->setPosition(QPointF(p->parentMenu->x() + (p->parentMenu->width() - menu->width()) / 2,
- p->parentMenu->y() + (p->parentMenu->height() - menu->height()) / 2));
- }
- }
- QQuickPopupPositioner::reposition();
-}
-
-bool QQuickMenuPrivate::prepareEnterTransition()
-{
- Q_Q(QQuickMenu);
- if (parentMenu && !cascade)
- parentMenu->close();
-
- // If a cascading sub-menu doesn't have enough space to open on
- // the right, it flips on the other side of the parent menu.
- allowHorizontalFlip = cascade && parentMenu;
-
- if (!QQuickPopupPrivate::prepareEnterTransition())
- return false;
-
- if (!hasClosePolicy) {
- if (cascade && parentMenu)
- closePolicy = cascadingSubMenuClosePolicy;
- else
- q->resetClosePolicy();
- }
- return true;
-}
-
-bool QQuickMenuPrivate::prepareExitTransition()
-{
- if (!QQuickPopupPrivate::prepareExitTransition())
- return false;
-
- stopHoverTimer();
-
- QQuickMenu *subMenu = currentSubMenu();
- while (subMenu) {
- QPointer<QQuickMenuItem> currentSubMenuItem = QQuickMenuPrivate::get(subMenu)->currentItem;
- subMenu->close();
- subMenu = currentSubMenuItem ? currentSubMenuItem->subMenu() : nullptr;
- }
- return true;
-}
-
-bool QQuickMenuPrivate::blockInput(QQuickItem *item, const QPointF &point) const
-{
- // keep the parent menu open when a cascading sub-menu (this menu) is interacted with
- return (cascade && parentMenu && contains(point)) || QQuickPopupPrivate::blockInput(item, point);
-}
-
-void QQuickMenuPrivate::onItemHovered()
-{
- Q_Q(QQuickMenu);
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(q->sender());
- if (!button || !button->isHovered() || QQuickAbstractButtonPrivate::get(button)->touchId != -1)
- return;
-
- QQuickMenuItem *oldCurrentItem = currentItem;
-
- int index = contentModel->indexOf(button, nullptr);
- if (index != -1) {
- setCurrentIndex(index, Qt::OtherFocusReason);
- if (oldCurrentItem != currentItem) {
- if (oldCurrentItem) {
- QQuickMenu *subMenu = oldCurrentItem->subMenu();
- if (subMenu)
- subMenu->close();
- }
- if (currentItem) {
- QQuickMenu *subMenu = currentItem->menu();
- if (subMenu && subMenu->cascade())
- startHoverTimer();
- }
- }
- }
-}
-
-void QQuickMenuPrivate::onItemTriggered()
-{
- Q_Q(QQuickMenu);
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(q->sender());
- if (!item)
- return;
-
- if (QQuickMenu *subMenu = item->subMenu()) {
- auto subMenuPrivate = QQuickMenuPrivate::get(subMenu);
- subMenu->popup(subMenuPrivate->firstEnabledMenuItem());
- } else {
- q->dismiss();
- }
-}
-
-void QQuickMenuPrivate::onItemActiveFocusChanged()
-{
- Q_Q(QQuickMenu);
- QQuickItem *item = qobject_cast<QQuickItem*>(q->sender());
- if (!item->hasActiveFocus())
- return;
-
- int indexOfItem = contentModel->indexOf(item, nullptr);
- QQuickControl *control = qobject_cast<QQuickControl *>(item);
- setCurrentIndex(indexOfItem, control ? control->focusReason() : Qt::OtherFocusReason);
-}
-
-QQuickMenu *QQuickMenuPrivate::currentSubMenu() const
-{
- if (!currentItem)
- return nullptr;
-
- return currentItem->subMenu();
-}
-
-void QQuickMenuPrivate::setParentMenu(QQuickMenu *parent)
-{
- Q_Q(QQuickMenu);
- if (parentMenu == parent)
- return;
-
- if (parentMenu) {
- QObject::disconnect(parentMenu.data(), &QQuickMenu::cascadeChanged, q, &QQuickMenu::setCascade);
- disconnect(parentMenu.data(), &QQuickMenu::parentChanged, this, &QQuickMenuPrivate::resolveParentItem);
- }
- if (parent) {
- QObject::connect(parent, &QQuickMenu::cascadeChanged, q, &QQuickMenu::setCascade);
- connect(parent, &QQuickMenu::parentChanged, this, &QQuickMenuPrivate::resolveParentItem);
- }
-
- parentMenu = parent;
- q->resetCascade();
- resolveParentItem();
-}
-
-static QQuickItem *findParentMenuItem(QQuickMenu *subMenu)
-{
- QQuickMenu *menu = QQuickMenuPrivate::get(subMenu)->parentMenu;
- for (int i = 0; i < QQuickMenuPrivate::get(menu)->contentModel->count(); ++i) {
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(menu->itemAt(i));
- if (item && item->subMenu() == subMenu)
- return item;
- }
- return nullptr;
-}
-
-void QQuickMenuPrivate::resolveParentItem()
-{
- Q_Q(QQuickMenu);
- if (!parentMenu)
- q->resetParentItem();
- else if (!cascade)
- q->setParentItem(parentMenu->parentItem());
- else
- q->setParentItem(findParentMenuItem(q));
-}
-
-void QQuickMenuPrivate::propagateKeyEvent(QKeyEvent *event)
-{
- if (QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(parentItem)) {
- if (QQuickMenu *menu = menuItem->menu())
- QQuickMenuPrivate::get(menu)->propagateKeyEvent(event);
- } else if (QQuickMenuBarItem *menuBarItem = qobject_cast<QQuickMenuBarItem *>(parentItem)) {
- if (QQuickMenuBar *menuBar = menuBarItem->menuBar()) {
- event->accept();
- QCoreApplication::sendEvent(menuBar, event);
- }
- }
-}
-
-void QQuickMenuPrivate::startHoverTimer()
-{
- Q_Q(QQuickMenu);
- stopHoverTimer();
- hoverTimer = q->startTimer(SUBMENU_DELAY);
-}
-
-void QQuickMenuPrivate::stopHoverTimer()
-{
- Q_Q(QQuickMenu);
- if (!hoverTimer)
- return;
-
- q->killTimer(hoverTimer);
- hoverTimer = 0;
-}
-
-void QQuickMenuPrivate::setCurrentIndex(int index, Qt::FocusReason reason)
-{
- Q_Q(QQuickMenu);
- if (currentIndex == index)
- return;
-
- QQuickMenuItem *newCurrentItem = qobject_cast<QQuickMenuItem *>(itemAt(index));
- if (currentItem != newCurrentItem) {
- stopHoverTimer();
- if (currentItem) {
- currentItem->setHighlighted(false);
- if (!newCurrentItem && window) {
- QQuickItem *focusItem = QQuickItemPrivate::get(contentItem)->subFocusItem;
- if (focusItem)
- QQuickWindowPrivate::get(window)->clearFocusInScope(contentItem, focusItem, Qt::OtherFocusReason);
- }
- }
- if (newCurrentItem) {
- newCurrentItem->setHighlighted(true);
- newCurrentItem->forceActiveFocus(reason);
- }
- currentItem = newCurrentItem;
- }
-
- currentIndex = index;
- emit q->currentIndexChanged();
-}
-
-bool QQuickMenuPrivate::activateNextItem()
-{
- int index = currentIndex;
- int count = contentModel->count();
- while (++index < count) {
- QQuickItem *item = itemAt(index);
- if (!item || !item->activeFocusOnTab() || !item->isEnabled())
- continue;
- setCurrentIndex(index, Qt::TabFocusReason);
- return true;
- }
- return false;
-}
-
-bool QQuickMenuPrivate::activatePreviousItem()
-{
- int index = currentIndex;
- while (--index >= 0) {
- QQuickItem *item = itemAt(index);
- if (!item || !item->activeFocusOnTab() || !item->isEnabled())
- continue;
- setCurrentIndex(index, Qt::BacktabFocusReason);
- return true;
- }
- return false;
-}
-
-QQuickMenuItem *QQuickMenuPrivate::firstEnabledMenuItem() const
-{
- for (int i = 0; i < contentModel->count(); ++i) {
- QQuickItem *item = itemAt(i);
- if (!item || !item->isEnabled())
- continue;
-
- QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(item);
- if (!menuItem)
- continue;
-
- return menuItem;
- }
- return nullptr;
-}
-
-void QQuickMenuPrivate::contentData_append(QQmlListProperty<QObject> *prop, QObject *obj)
-{
- QQuickMenu *q = qobject_cast<QQuickMenu *>(prop->object);
- QQuickMenuPrivate *p = QQuickMenuPrivate::get(q);
-
- QQuickItem *item = qobject_cast<QQuickItem *>(obj);
- if (!item) {
- if (QQuickAction *action = qobject_cast<QQuickAction *>(obj))
- item = p->createItem(action);
- else if (QQuickMenu *menu = qobject_cast<QQuickMenu *>(obj))
- item = p->createItem(menu);
- }
-
- if (item) {
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner()) {
- QQuickItemPrivate::get(item)->addItemChangeListener(p, QQuickItemPrivate::SiblingOrder);
- item->setParentItem(p->contentItem);
- } else if (p->contentModel->indexOf(item, nullptr) == -1) {
- q->addItem(item);
- }
- } else {
- p->contentData.append(obj);
- }
-}
-
-int QQuickMenuPrivate::contentData_count(QQmlListProperty<QObject> *prop)
-{
- QQuickMenu *q = static_cast<QQuickMenu *>(prop->object);
- return QQuickMenuPrivate::get(q)->contentData.count();
-}
-
-QObject *QQuickMenuPrivate::contentData_at(QQmlListProperty<QObject> *prop, int index)
-{
- QQuickMenu *q = static_cast<QQuickMenu *>(prop->object);
- return QQuickMenuPrivate::get(q)->contentData.value(index);
-}
-
-void QQuickMenuPrivate::contentData_clear(QQmlListProperty<QObject> *prop)
-{
- QQuickMenu *q = static_cast<QQuickMenu *>(prop->object);
- QQuickMenuPrivate::get(q)->contentData.clear();
-}
-
-QQuickMenu::QQuickMenu(QObject *parent)
- : QQuickPopup(*(new QQuickMenuPrivate), parent)
-{
- Q_D(QQuickMenu);
- setFocus(true);
- connect(d->contentModel, &QQmlObjectModel::countChanged, this, &QQuickMenu::countChanged);
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::Menu::itemAt(int index)
-
- Returns the item at \a index, or \c null if it does not exist.
-*/
-QQuickItem *QQuickMenu::itemAt(int index) const
-{
- Q_D(const QQuickMenu);
- return d->itemAt(index);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Menu::addItem(Item item)
-
- Adds \a item to the end of the list of items.
-*/
-void QQuickMenu::addItem(QQuickItem *item)
-{
- Q_D(QQuickMenu);
- insertItem(d->contentModel->count(), item);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Menu::insertItem(int index, Item item)
-
- Inserts \a item at \a index.
-*/
-void QQuickMenu::insertItem(int index, QQuickItem *item)
-{
- Q_D(QQuickMenu);
- if (!item)
- return;
- const int count = d->contentModel->count();
- if (index < 0 || index > count)
- index = count;
-
- int oldIndex = d->contentModel->indexOf(item, nullptr);
- if (oldIndex != -1) {
- if (oldIndex < index)
- --index;
- if (oldIndex != index)
- d->moveItem(oldIndex, index);
- } else {
- d->insertItem(index, item);
- }
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Menu::moveItem(int from, int to)
-
- Moves an item \a from one index \a to another.
-*/
-void QQuickMenu::moveItem(int from, int to)
-{
- Q_D(QQuickMenu);
- const int count = d->contentModel->count();
- if (from < 0 || from > count - 1)
- return;
- if (to < 0 || to > count - 1)
- to = count - 1;
-
- if (from != to)
- d->moveItem(from, to);
-}
-
-/*!
- \deprecated
- \qmlmethod void QtQuick.Controls::Menu::removeItem(int index)
-
- Use Menu::removeItem(Item) or Menu::takeItem(int) instead.
-*/
-void QQuickMenu::removeItem(const QVariant &var)
-{
- if (var.userType() == QMetaType::Nullptr)
- return;
-
- if (QQuickItem *item = var.value<QQuickItem *>())
- removeItem(item);
- else
- takeItem(var.toInt());
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::removeItem(Item item)
-
- Removes and destroys the specified \a item.
-*/
-void QQuickMenu::removeItem(QQuickItem *item)
-{
- Q_D(QQuickMenu);
- if (!item)
- return;
-
- const int index = d->contentModel->indexOf(item, nullptr);
- if (index == -1)
- return;
-
- d->removeItem(index, item);
- item->deleteLater();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod MenuItem QtQuick.Controls::Menu::takeItem(int index)
-
- Removes and returns the item at \a index.
-
- \note The ownership of the item is transferred to the caller.
-*/
-QQuickItem *QQuickMenu::takeItem(int index)
-{
- Q_D(QQuickMenu);
- const int count = d->contentModel->count();
- if (index < 0 || index >= count)
- return nullptr;
-
- QQuickItem *item = itemAt(index);
- if (item)
- d->removeItem(index, item);
- return item;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod Menu QtQuick.Controls::Menu::menuAt(int index)
-
- Returns the sub-menu at \a index, or \c null if the index is not valid or
- there is no sub-menu at the specified index.
-*/
-QQuickMenu *QQuickMenu::menuAt(int index) const
-{
- Q_D(const QQuickMenu);
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(d->itemAt(index));
- if (!item)
- return nullptr;
-
- return item->subMenu();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::addMenu(Menu menu)
-
- Adds \a menu as a sub-menu to the end of this menu.
-*/
-void QQuickMenu::addMenu(QQuickMenu *menu)
-{
- Q_D(QQuickMenu);
- insertMenu(d->contentModel->count(), menu);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::insertMenu(int index, Menu menu)
-
- Inserts \a menu as a sub-menu at \a index. The index is within all items in the menu.
-*/
-void QQuickMenu::insertMenu(int index, QQuickMenu *menu)
-{
- Q_D(QQuickMenu);
- if (!menu)
- return;
-
- insertItem(index, d->createItem(menu));
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::removeMenu(Menu menu)
-
- Removes and destroys the specified \a menu.
-*/
-void QQuickMenu::removeMenu(QQuickMenu *menu)
-{
- Q_D(QQuickMenu);
- if (!menu)
- return;
-
- const int count = d->contentModel->count();
- for (int i = 0; i < count; ++i) {
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(d->itemAt(i));
- if (!item || item->subMenu() != menu)
- continue;
-
- removeItem(item);
- break;
- }
-
- menu->deleteLater();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod Menu QtQuick.Controls::Menu::takeMenu(int index)
-
- Removes and returns the menu at \a index. The index is within all items in the menu.
-
- \note The ownership of the menu is transferred to the caller.
-*/
-QQuickMenu *QQuickMenu::takeMenu(int index)
-{
- Q_D(QQuickMenu);
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(d->itemAt(index));
- if (!item)
- return nullptr;
-
- QQuickMenu *subMenu = item->subMenu();
- if (!subMenu)
- return nullptr;
-
- d->removeItem(index, item);
- item->deleteLater();
- return subMenu;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod Action QtQuick.Controls::Menu::actionAt(int index)
-
- Returns the action at \a index, or \c null if the index is not valid or
- there is no action at the specified index.
-*/
-QQuickAction *QQuickMenu::actionAt(int index) const
-{
- Q_D(const QQuickMenu);
- QQuickAbstractButton *item = qobject_cast<QQuickAbstractButton *>(d->itemAt(index));
- if (!item)
- return nullptr;
-
- return item->action();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::addAction(Action action)
-
- Adds \a action to the end of this menu.
-*/
-void QQuickMenu::addAction(QQuickAction *action)
-{
- Q_D(QQuickMenu);
- insertAction(d->contentModel->count(), action);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::insertAction(int index, Action action)
-
- Inserts \a action at \a index. The index is within all items in the menu.
-*/
-void QQuickMenu::insertAction(int index, QQuickAction *action)
-{
- Q_D(QQuickMenu);
- if (!action)
- return;
-
- insertItem(index, d->createItem(action));
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::removeAction(Action action)
-
- Removes and destroys the specified \a action.
-*/
-void QQuickMenu::removeAction(QQuickAction *action)
-{
- Q_D(QQuickMenu);
- if (!action)
- return;
-
- const int count = d->contentModel->count();
- for (int i = 0; i < count; ++i) {
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(d->itemAt(i));
- if (!item || item->action() != action)
- continue;
-
- removeItem(item);
- break;
- }
-
- action->deleteLater();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod Action QtQuick.Controls::Menu::takeAction(int index)
-
- Removes and returns the action at \a index. The index is within all items in the menu.
-
- \note The ownership of the action is transferred to the caller.
-*/
-QQuickAction *QQuickMenu::takeAction(int index)
-{
- Q_D(QQuickMenu);
- QQuickMenuItem *item = qobject_cast<QQuickMenuItem *>(d->itemAt(index));
- if (!item)
- return nullptr;
-
- QQuickAction *action = item->action();
- if (!action)
- return nullptr;
-
- d->removeItem(index, item);
- item->deleteLater();
- return action;
-}
-
-/*!
- \qmlproperty model QtQuick.Controls::Menu::contentModel
- \readonly
-
- This property holds the model used to display menu items.
-
- The content model is provided for visualization purposes. It can be assigned
- as a model to a content item that presents the contents of the menu.
-
- \code
- Menu {
- id: menu
- contentItem: ListView {
- model: menu.contentModel
- }
- }
- \endcode
-
- The model allows menu items to be statically declared as children of the
- menu.
-*/
-QVariant QQuickMenu::contentModel() const
-{
- Q_D(const QQuickMenu);
- return QVariant::fromValue(d->contentModel);
-}
-
-/*!
- \qmlproperty list<Object> QtQuick.Controls::Menu::contentData
- \default
-
- This property holds the list of content data.
-
- The list contains all objects that have been declared in QML as children
- of the menu, and also items that have been dynamically added or
- inserted using the \l addItem() and \l insertItem() methods, respectively.
-
- \note Unlike \c contentChildren, \c contentData does include non-visual QML
- objects. It is not re-ordered when items are inserted or moved.
-
- \sa Item::data, {Popup::}{contentChildren}
-*/
-QQmlListProperty<QObject> QQuickMenu::contentData()
-{
- Q_D(QQuickMenu);
- if (!d->contentItem)
- QQuickControlPrivate::get(d->popupItem)->executeContentItem();
- return QQmlListProperty<QObject>(this, nullptr,
- QQuickMenuPrivate::contentData_append,
- QQuickMenuPrivate::contentData_count,
- QQuickMenuPrivate::contentData_at,
- QQuickMenuPrivate::contentData_clear);
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::Menu::title
-
- This property holds the title for the menu.
-
- The title of a menu is often displayed in the text of a menu item when the
- menu is a submenu, and in the text of a tool button when it is in a
- menubar.
-*/
-QString QQuickMenu::title() const
-{
- Q_D(const QQuickMenu);
- return d->title;
-}
-
-void QQuickMenu::setTitle(QString &title)
-{
- Q_D(QQuickMenu);
- if (title == d->title)
- return;
- d->title = title;
- emit titleChanged(title);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::Menu::cascade
-
- This property holds whether the menu cascades its sub-menus.
-
- The default value is platform-specific. Menus are cascading by default on
- desktop platforms that have a mouse cursor available. Non-cascading menus
- are shown one menu at a time, and centered over the parent menu.
-
- \note Changing the value of the property has no effect while the menu is open.
-
- \sa overlap
-*/
-bool QQuickMenu::cascade() const
-{
- Q_D(const QQuickMenu);
- return d->cascade;
-}
-
-void QQuickMenu::setCascade(bool cascade)
-{
- Q_D(QQuickMenu);
- if (d->cascade == cascade)
- return;
- d->cascade = cascade;
- if (d->parentMenu)
- d->resolveParentItem();
- emit cascadeChanged(cascade);
-}
-
-void QQuickMenu::resetCascade()
-{
- Q_D(QQuickMenu);
- if (d->parentMenu)
- setCascade(d->parentMenu->cascade());
- else
- setCascade(shouldCascade());
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty real QtQuick.Controls::Menu::overlap
-
- This property holds the amount of pixels by which the menu horizontally overlaps its parent menu.
-
- The property only has effect when the menu is used as a cascading sub-menu.
-
- The default value is style-specific.
-
- \note Changing the value of the property has no effect while the menu is open.
-
- \sa cascade
-*/
-qreal QQuickMenu::overlap() const
-{
- Q_D(const QQuickMenu);
- return d->overlap;
-}
-
-void QQuickMenu::setOverlap(qreal overlap)
-{
- Q_D(QQuickMenu);
- if (d->overlap == overlap)
- return;
- d->overlap = overlap;
- emit overlapChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty Component QtQuick.Controls::Menu::delegate
-
- This property holds the component that is used to create items
- to present actions.
-
- \code
- Menu {
- Action { text: "Cut" }
- Action { text: "Copy" }
- Action { text: "Paste" }
- }
- \endcode
-
- \sa Action
-*/
-QQmlComponent *QQuickMenu::delegate() const
-{
- Q_D(const QQuickMenu);
- return d->delegate;
-}
-
-void QQuickMenu::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickMenu);
- if (d->delegate == delegate)
- return;
-
- d->delegate = delegate;
- emit delegateChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty int QtQuick.Controls::Menu::currentIndex
-
- This property holds the index of the currently highlighted item.
-
- Menu items can be highlighted by mouse hover or keyboard navigation.
-
- \sa MenuItem::highlighted
-*/
-int QQuickMenu::currentIndex() const
-{
- Q_D(const QQuickMenu);
- return d->currentIndex;
-}
-
-void QQuickMenu::setCurrentIndex(int index)
-{
- Q_D(QQuickMenu);
- d->setCurrentIndex(index, Qt::OtherFocusReason);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty int QtQuick.Controls::Menu::count
- \readonly
-
- This property holds the number of items.
-*/
-int QQuickMenu::count() const
-{
- Q_D(const QQuickMenu);
- return d->contentModel->count();
-}
-
-void QQuickMenu::popup(QQuickItem *menuItem)
-{
- Q_D(QQuickMenu);
- // No position has been explicitly specified, so position the menu at the mouse cursor
- // on desktop platforms that have a mouse cursor available and support multiple windows.
- QQmlNullableValue<QPointF> pos;
-#if QT_CONFIG(cursor)
- if (d->parentItem && QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::MultipleWindows))
- pos = d->parentItem->mapFromGlobal(QCursor::pos());
-#endif
-
- // As a fallback, center the menu over its parent item.
- if (pos.isNull && d->parentItem)
- pos = QPointF((d->parentItem->width() - width()) / 2, (d->parentItem->height() - height()) / 2);
-
- popup(pos.isNull ? QPointF() : pos.value, menuItem);
-}
-
-void QQuickMenu::popup(const QPointF &pos, QQuickItem *menuItem)
-{
- Q_D(QQuickMenu);
- qreal offset = 0;
-#if QT_CONFIG(cursor)
- if (menuItem)
- offset = d->popupItem->mapFromItem(menuItem, QPointF(0, 0)).y();
-#endif
- setPosition(pos - QPointF(0, offset));
-
- if (menuItem)
- d->setCurrentIndex(d->contentModel->indexOf(menuItem, nullptr), Qt::PopupFocusReason);
- open();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::popup(MenuItem item = null)
- \qmlmethod void QtQuick.Controls::Menu::popup(Item parent, MenuItem item = null)
-
- Opens the menu at the mouse cursor on desktop platforms that have a mouse cursor
- available, and otherwise centers the menu over its \a parent item.
-
- The menu can be optionally aligned to a specific menu \a item.
-
- \sa Popup::open()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::popup(point pos, MenuItem item = null)
- \qmlmethod void QtQuick.Controls::Menu::popup(Item parent, point pos, MenuItem item = null)
-
- Opens the menu at the specified position \a pos in the popups coordinate system,
- that is, a coordinate relative to its \a parent item.
-
- The menu can be optionally aligned to a specific menu \a item.
-
- \sa Popup::open()
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::popup(real x, real y, MenuItem item = null)
- \qmlmethod void QtQuick.Controls::Menu::popup(Item parent, real x, real y, MenuItem item = null)
-
- Opens the menu at the specified position \a x, \a y in the popups coordinate system,
- that is, a coordinate relative to its \a parent item.
-
- The menu can be optionally aligned to a specific menu \a item.
-
- \sa dismiss(), Popup::open()
-*/
-void QQuickMenu::popup(QQmlV4Function *args)
-{
- Q_D(QQuickMenu);
- const int len = args->length();
- if (len > 4) {
- args->v4engine()->throwTypeError();
- return;
- }
-
- QV4::ExecutionEngine *v4 = args->v4engine();
- QV4::Scope scope(v4);
-
- QQmlNullableValue<QPointF> pos;
- QQuickItem *menuItem = nullptr;
- QQuickItem *parentItem = nullptr;
-
- if (len > 0) {
- // Item parent
- QV4::ScopedValue firstArg(scope, (*args)[0]);
- if (const QV4::QObjectWrapper *obj = firstArg->as<QV4::QObjectWrapper>()) {
- QQuickItem *item = qobject_cast<QQuickItem *>(obj->object());
- if (item && !d->popupItem->isAncestorOf(item))
- parentItem = item;
- } else if (firstArg->isUndefined()) {
- resetParentItem();
- parentItem = d->parentItem;
- }
-
- // MenuItem item
- QV4::ScopedValue lastArg(scope, (*args)[len - 1]);
- if (const QV4::QObjectWrapper *obj = lastArg->as<QV4::QObjectWrapper>()) {
- QQuickItem *item = qobject_cast<QQuickItem *>(obj->object());
- if (item && d->popupItem->isAncestorOf(item))
- menuItem = item;
- }
- }
-
- if (len >= 3 || (!parentItem && len >= 2)) {
- // real x, real y
- QV4::ScopedValue xArg(scope, (*args)[parentItem ? 1 : 0]);
- QV4::ScopedValue yArg(scope, (*args)[parentItem ? 2 : 1]);
- if (xArg->isNumber() && yArg->isNumber())
- pos = QPointF(xArg->asDouble(), yArg->asDouble());
- }
-
- if (pos.isNull && (len >= 2 || (!parentItem && len >= 1))) {
- // point pos
- QV4::ScopedValue posArg(scope, (*args)[parentItem ? 1 : 0]);
- const QVariant var = v4->toVariant(posArg, -1);
- if (var.userType() == QMetaType::QPointF)
- pos = var.toPointF();
- }
-
- if (parentItem)
- setParentItem(parentItem);
-
- if (pos.isNull)
- popup(menuItem);
- else
- popup(pos, menuItem);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlmethod void QtQuick.Controls::Menu::dismiss()
-
- Closes all menus in the hierarchy that this menu belongs to.
-
- \note Unlike \l {Popup::}{close()} that only closes a menu and its sub-menus,
- \c dismiss() closes the whole hierarchy of menus, including the parent menus.
- In practice, \c close() is suitable e.g. for implementing navigation in a
- hierarchy of menus, and \c dismiss() is the appropriate method for closing
- the whole hierarchy of menus.
-
- \sa popup(), Popup::close()
-*/
-void QQuickMenu::dismiss()
-{
- QQuickMenu *menu = this;
- while (menu) {
- menu->close();
- menu = QQuickMenuPrivate::get(menu)->parentMenu;
- }
-}
-
-void QQuickMenu::componentComplete()
-{
- Q_D(QQuickMenu);
- QQuickPopup::componentComplete();
- d->resizeItems();
-}
-
-void QQuickMenu::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickMenu);
- QQuickPopup::contentItemChange(newItem, oldItem);
-
- if (oldItem) {
- QQuickItemPrivate::get(oldItem)->removeItemChangeListener(d, QQuickItemPrivate::Children);
- QQuickItemPrivate::get(oldItem)->removeItemChangeListener(d, QQuickItemPrivate::Geometry);
- }
- if (newItem) {
- QQuickItemPrivate::get(newItem)->addItemChangeListener(d, QQuickItemPrivate::Children);
- QQuickItemPrivate::get(newItem)->updateOrAddGeometryChangeListener(d, QQuickGeometryChange::Width);
- }
-
- d->contentItem = newItem;
-}
-
-void QQuickMenu::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- Q_D(QQuickMenu);
- QQuickPopup::itemChange(change, data);
-
- if (change == QQuickItem::ItemVisibleHasChanged) {
- if (!data.boolValue && d->cascade) {
- // Ensure that when the menu isn't visible, there's no current item
- // the next time it's opened.
- d->setCurrentIndex(-1, Qt::OtherFocusReason);
- }
- }
-}
-
-void QQuickMenu::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickMenu);
- QQuickPopup::keyPressEvent(event);
-
- // QTBUG-17051
- // Work around the fact that ListView has no way of distinguishing between
- // mouse and keyboard interaction, thanks to the "interactive" bool in Flickable.
- // What we actually want is to have a way to always allow keyboard interaction but
- // only allow flicking with the mouse when there are too many menu items to be
- // shown at once.
- switch (event->key()) {
- case Qt::Key_Up:
- if (!d->activatePreviousItem())
- d->propagateKeyEvent(event);
- break;
-
- case Qt::Key_Down:
- d->activateNextItem();
- break;
-
- case Qt::Key_Left:
- case Qt::Key_Right:
- event->ignore();
- if (d->popupItem->isMirrored() == (event->key() == Qt::Key_Right)) {
- if (d->parentMenu && d->currentItem) {
- if (!d->cascade)
- d->parentMenu->open();
- close();
- event->accept();
- }
- } else {
- if (QQuickMenu *subMenu = d->currentSubMenu()) {
- auto subMenuPrivate = QQuickMenuPrivate::get(subMenu);
- subMenu->popup(subMenuPrivate->firstEnabledMenuItem());
- event->accept();
- }
- }
- if (!event->isAccepted())
- d->propagateKeyEvent(event);
- break;
-
- default:
- break;
- }
-}
-
-void QQuickMenu::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickMenu);
- if (event->timerId() == d->hoverTimer) {
- if (QQuickMenu *subMenu = d->currentSubMenu())
- subMenu->open();
- d->stopHoverTimer();
- return;
- }
- QQuickPopup::timerEvent(event);
-}
-
-QFont QQuickMenu::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Menu);
-}
-
-QPalette QQuickMenu::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Menu);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickMenu::accessibleRole() const
-{
- return QAccessible::PopupMenu;
-}
-#endif
-
-QT_END_NAMESPACE
-
-#include "moc_qquickmenu_p.cpp"
diff --git a/src/quicktemplates2/qquickmenu_p.h b/src/quicktemplates2/qquickmenu_p.h
deleted file mode 100644
index 01b970f8..00000000
--- a/src/quicktemplates2/qquickmenu_p.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENU_P_H
-#define QQUICKMENU_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqmllist.h>
-#include <QtQml/qqml.h>
-
-#include "qquickpopup_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAction;
-class QQmlComponent;
-class QQuickMenuItem;
-class QQuickMenuPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenu : public QQuickPopup
-{
- Q_OBJECT
- Q_PROPERTY(QVariant contentModel READ contentModel CONSTANT FINAL)
- Q_PROPERTY(QQmlListProperty<QObject> contentData READ contentData FINAL)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(int count READ count NOTIFY countChanged FINAL REVISION 3)
- Q_PROPERTY(bool cascade READ cascade WRITE setCascade RESET resetCascade NOTIFY cascadeChanged FINAL REVISION 3)
- Q_PROPERTY(qreal overlap READ overlap WRITE setOverlap NOTIFY overlapChanged FINAL REVISION 3)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL REVISION 3)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged FINAL REVISION 3)
- Q_CLASSINFO("DefaultProperty", "contentData")
-
-public:
- explicit QQuickMenu(QObject *parent = nullptr);
-
- Q_INVOKABLE QQuickItem *itemAt(int index) const;
- Q_INVOKABLE void addItem(QQuickItem *item);
- Q_INVOKABLE void insertItem(int index, QQuickItem *item);
- Q_INVOKABLE void moveItem(int from, int to);
- Q_INVOKABLE void removeItem(const QVariant &item); // ### Qt 6: remove
- void removeItem(QQuickItem *item); // ### Qt 6: Q_INVOKABLE
-
- QVariant contentModel() const;
- QQmlListProperty<QObject> contentData();
-
- QString title() const;
- void setTitle(QString &title);
-
- bool cascade() const;
- void setCascade(bool cascade);
- void resetCascade();
-
- qreal overlap() const;
- void setOverlap(qreal overlap);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
- int currentIndex() const;
- void setCurrentIndex(int index);
-
- // 2.3 (Qt 5.10)
- int count() const;
- Q_REVISION(3) Q_INVOKABLE QQuickItem *takeItem(int index);
-
- Q_REVISION(3) Q_INVOKABLE QQuickMenu *menuAt(int index) const;
- Q_REVISION(3) Q_INVOKABLE void addMenu(QQuickMenu *menu);
- Q_REVISION(3) Q_INVOKABLE void insertMenu(int index, QQuickMenu *menu);
- Q_REVISION(3) Q_INVOKABLE void removeMenu(QQuickMenu *menu);
- Q_REVISION(3) Q_INVOKABLE QQuickMenu *takeMenu(int index);
-
- Q_REVISION(3) Q_INVOKABLE QQuickAction *actionAt(int index) const;
- Q_REVISION(3) Q_INVOKABLE void addAction(QQuickAction *action);
- Q_REVISION(3) Q_INVOKABLE void insertAction(int index, QQuickAction *action);
- Q_REVISION(3) Q_INVOKABLE void removeAction(QQuickAction *action);
- Q_REVISION(3) Q_INVOKABLE QQuickAction *takeAction(int index);
-
- void popup(QQuickItem *menuItem = nullptr);
- void popup(const QPointF &pos, QQuickItem *menuItem = nullptr);
-
- Q_REVISION(3) Q_INVOKABLE void popup(QQmlV4Function *args);
- Q_REVISION(3) Q_INVOKABLE void dismiss();
-
-protected:
- void componentComplete() override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) override;
- void keyPressEvent(QKeyEvent *event) override;
-
-Q_SIGNALS:
- void titleChanged(const QString &title);
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void countChanged();
- Q_REVISION(3) void cascadeChanged(bool cascade);
- Q_REVISION(3) void overlapChanged();
- Q_REVISION(3) void delegateChanged();
- Q_REVISION(3) void currentIndexChanged();
-
-protected:
- void timerEvent(QTimerEvent *event) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickMenu)
- Q_DECLARE_PRIVATE(QQuickMenu)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMenu)
-
-#endif // QQUICKMENU_P_H
diff --git a/src/quicktemplates2/qquickmenu_p_p.h b/src/quicktemplates2/qquickmenu_p_p.h
deleted file mode 100644
index ec48c919..00000000
--- a/src/quicktemplates2/qquickmenu_p_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENU_P_P_H
-#define QQUICKMENU_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qvector.h>
-#include <QtCore/qpointer.h>
-
-#include <QtQuickTemplates2/private/qquickmenu_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAction;
-class QQmlComponent;
-class QQmlObjectModel;
-class QQuickMenuItem;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenuPrivate : public QQuickPopupPrivate
-{
- Q_DECLARE_PUBLIC(QQuickMenu)
-
-public:
- QQuickMenuPrivate();
-
- static QQuickMenuPrivate *get(QQuickMenu *menu)
- {
- return menu->d_func();
- }
-
- QQuickItem *itemAt(int index) const;
- void insertItem(int index, QQuickItem *item);
- void moveItem(int from, int to);
- void removeItem(int index, QQuickItem *item);
-
- QQuickItem *beginCreateItem();
- void completeCreateItem();
-
- QQuickItem *createItem(QQuickMenu *menu);
- QQuickItem *createItem(QQuickAction *action);
-
- void resizeItem(QQuickItem *item);
- void resizeItems();
-
- void itemChildAdded(QQuickItem *item, QQuickItem *child) override;
- void itemSiblingOrderChanged(QQuickItem *item) override;
- void itemParentChanged(QQuickItem *item, QQuickItem *parent) override;
- void itemDestroyed(QQuickItem *item) override;
- void itemGeometryChanged(QQuickItem *, QQuickGeometryChange change, const QRectF &diff) override;
-
- QQuickPopupPositioner *getPositioner() override;
- bool prepareEnterTransition() override;
- bool prepareExitTransition() override;
- bool blockInput(QQuickItem *item, const QPointF &point) const override;
-
- void onItemHovered();
- void onItemTriggered();
- void onItemActiveFocusChanged();
-
- QQuickMenu *currentSubMenu() const;
- void setParentMenu(QQuickMenu *parent);
- void resolveParentItem();
-
- void propagateKeyEvent(QKeyEvent *event);
-
- void startHoverTimer();
- void stopHoverTimer();
-
- void setCurrentIndex(int index, Qt::FocusReason reason);
- bool activateNextItem();
- bool activatePreviousItem();
-
- QQuickMenuItem *firstEnabledMenuItem() const;
-
- static void contentData_append(QQmlListProperty<QObject> *prop, QObject *obj);
- static int contentData_count(QQmlListProperty<QObject> *prop);
- static QObject *contentData_at(QQmlListProperty<QObject> *prop, int index);
- static void contentData_clear(QQmlListProperty<QObject> *prop);
-
- bool cascade = false;
- int hoverTimer = 0;
- int currentIndex = -1;
- qreal overlap = 0;
- QPointer<QQuickMenu> parentMenu;
- QPointer<QQuickMenuItem> currentItem;
- QQuickItem *contentItem = nullptr; // TODO: cleanup
- QVector<QObject *> contentData;
- QQmlObjectModel *contentModel;
- QQmlComponent *delegate = nullptr;
- QString title;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKMENU_P_P_H
diff --git a/src/quicktemplates2/qquickmenubar.cpp b/src/quicktemplates2/qquickmenubar.cpp
deleted file mode 100644
index 1761d999..00000000
--- a/src/quicktemplates2/qquickmenubar.cpp
+++ /dev/null
@@ -1,581 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmenubar_p.h"
-#include "qquickmenubar_p_p.h"
-#include "qquickmenubaritem_p_p.h"
-#include "qquickmenu_p.h"
-#include "qquickmenu_p_p.h"
-
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQml/qqmlengine.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuBar
- \inherits Container
- \instantiates QQuickMenuBar
- \inqmlmodule QtQuick.Controls
- \since 5.10
- \ingroup qtquickcontrols2-menus
- \ingroup qtquickcontrols2-focusscopes
- \brief Provides a window menu bar.
-
- \image qtquickcontrols2-menubar.png
-
- MenuBar consists of drop-down menus, and is normally located at the top
- edge of the window.
-
- \quotefromfile qtquickcontrols2-menubar.qml
- \skipuntil begin
- \printto skipfrom
- \skipuntil skipto
- \printto end
-
- Typically, menus are statically declared as children of the menu bar, but
- MenuBar also provides API to \l {addMenu}{add}, \l {insertMenu}{insert},
- \l {removeMenu}{remove}, and \l {takeMenu}{take} menus dynamically. The
- menus in a menu bar can be accessed using \l menuAt().
-
- \sa {Customizing MenuBar}, Menu, MenuBarItem, {Menu Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-QQuickItem *QQuickMenuBarPrivate::beginCreateItem()
-{
- Q_Q(QQuickMenuBar);
- if (!delegate)
- return nullptr;
-
- QQmlContext *creationContext = delegate->creationContext();
- if (!creationContext)
- creationContext = qmlContext(q);
- QQmlContext *context = new QQmlContext(creationContext, q);
- context->setContextObject(q);
-
- QObject *object = delegate->beginCreate(context);
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (!item) {
- delete object;
- delete context;
- return nullptr;
- }
-
- item->setParentItem(q);
- QQml_setParent_noEvent(item, q);
-
- return item;
-}
-
-void QQuickMenuBarPrivate::completeCreateItem()
-{
- if (!delegate)
- return;
-
- delegate->completeCreate();
-}
-
-QQuickItem *QQuickMenuBarPrivate::createItem(QQuickMenu *menu)
-{
- QQuickItem *item = beginCreateItem();
- if (QQuickMenuBarItem *menuBarItem = qobject_cast<QQuickMenuBarItem *>(item))
- menuBarItem->setMenu(menu);
- completeCreateItem();
- return item;
-}
-
-void QQuickMenuBarPrivate::toggleCurrentMenu(bool visible, bool activate)
-{
- if (!currentItem || visible == popupMode)
- return;
-
- QQuickMenu *menu = currentItem->menu();
-
- triggering = true;
- popupMode = visible;
- if (menu)
- menu->setVisible(visible);
- if (!visible)
- currentItem->forceActiveFocus();
- else if (menu && activate)
- menu->setCurrentIndex(0);
- triggering = false;
-}
-
-void QQuickMenuBarPrivate::activateItem(QQuickMenuBarItem *item)
-{
- if (currentItem == item)
- return;
-
- if (currentItem) {
- currentItem->setHighlighted(false);
- if (popupMode) {
- if (QQuickMenu *menu = currentItem->menu())
- menu->dismiss();
- }
- }
-
- if (item) {
- item->setHighlighted(true);
- if (popupMode) {
- if (QQuickMenu *menu = item->menu())
- menu->open();
- }
- }
-
- currentItem = item;
-}
-
-void QQuickMenuBarPrivate::activateNextItem()
-{
- int index = currentItem ? contentModel->indexOf(currentItem, nullptr) : -1;
- if (index >= contentModel->count() - 1)
- index = -1;
- activateItem(qobject_cast<QQuickMenuBarItem *>(itemAt(++index)));
-}
-
-void QQuickMenuBarPrivate::activatePreviousItem()
-{
- int index = currentItem ? contentModel->indexOf(currentItem, nullptr) : contentModel->count();
- if (index <= 0)
- index = contentModel->count();
- activateItem(qobject_cast<QQuickMenuBarItem *>(itemAt(--index)));
-}
-
-void QQuickMenuBarPrivate::onItemHovered()
-{
- Q_Q(QQuickMenuBar);
- QQuickMenuBarItem *item = qobject_cast<QQuickMenuBarItem *>(q->sender());
- if (!item || item == currentItem || !item->isHovered() || QQuickMenuBarItemPrivate::get(item)->touchId != -1)
- return;
-
- activateItem(item);
-}
-
-void QQuickMenuBarPrivate::onItemTriggered()
-{
- Q_Q(QQuickMenuBar);
- QQuickMenuBarItem *item = qobject_cast<QQuickMenuBarItem *>(q->sender());
- if (!item)
- return;
-
- if (item == currentItem) {
- toggleCurrentMenu(!popupMode, false);
- } else {
- popupMode = true;
- activateItem(item);
- }
-}
-
-void QQuickMenuBarPrivate::onMenuAboutToHide()
-{
- if (triggering || !currentItem || currentItem->isHovered() || !currentItem->isHighlighted())
- return;
-
- popupMode = false;
- activateItem(nullptr);
-}
-
-qreal QQuickMenuBarPrivate::getContentWidth() const
-{
- Q_Q(const QQuickMenuBar);
- const int count = contentModel->count();
- qreal totalWidth = qMax(0, count - 1) * spacing;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item)
- totalWidth += item->implicitWidth();
- }
- return totalWidth;
-}
-
-qreal QQuickMenuBarPrivate::getContentHeight() const
-{
- Q_Q(const QQuickMenuBar);
- const int count = contentModel->count();
- qreal maxHeight = 0;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item)
- maxHeight = qMax(maxHeight, item->implicitHeight());
- }
- return maxHeight;
-}
-
-void QQuickMenuBarPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitWidthChanged(item);
- if (item != contentItem)
- updateImplicitContentWidth();
-}
-
-void QQuickMenuBarPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitHeightChanged(item);
- if (item != contentItem)
- updateImplicitContentHeight();
-}
-
-void QQuickMenuBarPrivate::contentData_append(QQmlListProperty<QObject> *prop, QObject *obj)
-{
- QQuickMenuBar *menuBar = static_cast<QQuickMenuBar *>(prop->object);
- if (QQuickMenu *menu = qobject_cast<QQuickMenu *>(obj))
- obj = QQuickMenuBarPrivate::get(menuBar)->createItem(menu);
- QQuickContainerPrivate::contentData_append(prop, obj);
-}
-
-void QQuickMenuBarPrivate::menus_append(QQmlListProperty<QQuickMenu> *prop, QQuickMenu *obj)
-{
- QQuickMenuBar *menuBar = static_cast<QQuickMenuBar *>(prop->object);
- menuBar->addMenu(obj);
-}
-
-int QQuickMenuBarPrivate::menus_count(QQmlListProperty<QQuickMenu> *prop)
-{
- QQuickMenuBar *menuBar = static_cast<QQuickMenuBar *>(prop->object);
- return menuBar->count();
-}
-
-QQuickMenu *QQuickMenuBarPrivate::menus_at(QQmlListProperty<QQuickMenu> *prop, int index)
-{
- QQuickMenuBar *menuBar = static_cast<QQuickMenuBar *>(prop->object);
- return menuBar->menuAt(index);
-}
-
-void QQuickMenuBarPrivate::menus_clear(QQmlListProperty<QQuickMenu> *prop)
-{
- QQuickMenuBar *menuBar = static_cast<QQuickMenuBar *>(prop->object);
- QQuickMenuBarPrivate::get(menuBar)->contentModel->clear();
-}
-
-QQuickMenuBar::QQuickMenuBar(QQuickItem *parent)
- : QQuickContainer(*(new QQuickMenuBarPrivate), parent)
-{
- Q_D(QQuickMenuBar);
- d->changeTypes |= QQuickItemPrivate::Geometry;
- setFlag(ItemIsFocusScope);
- setFocusPolicy(Qt::ClickFocus);
-}
-
-/*!
- \qmlproperty Component QtQuick.Controls::MenuBar::delegate
-
- This property holds the component that is used to create menu bar
- items to present menus in the menu bar.
-
- \sa MenuBarItem
-*/
-QQmlComponent *QQuickMenuBar::delegate() const
-{
- Q_D(const QQuickMenuBar);
- return d->delegate;
-}
-
-void QQuickMenuBar::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickMenuBar);
- if (d->delegate == delegate)
- return;
-
- d->delegate = delegate;
- emit delegateChanged();
-}
-
-/*!
- \qmlmethod Menu QtQuick.Controls::MenuBar::menuAt(int index)
-
- Returns the menu at \a index, or \c null if it does not exist.
-*/
-QQuickMenu *QQuickMenuBar::menuAt(int index) const
-{
- Q_D(const QQuickMenuBar);
- QQuickMenuBarItem *item = qobject_cast<QQuickMenuBarItem *>(d->itemAt(index));
- if (!item)
- return nullptr;
- return item->menu();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::MenuBar::addMenu(Menu menu)
-
- Adds \a menu to the end of the list of menus.
-*/
-void QQuickMenuBar::addMenu(QQuickMenu *menu)
-{
- Q_D(QQuickMenuBar);
- addItem(d->createItem(menu));
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::MenuBar::insertMenu(int index, Menu menu)
-
- Inserts \a menu at \a index.
-*/
-void QQuickMenuBar::insertMenu(int index, QQuickMenu *menu)
-{
- Q_D(QQuickMenuBar);
- insertItem(index, d->createItem(menu));
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::MenuBar::removeMenu(Menu menu)
-
- Removes and destroys the specified \a menu.
-*/
-void QQuickMenuBar::removeMenu(QQuickMenu *menu)
-{
- Q_D(QQuickMenuBar);
- if (!menu)
- return;
-
- const int count = d->contentModel->count();
- for (int i = 0; i < count; ++i) {
- QQuickMenuBarItem *item = qobject_cast<QQuickMenuBarItem *>(itemAt(i));
- if (!item || item->menu() != menu)
- continue;
-
- removeItem(item);
- break;
- }
-
- menu->deleteLater();
-}
-
-/*!
- \qmlmethod Menu QtQuick.Controls::MenuBar::takeMenu(int index)
-
- Removes and returns the menu at \a index.
-
- \note The ownership of the item is transferred to the caller.
-*/
-QQuickMenu *QQuickMenuBar::takeMenu(int index)
-{
- Q_D(QQuickMenuBar);
- QQuickMenuBarItem *item = qobject_cast<QQuickMenuBarItem *>(itemAt(index));
- if (!item)
- return nullptr;
-
- QQuickMenu *menu = item->menu();
- if (!menu)
- return nullptr;
-
- d->removeItem(index, item);
- item->deleteLater();
- return menu;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty real QtQuick.Controls::MenuBar::contentWidth
-
- This property holds the content width. It is used for calculating the total
- implicit width of the menu bar.
-
- \note This property is available in MenuBar since QtQuick.Controls 2.3 (Qt 5.10),
- but it was promoted to the Container base type in QtQuick.Controls 2.5 (Qt 5.12).
-
- \sa Container::contentWidth
-*/
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty real QtQuick.Controls::MenuBar::contentHeight
-
- This property holds the content height. It is used for calculating the total
- implicit height of the menu bar.
-
- \note This property is available in MenuBar since QtQuick.Controls 2.3 (Qt 5.10),
- but it was promoted to the Container base type in QtQuick.Controls 2.5 (Qt 5.12).
-
- \sa Container::contentHeight
-*/
-
-/*!
- \qmlproperty list<Menu> QtQuick.Controls::MenuBar::menus
-
- This property holds the list of menus.
-
- The list contains all menus that have been declared in QML as children
- of the menu bar, and also menus that have been dynamically added or
- inserted using the \l addMenu() and \l insertMenu() methods, respectively.
-*/
-QQmlListProperty<QQuickMenu> QQuickMenuBarPrivate::menus()
-{
- Q_Q(QQuickMenuBar);
- return QQmlListProperty<QQuickMenu>(q, nullptr,
- QQuickMenuBarPrivate::menus_append,
- QQuickMenuBarPrivate::menus_count,
- QQuickMenuBarPrivate::menus_at,
- QQuickMenuBarPrivate::menus_clear);
-}
-
-QQmlListProperty<QObject> QQuickMenuBarPrivate::contentData()
-{
- Q_Q(QQuickMenuBar);
- return QQmlListProperty<QObject>(q, nullptr,
- QQuickMenuBarPrivate::contentData_append,
- QQuickContainerPrivate::contentData_count,
- QQuickContainerPrivate::contentData_at,
- QQuickContainerPrivate::contentData_clear);
-}
-
-bool QQuickMenuBar::eventFilter(QObject *object, QEvent *event)
-{
- return QObject::eventFilter(object, event);
-}
-
-void QQuickMenuBar::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickMenuBar);
- QQuickContainer::keyReleaseEvent(event);
-
- switch (event->key()) {
- case Qt::Key_Up:
- d->toggleCurrentMenu(false, false);
- break;
-
- case Qt::Key_Down:
- d->toggleCurrentMenu(true, true);
- break;
-
- case Qt::Key_Left:
- case Qt::Key_Right:
- if (isMirrored() == (event->key() == Qt::Key_Left))
- d->activateNextItem();
- else
- d->activatePreviousItem();
- break;
- case Qt::Key_Escape:
- if (d->currentItem) {
- d->activateItem(nullptr);
- setFocus(false);
- }
- break;
- default:
- break;
- }
-}
-
-void QQuickMenuBar::keyReleaseEvent(QKeyEvent *event)
-{
- QQuickContainer::keyReleaseEvent(event);
-
- switch (event->key()) {
- case Qt::Key_Up:
- case Qt::Key_Down:
- case Qt::Key_Left:
- case Qt::Key_Right:
- case Qt::Key_Escape:
- event->accept();
- break;
-
- default:
- event->ignore();
- break;
- }
-}
-
-void QQuickMenuBar::hoverLeaveEvent(QHoverEvent *event)
-{
- Q_D(QQuickMenuBar);
- QQuickContainer::hoverLeaveEvent(event);
- if (!d->popupMode && d->currentItem)
- d->activateItem(nullptr);
-}
-
-bool QQuickMenuBar::isContent(QQuickItem *item) const
-{
- return qobject_cast<QQuickMenuBarItem *>(item);
-}
-
-void QQuickMenuBar::itemAdded(int index, QQuickItem *item)
-{
- Q_D(QQuickMenuBar);
- QQuickContainer::itemAdded(index, item);
- if (QQuickMenuBarItem *menuBarItem = qobject_cast<QQuickMenuBarItem *>(item)) {
- QQuickMenuBarItemPrivate::get(menuBarItem)->setMenuBar(this);
- QObjectPrivate::connect(menuBarItem, &QQuickControl::hoveredChanged, d, &QQuickMenuBarPrivate::onItemHovered);
- QObjectPrivate::connect(menuBarItem, &QQuickMenuBarItem::triggered, d, &QQuickMenuBarPrivate::onItemTriggered);
- if (QQuickMenu *menu = menuBarItem->menu())
- QObjectPrivate::connect(menu, &QQuickPopup::aboutToHide, d, &QQuickMenuBarPrivate::onMenuAboutToHide);
- }
- d->updateImplicitContentSize();
- emit menusChanged();
-}
-
-void QQuickMenuBar::itemMoved(int index, QQuickItem *item)
-{
- QQuickContainer::itemMoved(index, item);
- emit menusChanged();
-}
-
-void QQuickMenuBar::itemRemoved(int index, QQuickItem *item)
-{
- Q_D(QQuickMenuBar);
- QQuickContainer::itemRemoved(index, item);
- if (QQuickMenuBarItem *menuBarItem = qobject_cast<QQuickMenuBarItem *>(item)) {
- QQuickMenuBarItemPrivate::get(menuBarItem)->setMenuBar(nullptr);
- QObjectPrivate::disconnect(menuBarItem, &QQuickControl::hoveredChanged, d, &QQuickMenuBarPrivate::onItemHovered);
- QObjectPrivate::disconnect(menuBarItem, &QQuickMenuBarItem::triggered, d, &QQuickMenuBarPrivate::onItemTriggered);
- if (QQuickMenu *menu = menuBarItem->menu())
- QObjectPrivate::disconnect(menu, &QQuickPopup::aboutToHide, d, &QQuickMenuBarPrivate::onMenuAboutToHide);
- }
- d->updateImplicitContentSize();
- emit menusChanged();
-}
-
-QFont QQuickMenuBar::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::MenuBar);
-}
-
-QPalette QQuickMenuBar::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::MenuBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickMenuBar::accessibleRole() const
-{
- return QAccessible::MenuBar;
-}
-#endif
-
-QT_END_NAMESPACE
-
-#include "moc_qquickmenubar_p.cpp"
diff --git a/src/quicktemplates2/qquickmenubar_p.h b/src/quicktemplates2/qquickmenubar_p.h
deleted file mode 100644
index af37d0f2..00000000
--- a/src/quicktemplates2/qquickmenubar_p.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUBAR_P_H
-#define QQUICKMENUBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMenu;
-class QQuickMenuBarPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenuBar : public QQuickContainer
-{
- Q_OBJECT
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
- Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth RESET resetContentWidth NOTIFY contentWidthChanged FINAL) // re-declare QQuickContainer::contentWidth (REV 5)
- Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight RESET resetContentHeight NOTIFY contentHeightChanged FINAL) // re-declare QQuickContainer::contentHeight (REV 5)
- Q_PRIVATE_PROPERTY(QQuickMenuBar::d_func(), QQmlListProperty<QQuickMenu> menus READ menus NOTIFY menusChanged FINAL)
- Q_PRIVATE_PROPERTY(QQuickMenuBar::d_func(), QQmlListProperty<QObject> contentData READ contentData FINAL)
-
-public:
- explicit QQuickMenuBar(QQuickItem *parent = nullptr);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
- Q_INVOKABLE QQuickMenu *menuAt(int index) const;
- Q_INVOKABLE void addMenu(QQuickMenu *menu);
- Q_INVOKABLE void insertMenu(int index, QQuickMenu *menu);
- Q_INVOKABLE void removeMenu(QQuickMenu *menu);
- Q_INVOKABLE QQuickMenu *takeMenu(int index);
-
-Q_SIGNALS:
- void delegateChanged();
- void menusChanged();
-
-protected:
- bool eventFilter(QObject *object, QEvent *event) override;
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void hoverLeaveEvent(QHoverEvent *event) override;
-
- bool isContent(QQuickItem *item) const override;
- void itemAdded(int index, QQuickItem *item) override;
- void itemMoved(int index, QQuickItem *item) override;
- void itemRemoved(int index, QQuickItem *item) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickMenuBar)
- Q_DECLARE_PRIVATE(QQuickMenuBar)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMenuBar)
-
-#endif // QQUICKMENUBAR_P_H
diff --git a/src/quicktemplates2/qquickmenubar_p_p.h b/src/quicktemplates2/qquickmenubar_p_p.h
deleted file mode 100644
index 75fbed73..00000000
--- a/src/quicktemplates2/qquickmenubar_p_p.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUBAR_P_P_H
-#define QQUICKMENUBAR_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickmenubar_p.h>
-#include <QtQuickTemplates2/private/qquickcontainer_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickMenuBarItem;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenuBarPrivate : public QQuickContainerPrivate
-{
- Q_DECLARE_PUBLIC(QQuickMenuBar)
-
-public:
- static QQuickMenuBarPrivate *get(QQuickMenuBar *menuBar)
- {
- return menuBar->d_func();
- }
-
- QQmlListProperty<QQuickMenu> menus();
- QQmlListProperty<QObject> contentData();
-
- QQuickItem *beginCreateItem();
- void completeCreateItem();
-
- QQuickItem *createItem(QQuickMenu *menu);
-
- void toggleCurrentMenu(bool visible, bool activate);
- void activateItem(QQuickMenuBarItem *item);
- void activateNextItem();
- void activatePreviousItem();
-
- void onItemHovered();
- void onItemTriggered();
- void onMenuAboutToHide();
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- static void contentData_append(QQmlListProperty<QObject> *prop, QObject *obj);
-
- static void menus_append(QQmlListProperty<QQuickMenu> *prop, QQuickMenu *obj);
- static int menus_count(QQmlListProperty<QQuickMenu> *prop);
- static QQuickMenu *menus_at(QQmlListProperty<QQuickMenu> *prop, int index);
- static void menus_clear(QQmlListProperty<QQuickMenu> *prop);
-
- bool popupMode = false;
- bool triggering = false;
- QQmlComponent *delegate = nullptr;
- QPointer<QQuickMenuBarItem> currentItem;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKMENUBAR_P_P_H
diff --git a/src/quicktemplates2/qquickmenubaritem.cpp b/src/quicktemplates2/qquickmenubaritem.cpp
deleted file mode 100644
index f32baff5..00000000
--- a/src/quicktemplates2/qquickmenubaritem.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmenubaritem_p.h"
-#include "qquickmenubaritem_p_p.h"
-#include "qquickmenubar_p.h"
-#include "qquickmenu_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuBarItem
- \inherits AbstractButton
- \instantiates QQuickMenuBarItem
- \inqmlmodule QtQuick.Controls
- \since 5.10
- \ingroup qtquickcontrols2-menus
- \brief Presents a drop-down menu within a MenuBar.
-
- MenuBarItem presents a Menu within a MenuBar. The respective drop-down menu
- is shown when a MenuBarItem is \l triggered via keyboard, mouse, or touch.
-
- \image qtquickcontrols2-menubar.png
-
- MenuBarItem is used as a default \l {MenuBar::}{delegate} type for MenuBar.
- Notice that it is not necessary to declare MenuBarItem instances by hand when
- using MenuBar. It is sufficient to declare Menu instances as children of the
- MenuBar and the respective items are created automatically.
-
- \sa {Customizing MenuBar}, MenuBar, {Menu Controls}
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::MenuBarItem::triggered()
-
- This signal is emitted when the menu bar item is triggered by the user.
-*/
-
-void QQuickMenuBarItemPrivate::setMenuBar(QQuickMenuBar *newMenuBar)
-{
- Q_Q(QQuickMenuBarItem);
- if (menuBar == newMenuBar)
- return;
-
- menuBar = newMenuBar;
- emit q->menuBarChanged();
-}
-
-QQuickMenuBarItem::QQuickMenuBarItem(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickMenuBarItemPrivate), parent)
-{
- setFocusPolicy(Qt::NoFocus);
- connect(this, &QQuickAbstractButton::clicked, this, &QQuickMenuBarItem::triggered);
-}
-
-/*!
- \qmlproperty Menu QtQuick.Controls::MenuBarItem::menuBar
- \readonly
-
- This property holds the menu bar that contains this item,
- or \c null if the item is not in a menu bar.
-*/
-QQuickMenuBar *QQuickMenuBarItem::menuBar() const
-{
- Q_D(const QQuickMenuBarItem);
- return d->menuBar;
-}
-
-/*!
- \qmlproperty Menu QtQuick.Controls::MenuBarItem::menu
-
- This property holds the menu that this item presents in a
- menu bar, or \c null if this item does not have a menu.
-*/
-QQuickMenu *QQuickMenuBarItem::menu() const
-{
- Q_D(const QQuickMenuBarItem);
- return d->menu;
-}
-
-void QQuickMenuBarItem::setMenu(QQuickMenu *menu)
-{
- Q_D(QQuickMenuBarItem);
- if (d->menu == menu)
- return;
-
- if (d->menu)
- disconnect(d->menu, &QQuickMenu::titleChanged, this, &QQuickAbstractButton::setText);
-
- if (menu) {
- setText(menu->title());
- menu->setY(height());
- menu->setParentItem(this);
- menu->setClosePolicy(QQuickPopup::CloseOnEscape | QQuickPopup::CloseOnPressOutsideParent | QQuickPopup::CloseOnReleaseOutsideParent);
- connect(menu, &QQuickMenu::titleChanged, this, &QQuickAbstractButton::setText);
- }
-
- d->menu = menu;
- emit menuChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::MenuBarItem::highlighted
-
- This property holds whether the menu bar item is highlighted by the user.
-
- A menu bar item can be highlighted by mouse hover or keyboard navigation.
-
- The default value is \c false.
-*/
-bool QQuickMenuBarItem::isHighlighted() const
-{
- Q_D(const QQuickMenuBarItem);
- return d->highlighted;
-}
-
-void QQuickMenuBarItem::setHighlighted(bool highlighted)
-{
- Q_D(QQuickMenuBarItem);
- if (highlighted == d->highlighted)
- return;
-
- d->highlighted = highlighted;
- emit highlightedChanged();
-}
-
-void QQuickMenuBarItem::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickMenuBarItem);
- QQuickAbstractButton::geometryChanged(newGeometry, oldGeometry);
- if (d->menu)
- d->menu->setY(newGeometry.height());
-}
-
-QFont QQuickMenuBarItem::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::MenuBar);
-}
-
-QPalette QQuickMenuBarItem::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::MenuBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickMenuBarItem::accessibleRole() const
-{
- return QAccessible::MenuBar;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickmenubaritem_p.h b/src/quicktemplates2/qquickmenubaritem_p.h
deleted file mode 100644
index 86cd6a6a..00000000
--- a/src/quicktemplates2/qquickmenubaritem_p.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUBARITEM_P_H
-#define QQUICKMENUBARITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMenu;
-class QQuickMenuBar;
-class QQuickMenuBarItemPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenuBarItem : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(QQuickMenuBar *menuBar READ menuBar NOTIFY menuBarChanged FINAL)
- Q_PROPERTY(QQuickMenu *menu READ menu WRITE setMenu NOTIFY menuChanged FINAL)
- Q_PROPERTY(bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged FINAL)
-
-public:
- explicit QQuickMenuBarItem(QQuickItem *parent = nullptr);
-
- QQuickMenuBar *menuBar() const;
-
- QQuickMenu *menu() const;
- void setMenu(QQuickMenu *menu);
-
- bool isHighlighted() const;
- void setHighlighted(bool highlighted);
-
-Q_SIGNALS:
- void triggered();
- void menuBarChanged();
- void menuChanged();
- void highlightedChanged();
-
-protected:
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickMenuBarItem)
- Q_DECLARE_PRIVATE(QQuickMenuBarItem)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMenuBarItem)
-
-#endif // QQUICKMENUBARITEM_P_H
diff --git a/src/quicktemplates2/qquickmenubaritem_p_p.h b/src/quicktemplates2/qquickmenubaritem_p_p.h
deleted file mode 100644
index a36e8949..00000000
--- a/src/quicktemplates2/qquickmenubaritem_p_p.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUBARITEM_P_P_H
-#define QQUICKMENUBARITEM_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickmenubaritem_p.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMenu;
-class QQuickMenuBar;
-
-class QQuickMenuBarItemPrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickMenuBarItem)
-
-public:
- static QQuickMenuBarItemPrivate *get(QQuickMenuBarItem *item)
- {
- return item->d_func();
- }
-
- void setMenuBar(QQuickMenuBar *menuBar);
-
- bool highlighted = false;
- QQuickMenu *menu = nullptr;
- QQuickMenuBar *menuBar = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKMENUBARITEM_P_P_H
diff --git a/src/quicktemplates2/qquickmenuitem.cpp b/src/quicktemplates2/qquickmenuitem.cpp
deleted file mode 100644
index a7fc63e8..00000000
--- a/src/quicktemplates2/qquickmenuitem.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmenuitem_p.h"
-#include "qquickmenuitem_p_p.h"
-#include "qquickmenu_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQuick/private/qquickevents_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuItem
- \inherits AbstractButton
- \instantiates QQuickMenuItem
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-menus
- \brief Presents an item within a Menu.
-
- MenuItem is a convenience type that implements the AbstractButton API,
- providing a familiar way to respond to menu items being \l triggered, for
- example.
-
- MenuItem inherits its API from AbstractButton. For instance, you can set
- \l {AbstractButton::text}{text} and \l {Icons in Qt Quick Controls}{icon}
- using the AbstractButton API.
-
- \code
- Button {
- id: fileButton
- text: "File"
- onClicked: menu.open()
-
- Menu {
- id: menu
-
- MenuItem {
- text: "New..."
- onTriggered: document.reset()
- }
- MenuItem {
- text: "Open..."
- onTriggered: openDialog.open()
- }
- MenuItem {
- text: "Save"
- onTriggered: saveDialog.open()
- }
- }
- }
- \endcode
-
- \sa {Customizing Menu}, Menu, {Menu Controls}
-*/
-
-void QQuickMenuItemPrivate::setMenu(QQuickMenu *newMenu)
-{
- Q_Q(QQuickMenuItem);
- if (menu == newMenu)
- return;
-
- menu = newMenu;
- emit q->menuChanged();
-}
-
-void QQuickMenuItemPrivate::setSubMenu(QQuickMenu *newSubMenu)
-{
- Q_Q(QQuickMenuItem);
- if (subMenu == newSubMenu)
- return;
-
- if (subMenu) {
- QObject::disconnect(subMenu, &QQuickMenu::titleChanged, q, &QQuickAbstractButton::setText);
- QObjectPrivate::disconnect(subMenu, &QQuickPopup::enabledChanged, this, &QQuickMenuItemPrivate::updateEnabled);
- }
-
- if (newSubMenu) {
- QObject::connect(newSubMenu, &QQuickMenu::titleChanged, q, &QQuickAbstractButton::setText);
- QObjectPrivate::connect(newSubMenu, &QQuickPopup::enabledChanged, this, &QQuickMenuItemPrivate::updateEnabled);
- q->setText(newSubMenu->title());
- }
-
- subMenu = newSubMenu;
- updateEnabled();
- emit q->subMenuChanged();
-}
-
-void QQuickMenuItemPrivate::updateEnabled()
-{
- Q_Q(QQuickMenuItem);
- q->setEnabled(subMenu && subMenu->isEnabled());
-}
-
-static inline QString arrowName() { return QStringLiteral("arrow"); }
-
-void QQuickMenuItemPrivate::cancelArrow()
-{
- Q_Q(QQuickAbstractButton);
- quickCancelDeferred(q, arrowName());
-}
-
-void QQuickMenuItemPrivate::executeArrow(bool complete)
-{
- Q_Q(QQuickMenuItem);
- if (arrow.wasExecuted())
- return;
-
- if (!arrow || complete)
- quickBeginDeferred(q, arrowName(), arrow);
- if (complete)
- quickCompleteDeferred(q, arrowName(), arrow);
-}
-
-bool QQuickMenuItemPrivate::acceptKeyClick(Qt::Key key) const
-{
- return key == Qt::Key_Space || key == Qt::Key_Return || key == Qt::Key_Enter;
-}
-
-/*!
- \qmlsignal void QtQuick.Controls::MenuItem::triggered()
-
- This signal is emitted when the menu item is triggered by the user.
-*/
-
-QQuickMenuItem::QQuickMenuItem(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickMenuItemPrivate), parent)
-{
- connect(this, &QQuickAbstractButton::clicked, this, &QQuickMenuItem::triggered);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::MenuItem::highlighted
-
- This property holds whether the menu item is highlighted by the user.
-
- A menu item can be highlighted by mouse hover or keyboard navigation.
-
- The default value is \c false.
-
- \sa Menu::currentIndex
-*/
-bool QQuickMenuItem::isHighlighted() const
-{
- Q_D(const QQuickMenuItem);
- return d->highlighted;
-}
-
-void QQuickMenuItem::setHighlighted(bool highlighted)
-{
- Q_D(QQuickMenuItem);
- if (highlighted == d->highlighted)
- return;
-
- d->highlighted = highlighted;
- emit highlightedChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty Item QtQuick.Controls::MenuItem::arrow
-
- This property holds the sub-menu arrow item.
-
- \sa {Customizing Menu}
-*/
-QQuickItem *QQuickMenuItem::arrow() const
-{
- QQuickMenuItemPrivate *d = const_cast<QQuickMenuItemPrivate *>(d_func());
- if (!d->arrow)
- d->executeArrow();
- return d->arrow;
-}
-
-void QQuickMenuItem::setArrow(QQuickItem *arrow)
-{
- Q_D(QQuickMenuItem);
- if (d->arrow == arrow)
- return;
-
- if (!d->arrow.isExecuting())
- d->cancelArrow();
-
- delete d->arrow;
- d->arrow = arrow;
- if (arrow && !arrow->parentItem())
- arrow->setParentItem(this);
- if (!d->arrow.isExecuting())
- emit arrowChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty Menu QtQuick.Controls::MenuItem::menu
- \readonly
-
- This property holds the menu that contains this menu item,
- or \c null if the item is not in a menu.
-*/
-QQuickMenu *QQuickMenuItem::menu() const
-{
- Q_D(const QQuickMenuItem);
- return d->menu;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty Menu QtQuick.Controls::MenuItem::subMenu
- \readonly
-
- This property holds the sub-menu that this item presents in
- the parent menu, or \c null if this item is not a sub-menu item.
-*/
-QQuickMenu *QQuickMenuItem::subMenu() const
-{
- Q_D(const QQuickMenuItem);
- return d->subMenu;
-}
-
-void QQuickMenuItem::componentComplete()
-{
- Q_D(QQuickMenuItem);
- d->executeArrow(true);
- QQuickAbstractButton::componentComplete();
-}
-
-QFont QQuickMenuItem::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Menu);
-}
-
-QPalette QQuickMenuItem::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Menu);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickMenuItem::accessibleRole() const
-{
- return QAccessible::MenuItem;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickmenuitem_p.h b/src/quicktemplates2/qquickmenuitem_p.h
deleted file mode 100644
index 7cffd97b..00000000
--- a/src/quicktemplates2/qquickmenuitem_p.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUITEM_P_H
-#define QQUICKMENUITEM_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMenu;
-class QQuickMenuItemPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenuItem : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QQuickItem *arrow READ arrow WRITE setArrow NOTIFY arrowChanged FINAL REVISION 3)
- Q_PROPERTY(QQuickMenu *menu READ menu NOTIFY menuChanged FINAL REVISION 3)
- Q_PROPERTY(QQuickMenu *subMenu READ subMenu NOTIFY subMenuChanged FINAL REVISION 3)
- Q_CLASSINFO("DeferredPropertyNames", "arrow,background,contentItem,indicator")
-
-public:
- explicit QQuickMenuItem(QQuickItem *parent = nullptr);
-
- bool isHighlighted() const;
- void setHighlighted(bool highlighted);
-
- // 2.3 (Qt 5.10)
- QQuickItem *arrow() const;
- void setArrow(QQuickItem *arrow);
-
- QQuickMenu *menu() const;
- QQuickMenu *subMenu() const;
-
-Q_SIGNALS:
- void triggered();
- void highlightedChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void arrowChanged();
- Q_REVISION(3) void menuChanged();
- Q_REVISION(3) void subMenuChanged();
-
-protected:
- void componentComplete() override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickMenuItem)
- Q_DECLARE_PRIVATE(QQuickMenuItem)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMenuItem)
-
-#endif // QQUICKMENUITEM_P_H
diff --git a/src/quicktemplates2/qquickmenuitem_p_p.h b/src/quicktemplates2/qquickmenuitem_p_p.h
deleted file mode 100644
index 58a0ff20..00000000
--- a/src/quicktemplates2/qquickmenuitem_p_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUITEM_P_P_H
-#define QQUICKMENUITEM_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickmenuitem_p.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickMenu;
-
-class QQuickMenuItemPrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickMenuItem)
-
-public:
- static QQuickMenuItemPrivate *get(QQuickMenuItem *item)
- {
- return item->d_func();
- }
-
- void setMenu(QQuickMenu *menu);
- void setSubMenu(QQuickMenu *subMenu);
-
- void updateEnabled();
-
- void cancelArrow();
- void executeArrow(bool complete = false);
-
- bool acceptKeyClick(Qt::Key key) const override;
-
- bool highlighted = false;
- QQuickDeferredPointer<QQuickItem> arrow;
- QQuickMenu *menu = nullptr;
- QQuickMenu *subMenu = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKMENUITEM_P_P_H
diff --git a/src/quicktemplates2/qquickmenuseparator.cpp b/src/quicktemplates2/qquickmenuseparator.cpp
deleted file mode 100644
index f6b8c4b2..00000000
--- a/src/quicktemplates2/qquickmenuseparator.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickmenuseparator_p.h"
-#include "qquickcontrol_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype MenuSeparator
- \inherits Control
- \instantiates QQuickMenuSeparator
- \inqmlmodule QtQuick.Controls
- \since 5.8
- \ingroup qtquickcontrols2-separators
- \brief Separates a group of items in a menu from adjacent items.
-
- MenuSeparator is used to visually distinguish between groups of items in a
- menu by separating them with a line.
-
- \image qtquickcontrols2-menuseparator.png
-
- \quotefromfile qtquickcontrols2-menuseparator-custom.qml
- \skipto import QtQuick
- \printuntil import QtQuick.Controls
- \skipto Menu
- \printto contentItem.parent: window
- \skipline contentItem.parent: window
- \printuntil text: qsTr("Exit")
- \printuntil }
- \printuntil }
-
- \sa {Customizing Menu}, Menu, {Separator Controls}
-*/
-
-QQuickMenuSeparator::QQuickMenuSeparator(QQuickItem *parent)
- : QQuickControl(parent)
-{
-}
-
-QFont QQuickMenuSeparator::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Menu);
-}
-
-QPalette QQuickMenuSeparator::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Menu);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickMenuSeparator::accessibleRole() const
-{
- return QAccessible::Separator;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickmenuseparator_p.h b/src/quicktemplates2/qquickmenuseparator_p.h
deleted file mode 100644
index 1e687fd0..00000000
--- a/src/quicktemplates2/qquickmenuseparator_p.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKMENUSEPARATOR_P_H
-#define QQUICKMENUSEPARATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickMenuSeparator : public QQuickControl
-{
- Q_OBJECT
-
-public:
- explicit QQuickMenuSeparator(QQuickItem *parent = nullptr);
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickMenuSeparator)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickMenuSeparator)
-
-#endif // QQUICKMENUSEPARATOR_P_H
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp
deleted file mode 100644
index 3f358706..00000000
--- a/src/quicktemplates2/qquickoverlay.cpp
+++ /dev/null
@@ -1,711 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickoverlay_p.h"
-#include "qquickoverlay_p_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickpopup_p_p.h"
-#include "qquickdrawer_p_p.h"
-#include "qquickapplicationwindow_p.h"
-#include <QtQml/qqmlinfo.h>
-#include <QtQml/qqmlproperty.h>
-#include <QtQml/qqmlcomponent.h>
-#include <algorithm>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Overlay
- \inherits Item
- \instantiates QQuickOverlay
- \inqmlmodule QtQuick.Controls
- \since 5.10
- \brief A window overlay for popups.
-
- Overlay provides a layer for popups, ensuring that popups are displayed above
- other content and that the background is dimmed when a \l {Popup::}{modal} or
- \l {Popup::dim}{dimmed} popup is visible.
-
- The overlay is an ordinary Item that covers the entire window. It can be used
- as a visual parent to position a popup in scene coordinates.
-
- \include qquickoverlay-popup-parent.qdocinc
-
- \sa ApplicationWindow
-*/
-
-QVector<QQuickPopup *> QQuickOverlayPrivate::stackingOrderPopups() const
-{
- const QList<QQuickItem *> children = paintOrderChildItems();
-
- QVector<QQuickPopup *> popups;
- popups.reserve(children.count());
-
- for (auto it = children.crbegin(), end = children.crend(); it != end; ++it) {
- QQuickPopup *popup = qobject_cast<QQuickPopup *>((*it)->parent());
- if (popup)
- popups += popup;
- }
-
- return popups;
-}
-
-QVector<QQuickDrawer *> QQuickOverlayPrivate::stackingOrderDrawers() const
-{
- QVector<QQuickDrawer *> sorted(allDrawers);
- std::sort(sorted.begin(), sorted.end(), [](const QQuickDrawer *one, const QQuickDrawer *another) {
- return one->z() > another->z();
- });
- return sorted;
-}
-
-void QQuickOverlayPrivate::itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &)
-{
- updateGeometry();
-}
-
-bool QQuickOverlayPrivate::startDrag(QEvent *event, const QPointF &pos)
-{
- Q_Q(QQuickOverlay);
- if (allDrawers.isEmpty())
- return false;
-
- // don't start dragging a drawer if a modal popup overlay is blocking (QTBUG-60602)
- QQuickItem *item = q->childAt(pos.x(), pos.y());
- if (item) {
- const auto popups = stackingOrderPopups();
- for (QQuickPopup *popup : popups) {
- QQuickPopupPrivate *p = QQuickPopupPrivate::get(popup);
- if (p->dimmer == item && popup->isVisible() && popup->isModal())
- return false;
- }
- }
-
- const QVector<QQuickDrawer *> drawers = stackingOrderDrawers();
- for (QQuickDrawer *drawer : drawers) {
- QQuickDrawerPrivate *p = QQuickDrawerPrivate::get(drawer);
- if (p->startDrag(event)) {
- setMouseGrabberPopup(drawer);
- return true;
- }
- }
-
- return false;
-}
-
-bool QQuickOverlayPrivate::handlePress(QQuickItem *source, QEvent *event, QQuickPopup *target)
-{
- if (target) {
- if (target->overlayEvent(source, event)) {
- setMouseGrabberPopup(target);
- return true;
- }
- return false;
- }
-
- switch (event->type()) {
- default: {
- if (mouseGrabberPopup)
- break;
-#if QT_CONFIG(quicktemplates2_multitouch)
- Q_FALLTHROUGH();
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
-#endif
- // allow non-modal popups to close themselves,
- // and non-dimming modal popups to block the event
- const auto popups = stackingOrderPopups();
- for (QQuickPopup *popup : popups) {
- if (popup->overlayEvent(source, event)) {
- setMouseGrabberPopup(popup);
- return true;
- }
- }
- break;
- }
- }
-
- event->ignore();
- return false;
-}
-
-bool QQuickOverlayPrivate::handleMove(QQuickItem *source, QEvent *event, QQuickPopup *target)
-{
- if (target)
- return target->overlayEvent(source, event);
- return false;
-}
-
-bool QQuickOverlayPrivate::handleRelease(QQuickItem *source, QEvent *event, QQuickPopup *target)
-{
- if (target) {
- setMouseGrabberPopup(nullptr);
- if (target->overlayEvent(source, event)) {
- setMouseGrabberPopup(nullptr);
- return true;
- }
- } else {
- const auto popups = stackingOrderPopups();
- for (QQuickPopup *popup : popups) {
- if (popup->overlayEvent(source, event))
- return true;
- }
- }
- return false;
-}
-
-bool QQuickOverlayPrivate::handleMouseEvent(QQuickItem *source, QMouseEvent *event, QQuickPopup *target)
-{
- switch (event->type()) {
- case QEvent::MouseButtonPress:
- if (!target && startDrag(event, event->windowPos()))
- return true;
- return handlePress(source, event, target);
- case QEvent::MouseMove:
- return handleMove(source, event, target ? target : mouseGrabberPopup.data());
- case QEvent::MouseButtonRelease:
- return handleRelease(source, event, target ? target : mouseGrabberPopup.data());
- default:
- break;
- }
- return false;
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-bool QQuickOverlayPrivate::handleTouchEvent(QQuickItem *source, QTouchEvent *event, QQuickPopup *target)
-{
- bool handled = false;
- switch (event->type()) {
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- switch (point.state()) {
- case Qt::TouchPointPressed:
- if (!target && startDrag(event, point.scenePos()))
- handled = true;
- else
- handled |= handlePress(source, event, target);
- break;
- case Qt::TouchPointMoved:
- handled |= handleMove(source, event, target ? target : mouseGrabberPopup.data());
- break;
- case Qt::TouchPointReleased:
- handled |= handleRelease(source, event, target ? target : mouseGrabberPopup.data());
- break;
- default:
- break;
- }
- }
- break;
-
- default:
- break;
- }
-
- return handled;
-}
-#endif
-
-void QQuickOverlayPrivate::addPopup(QQuickPopup *popup)
-{
- Q_Q(QQuickOverlay);
- allPopups += popup;
- if (QQuickDrawer *drawer = qobject_cast<QQuickDrawer *>(popup)) {
- allDrawers += drawer;
- q->setVisible(!allDrawers.isEmpty() || !q->childItems().isEmpty());
- }
-}
-
-void QQuickOverlayPrivate::removePopup(QQuickPopup *popup)
-{
- Q_Q(QQuickOverlay);
- allPopups.removeOne(popup);
- if (allDrawers.removeOne(static_cast<QQuickDrawer *>(popup)))
- q->setVisible(!allDrawers.isEmpty() || !q->childItems().isEmpty());
-}
-
-void QQuickOverlayPrivate::setMouseGrabberPopup(QQuickPopup *popup)
-{
- if (popup && !popup->isVisible())
- popup = nullptr;
- mouseGrabberPopup = popup;
-}
-
-void QQuickOverlayPrivate::updateGeometry()
-{
- Q_Q(QQuickOverlay);
- if (!window)
- return;
-
- QPointF pos;
- QSizeF size = window->size();
- qreal rotation = 0;
-
- switch (window->contentOrientation()) {
- case Qt::PrimaryOrientation:
- case Qt::PortraitOrientation:
- size = window->size();
- break;
- case Qt::LandscapeOrientation:
- rotation = 90;
- pos = QPointF((size.width() - size.height()) / 2, -(size.width() - size.height()) / 2);
- size.transpose();
- break;
- case Qt::InvertedPortraitOrientation:
- rotation = 180;
- break;
- case Qt::InvertedLandscapeOrientation:
- rotation = 270;
- pos = QPointF((size.width() - size.height()) / 2, -(size.width() - size.height()) / 2);
- size.transpose();
- break;
- default:
- break;
- }
-
- q->setSize(size);
- q->setPosition(pos);
- q->setRotation(rotation);
-}
-
-QQuickOverlay::QQuickOverlay(QQuickItem *parent)
- : QQuickItem(*(new QQuickOverlayPrivate), parent)
-{
- Q_D(QQuickOverlay);
- setZ(1000001); // DefaultWindowDecoration+1
- setAcceptedMouseButtons(Qt::AllButtons);
- setFiltersChildMouseEvents(true);
- setVisible(false);
-
- if (parent) {
- d->updateGeometry();
- QQuickItemPrivate::get(parent)->addItemChangeListener(d, QQuickItemPrivate::Geometry);
- if (QQuickWindow *window = parent->window()) {
- window->installEventFilter(this);
- QObjectPrivate::connect(window, &QWindow::contentOrientationChanged, d, &QQuickOverlayPrivate::updateGeometry);
- }
- }
-}
-
-QQuickOverlay::~QQuickOverlay()
-{
- Q_D(QQuickOverlay);
- if (QQuickItem *parent = parentItem())
- QQuickItemPrivate::get(parent)->removeItemChangeListener(d, QQuickItemPrivate::Geometry);
-}
-
-QQmlComponent *QQuickOverlay::modal() const
-{
- Q_D(const QQuickOverlay);
- return d->modal;
-}
-
-void QQuickOverlay::setModal(QQmlComponent *modal)
-{
- Q_D(QQuickOverlay);
- if (d->modal == modal)
- return;
-
- delete d->modal;
- d->modal = modal;
- emit modalChanged();
-}
-
-QQmlComponent *QQuickOverlay::modeless() const
-{
- Q_D(const QQuickOverlay);
- return d->modeless;
-}
-
-void QQuickOverlay::setModeless(QQmlComponent *modeless)
-{
- Q_D(QQuickOverlay);
- if (d->modeless == modeless)
- return;
-
- delete d->modeless;
- d->modeless = modeless;
- emit modelessChanged();
-}
-
-QQuickOverlay *QQuickOverlay::overlay(QQuickWindow *window)
-{
- if (!window)
- return nullptr;
-
- QQuickApplicationWindow *applicationWindow = qobject_cast<QQuickApplicationWindow *>(window);
- if (applicationWindow)
- return applicationWindow->overlay();
-
- const char *name = "_q_QQuickOverlay";
- QQuickOverlay *overlay = window->property(name).value<QQuickOverlay *>();
- if (!overlay) {
- QQuickItem *content = window->contentItem();
- // Do not re-create the overlay if the window is being destroyed
- // and thus, its content item no longer has a window associated.
- if (content && content->window()) {
- overlay = new QQuickOverlay(window->contentItem());
- window->setProperty(name, QVariant::fromValue(overlay));
- }
- }
- return overlay;
-}
-
-QQuickOverlayAttached *QQuickOverlay::qmlAttachedProperties(QObject *object)
-{
- return new QQuickOverlayAttached(object);
-}
-
-void QQuickOverlay::itemChange(ItemChange change, const ItemChangeData &data)
-{
- Q_D(QQuickOverlay);
- QQuickItem::itemChange(change, data);
-
- if (change == ItemChildAddedChange || change == ItemChildRemovedChange)
- setVisible(!d->allDrawers.isEmpty() || !childItems().isEmpty());
-}
-
-void QQuickOverlay::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickOverlay);
- QQuickItem::geometryChanged(newGeometry, oldGeometry);
- for (QQuickPopup *popup : qAsConst(d->allPopups))
- QQuickPopupPrivate::get(popup)->resizeOverlay();
-}
-
-void QQuickOverlay::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickOverlay);
- d->handleMouseEvent(this, event);
-}
-
-void QQuickOverlay::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickOverlay);
- d->handleMouseEvent(this, event);
-}
-
-void QQuickOverlay::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickOverlay);
- d->handleMouseEvent(this, event);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickOverlay::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickOverlay);
- d->handleTouchEvent(this, event);
-}
-#endif
-
-#if QT_CONFIG(wheelevent)
-void QQuickOverlay::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickOverlay);
- if (d->mouseGrabberPopup) {
- d->mouseGrabberPopup->overlayEvent(this, event);
- return;
- } else {
- const auto popups = d->stackingOrderPopups();
- for (QQuickPopup *popup : popups) {
- if (popup->overlayEvent(this, event))
- return;
- }
- }
- event->ignore();
-}
-#endif
-
-bool QQuickOverlay::childMouseEventFilter(QQuickItem *item, QEvent *event)
-{
- Q_D(QQuickOverlay);
- const auto popups = d->stackingOrderPopups();
- for (QQuickPopup *popup : popups) {
- QQuickPopupPrivate *p = QQuickPopupPrivate::get(popup);
-
- // Stop filtering overlay events when reaching a popup item or an item
- // that is inside the popup. Let the popup content handle its events.
- if (item == p->popupItem || p->popupItem->isAncestorOf(item))
- break;
-
- // Let the popup try closing itself when pressing or releasing over its
- // background dimming OR over another popup underneath, in case the popup
- // does not have background dimming.
- if (item == p->dimmer || !p->popupItem->isAncestorOf(item)) {
- switch (event->type()) {
-#if QT_CONFIG(quicktemplates2_multitouch)
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
- return d->handleTouchEvent(item, static_cast<QTouchEvent *>(event), popup);
-#endif
-
- case QEvent::MouseButtonPress:
- case QEvent::MouseMove:
- case QEvent::MouseButtonRelease:
- return d->handleMouseEvent(item, static_cast<QMouseEvent *>(event), popup);
-
- default:
- break;
- }
- }
- }
- return false;
-}
-
-bool QQuickOverlay::eventFilter(QObject *object, QEvent *event)
-{
- Q_D(QQuickOverlay);
- if (!isVisible() || object != d->window)
- return false;
-
- switch (event->type()) {
-#if QT_CONFIG(quicktemplates2_multitouch)
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
- if (static_cast<QTouchEvent *>(event)->touchPointStates() & Qt::TouchPointPressed)
- emit pressed();
- if (static_cast<QTouchEvent *>(event)->touchPointStates() & Qt::TouchPointReleased)
- emit released();
-
- // allow non-modal popups to close on touch release outside
- if (!d->mouseGrabberPopup) {
- for (const QTouchEvent::TouchPoint &point : static_cast<QTouchEvent *>(event)->touchPoints()) {
- if (point.state() == Qt::TouchPointReleased) {
- if (d->handleRelease(d->window->contentItem(), event, nullptr))
- break;
- }
- }
- }
-
- QQuickWindowPrivate::get(d->window)->handleTouchEvent(static_cast<QTouchEvent *>(event));
-
- // If a touch event hasn't been accepted after being delivered, there
- // were no items interested in touch events at any of the touch points.
- // Make sure to accept the touch event in order to receive the consequent
- // touch events, to be able to close non-modal popups on release outside.
- event->accept();
- return true;
-#endif
-
- case QEvent::MouseButtonPress:
-#if QT_CONFIG(quicktemplates2_multitouch)
- // do not emit pressed() twice when mouse events have been synthesized from touch events
- if (static_cast<QMouseEvent *>(event)->source() == Qt::MouseEventNotSynthesized)
-#endif
- emit pressed();
-
- QQuickWindowPrivate::get(d->window)->handleMouseEvent(static_cast<QMouseEvent *>(event));
-
- // If a mouse event hasn't been accepted after being delivered, there
- // was no item interested in mouse events at the mouse point. Make sure
- // to accept the mouse event in order to receive the consequent mouse
- // events, to be able to close non-modal popups on release outside.
- event->accept();
- return true;
-
- case QEvent::MouseButtonRelease:
-#if QT_CONFIG(quicktemplates2_multitouch)
- // do not emit released() twice when mouse events have been synthesized from touch events
- if (static_cast<QMouseEvent *>(event)->source() == Qt::MouseEventNotSynthesized)
-#endif
- emit released();
-
- // allow non-modal popups to close on mouse release outside
- if (!d->mouseGrabberPopup)
- d->handleRelease(d->window->contentItem(), event, nullptr);
- break;
-
- default:
- break;
- }
-
- return false;
-}
-
-class QQuickOverlayAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickOverlayAttached)
-
-public:
- void setWindow(QQuickWindow *newWindow);
-
- QQuickWindow *window = nullptr;
- QQmlComponent *modal = nullptr;
- QQmlComponent *modeless = nullptr;
-};
-
-void QQuickOverlayAttachedPrivate::setWindow(QQuickWindow *newWindow)
-{
- Q_Q(QQuickOverlayAttached);
- if (window == newWindow)
- return;
-
- if (QQuickOverlay *oldOverlay = QQuickOverlay::overlay(window)) {
- QObject::disconnect(oldOverlay, &QQuickOverlay::pressed, q, &QQuickOverlayAttached::pressed);
- QObject::disconnect(oldOverlay, &QQuickOverlay::released, q, &QQuickOverlayAttached::released);
- }
-
- if (QQuickOverlay *newOverlay = QQuickOverlay::overlay(newWindow)) {
- QObject::connect(newOverlay, &QQuickOverlay::pressed, q, &QQuickOverlayAttached::pressed);
- QObject::connect(newOverlay, &QQuickOverlay::released, q, &QQuickOverlayAttached::released);
- }
-
- window = newWindow;
- emit q->overlayChanged();
-}
-
-/*!
- \qmlattachedsignal QtQuick.Controls::Overlay::pressed()
-
- This attached signal is emitted when the overlay is pressed by the user while
- a popup is visible.
-
- The signal can be attached to any item, popup, or window. When attached to an
- item or a popup, the signal is only emitted if the item or popup is in a window.
-*/
-
-/*!
- \qmlattachedsignal QtQuick.Controls::Overlay::released()
-
- This attached signal is emitted when the overlay is released by the user while
- a popup is visible.
-
- The signal can be attached to any item, popup, or window. When attached to an
- item or a popup, the signal is only emitted if the item or popup is in a window.
-*/
-
-QQuickOverlayAttached::QQuickOverlayAttached(QObject *parent)
- : QObject(*(new QQuickOverlayAttachedPrivate), parent)
-{
- Q_D(QQuickOverlayAttached);
- if (QQuickItem *item = qobject_cast<QQuickItem *>(parent)) {
- d->setWindow(item->window());
- QObjectPrivate::connect(item, &QQuickItem::windowChanged, d, &QQuickOverlayAttachedPrivate::setWindow);
- } else if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(parent)) {
- d->setWindow(popup->window());
- QObjectPrivate::connect(popup, &QQuickPopup::windowChanged, d, &QQuickOverlayAttachedPrivate::setWindow);
- } else {
- d->setWindow(qobject_cast<QQuickWindow *>(parent));
- }
-}
-
-/*!
- \qmlattachedproperty Overlay QtQuick.Controls::Overlay::overlay
- \readonly
-
- This attached property holds the window overlay item.
-
- The property can be attached to any item, popup, or window. When attached to an
- item or a popup, the value is \c null if the item or popup is not in a window.
-*/
-QQuickOverlay *QQuickOverlayAttached::overlay() const
-{
- Q_D(const QQuickOverlayAttached);
- return QQuickOverlay::overlay(d->window);
-}
-
-/*!
- \qmlattachedproperty Component QtQuick.Controls::Overlay::modal
-
- This attached property holds a component to use as a visual item that implements
- background dimming for modal popups. It is created for and stacked below visible
- modal popups.
-
- The property can be attached to any popup.
-
- For example, to change the color of the background dimming for a modal
- popup, the following code can be used:
-
- \snippet qtquickcontrols2-overlay-modal.qml 1
-
- \sa Popup::modal
-*/
-QQmlComponent *QQuickOverlayAttached::modal() const
-{
- Q_D(const QQuickOverlayAttached);
- return d->modal;
-}
-
-void QQuickOverlayAttached::setModal(QQmlComponent *modal)
-{
- Q_D(QQuickOverlayAttached);
- if (d->modal == modal)
- return;
-
- delete d->modal;
- d->modal = modal;
- emit modalChanged();
-}
-
-/*!
- \qmlattachedproperty Component QtQuick.Controls::Overlay::modeless
-
- This attached property holds a component to use as a visual item that implements
- background dimming for modeless popups. It is created for and stacked below visible
- dimming popups.
-
- The property can be attached to any popup.
-
- For example, to change the color of the background dimming for a modeless
- popup, the following code can be used:
-
- \snippet qtquickcontrols2-overlay-modeless.qml 1
-
- \sa Popup::dim
-*/
-QQmlComponent *QQuickOverlayAttached::modeless() const
-{
- Q_D(const QQuickOverlayAttached);
- return d->modeless;
-}
-
-void QQuickOverlayAttached::setModeless(QQmlComponent *modeless)
-{
- Q_D(QQuickOverlayAttached);
- if (d->modeless == modeless)
- return;
-
- delete d->modeless;
- d->modeless = modeless;
- emit modelessChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickoverlay_p.h b/src/quicktemplates2/qquickoverlay_p.h
deleted file mode 100644
index 1d238163..00000000
--- a/src/quicktemplates2/qquickoverlay_p.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKOVERLAY_P_H
-#define QQUICKOVERLAY_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/qquickitem.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickOverlayPrivate;
-class QQuickOverlayAttached;
-class QQuickOverlayAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickOverlay : public QQuickItem
-{
- Q_OBJECT
- Q_PROPERTY(QQmlComponent *modal READ modal WRITE setModal NOTIFY modalChanged FINAL)
- Q_PROPERTY(QQmlComponent *modeless READ modeless WRITE setModeless NOTIFY modelessChanged FINAL)
-
-public:
- explicit QQuickOverlay(QQuickItem *parent = nullptr);
- ~QQuickOverlay();
-
- QQmlComponent *modal() const;
- void setModal(QQmlComponent *modal);
-
- QQmlComponent *modeless() const;
- void setModeless(QQmlComponent *modeless);
-
- static QQuickOverlay *overlay(QQuickWindow *window);
-
- static QQuickOverlayAttached *qmlAttachedProperties(QObject *object);
-
-Q_SIGNALS:
- void modalChanged();
- void modelessChanged();
- void pressed();
- void released();
-
-protected:
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
- void mousePressEvent(QMouseEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
- bool childMouseEventFilter(QQuickItem *item, QEvent *event) override;
- bool eventFilter(QObject *object, QEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickOverlay)
- Q_DECLARE_PRIVATE(QQuickOverlay)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickOverlayAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickOverlay *overlay READ overlay NOTIFY overlayChanged FINAL)
- Q_PROPERTY(QQmlComponent *modal READ modal WRITE setModal NOTIFY modalChanged FINAL)
- Q_PROPERTY(QQmlComponent *modeless READ modeless WRITE setModeless NOTIFY modelessChanged FINAL)
-
-public:
- explicit QQuickOverlayAttached(QObject *parent = nullptr);
-
- QQuickOverlay *overlay() const;
-
- QQmlComponent *modal() const;
- void setModal(QQmlComponent *modal);
-
- QQmlComponent *modeless() const;
- void setModeless(QQmlComponent *modeless);
-
-Q_SIGNALS:
- void overlayChanged();
- void modalChanged();
- void modelessChanged();
- void pressed();
- void released();
-
-private:
- Q_DISABLE_COPY(QQuickOverlayAttached)
- Q_DECLARE_PRIVATE(QQuickOverlayAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickOverlay)
-QML_DECLARE_TYPEINFO(QQuickOverlay, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKOVERLAY_P_H
diff --git a/src/quicktemplates2/qquickoverlay_p_p.h b/src/quicktemplates2/qquickoverlay_p_p.h
deleted file mode 100644
index b445f87a..00000000
--- a/src/quicktemplates2/qquickoverlay_p_p.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKOVERLAY_P_P_H
-#define QQUICKOVERLAY_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickoverlay_p.h>
-
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPopup;
-class QQuickDrawer;
-
-class QQuickOverlayPrivate : public QQuickItemPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickOverlay)
-
-public:
- static QQuickOverlayPrivate *get(QQuickOverlay *overlay)
- {
- return overlay->d_func();
- }
-
- bool startDrag(QEvent *event, const QPointF &pos);
- bool handlePress(QQuickItem *source, QEvent *event, QQuickPopup *target);
- bool handleMove(QQuickItem *source, QEvent *event, QQuickPopup *target);
- bool handleRelease(QQuickItem *source, QEvent *event, QQuickPopup *target);
-
- bool handleMouseEvent(QQuickItem *source, QMouseEvent *event, QQuickPopup *target = nullptr);
-#if QT_CONFIG(quicktemplates2_multitouch)
- bool handleTouchEvent(QQuickItem *source, QTouchEvent *event, QQuickPopup *target = nullptr);
-#endif
-
- void addPopup(QQuickPopup *popup);
- void removePopup(QQuickPopup *popup);
- void setMouseGrabberPopup(QQuickPopup *popup);
-
- QVector<QQuickPopup *> stackingOrderPopups() const;
- QVector<QQuickDrawer *> stackingOrderDrawers() const;
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
-
- void updateGeometry();
-
- QQmlComponent *modal = nullptr;
- QQmlComponent *modeless = nullptr;
- QVector<QQuickPopup *> allPopups;
- QVector<QQuickDrawer *> allDrawers;
- QPointer<QQuickPopup> mouseGrabberPopup;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKOVERLAY_P_P_H
diff --git a/src/quicktemplates2/qquickpage.cpp b/src/quicktemplates2/qquickpage.cpp
deleted file mode 100644
index 78bae921..00000000
--- a/src/quicktemplates2/qquickpage.cpp
+++ /dev/null
@@ -1,480 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpage_p.h"
-#include "qquickpage_p_p.h"
-#include "qquicktabbar_p.h"
-#include "qquicktoolbar_p.h"
-#include "qquickdialogbuttonbox_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Page
- \inherits Pane
- \instantiates QQuickPage
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Styled page control with support for a header and footer.
-
- Page is a container control which makes it convenient to add
- a \l header and \l footer item to a page.
-
- \image qtquickcontrols2-page-wireframe.png
-
- The following example snippet illustrates how to use a page-specific
- toolbar header and an application-wide tabbar footer.
-
- \qml
- import QtQuick.Controls 2.12
-
- ApplicationWindow {
- visible: true
-
- StackView {
- anchors.fill: parent
-
- initialItem: Page {
- header: ToolBar {
- // ...
- }
- }
- }
-
- footer: TabBar {
- // ...
- }
- }
- \endqml
-
- \sa ApplicationWindow, {Container Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-static const QQuickItemPrivate::ChangeTypes LayoutChanges = QQuickItemPrivate::Geometry | QQuickItemPrivate::Visibility | QQuickItemPrivate::Destroyed
- | QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight;
-
-namespace {
- enum Position {
- Header,
- Footer
- };
-
- Q_STATIC_ASSERT(int(Header) == int(QQuickTabBar::Header));
- Q_STATIC_ASSERT(int(Footer) == int(QQuickTabBar::Footer));
-
- Q_STATIC_ASSERT(int(Header) == int(QQuickToolBar::Header));
- Q_STATIC_ASSERT(int(Footer) == int(QQuickToolBar::Footer));
-
- Q_STATIC_ASSERT(int(Header) == int(QQuickDialogButtonBox::Header));
- Q_STATIC_ASSERT(int(Footer) == int(QQuickDialogButtonBox::Footer));
-
- static void setPos(QQuickItem *item, Position position)
- {
- if (QQuickToolBar *toolBar = qobject_cast<QQuickToolBar *>(item))
- toolBar->setPosition(static_cast<QQuickToolBar::Position>(position));
- else if (QQuickTabBar *tabBar = qobject_cast<QQuickTabBar *>(item))
- tabBar->setPosition(static_cast<QQuickTabBar::Position>(position));
- else if (QQuickDialogButtonBox *buttonBox = qobject_cast<QQuickDialogButtonBox *>(item))
- buttonBox->setPosition(static_cast<QQuickDialogButtonBox::Position>(position));
- }
-}
-
-void QQuickPagePrivate::relayout()
-{
- Q_Q(QQuickPage);
- const qreal hh = header && header->isVisible() ? header->height() : 0;
- const qreal fh = footer && footer->isVisible() ? footer->height() : 0;
- const qreal hsp = hh > 0 ? spacing : 0;
- const qreal fsp = fh > 0 ? spacing : 0;
-
- if (contentItem) {
- contentItem->setY(q->topPadding() + hh + hsp);
- contentItem->setX(q->leftPadding());
- contentItem->setWidth(q->availableWidth());
- contentItem->setHeight(q->availableHeight() - hh - fh - hsp - fsp);
- }
-
- if (header)
- header->setWidth(q->width());
-
- if (footer) {
- footer->setY(q->height() - footer->height());
- footer->setWidth(q->width());
- }
-}
-
-void QQuickPagePrivate::resizeContent()
-{
- relayout();
-}
-
-void QQuickPagePrivate::itemVisibilityChanged(QQuickItem *item)
-{
- Q_Q(QQuickPage);
- QQuickPanePrivate::itemVisibilityChanged(item);
- if (item == header) {
- QBoolBlocker signalGuard(emittingImplicitSizeChangedSignals);
- emit q->implicitHeaderWidthChanged();
- emit q->implicitHeaderHeightChanged();
- relayout();
- } else if (item == footer) {
- QBoolBlocker signalGuard(emittingImplicitSizeChangedSignals);
- emit q->implicitFooterWidthChanged();
- emit q->implicitFooterHeightChanged();
- relayout();
- }
-}
-
-void QQuickPagePrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickPage);
- QQuickPanePrivate::itemImplicitWidthChanged(item);
-
- // Avoid binding loops by skipping signal emission if we're already doing it.
- if (emittingImplicitSizeChangedSignals)
- return;
-
- if (item == header)
- emit q->implicitHeaderWidthChanged();
- else if (item == footer)
- emit q->implicitFooterWidthChanged();
-}
-
-void QQuickPagePrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickPage);
- QQuickPanePrivate::itemImplicitHeightChanged(item);
-
- // Avoid binding loops by skipping signal emission if we're already doing it.
- if (emittingImplicitSizeChangedSignals)
- return;
-
- if (item == header)
- emit q->implicitHeaderHeightChanged();
- else if (item == footer)
- emit q->implicitFooterHeightChanged();
-}
-
-void QQuickPagePrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF & diff)
-{
- QQuickPanePrivate::itemGeometryChanged(item, change, diff);
- if (item == header || item == footer)
- relayout();
-}
-
-void QQuickPagePrivate::itemDestroyed(QQuickItem *item)
-{
- Q_Q(QQuickPage);
- QQuickPanePrivate::itemDestroyed(item);
- if (item == header) {
- header = nullptr;
- relayout();
- emit q->implicitHeaderWidthChanged();
- emit q->implicitHeaderHeightChanged();
- emit q->headerChanged();
- } else if (item == footer) {
- footer = nullptr;
- relayout();
- emit q->implicitFooterWidthChanged();
- emit q->implicitFooterHeightChanged();
- emit q->footerChanged();
- }
-}
-
-QQuickPage::QQuickPage(QQuickItem *parent)
- : QQuickPane(*(new QQuickPagePrivate), parent)
-{
-}
-
-QQuickPage::QQuickPage(QQuickPagePrivate &dd, QQuickItem *parent)
- : QQuickPane(dd, parent)
-{
-}
-
-QQuickPage::~QQuickPage()
-{
- Q_D(QQuickPage);
- if (d->header)
- QQuickItemPrivate::get(d->header)->removeItemChangeListener(d, LayoutChanges);
- if (d->footer)
- QQuickItemPrivate::get(d->footer)->removeItemChangeListener(d, LayoutChanges);
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::Page::title
-
- This property holds the page title.
-
- The title is often displayed at the top of a page to give
- the user context about the page they are viewing.
-
- \code
- ApplicationWindow {
- visible: true
- width: 400
- height: 400
-
- header: Label {
- text: view.currentItem.title
- horizontalAlignment: Text.AlignHCenter
- }
-
- SwipeView {
- id: view
- anchors.fill: parent
-
- Page {
- title: qsTr("Home")
- }
- Page {
- title: qsTr("Discover")
- }
- Page {
- title: qsTr("Activity")
- }
- }
- }
- \endcode
-*/
-
-QString QQuickPage::title() const
-{
- return d_func()->title;
-}
-
-void QQuickPage::setTitle(const QString &title)
-{
- Q_D(QQuickPage);
- if (d->title == title)
- return;
-
- d->title = title;
- setAccessibleName(title);
- emit titleChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Page::header
-
- This property holds the page header item. The header item is positioned to
- the top, and resized to the width of the page. The default value is \c null.
-
- \note Assigning a ToolBar, TabBar, or DialogButtonBox as a page header
- automatically sets the respective \l ToolBar::position, \l TabBar::position,
- or \l DialogButtonBox::position property to \c Header.
-
- \sa footer, ApplicationWindow::header
-*/
-QQuickItem *QQuickPage::header() const
-{
- Q_D(const QQuickPage);
- return d->header;
-}
-
-void QQuickPage::setHeader(QQuickItem *header)
-{
- Q_D(QQuickPage);
- if (d->header == header)
- return;
-
- if (d->header) {
- QQuickItemPrivate::get(d->header)->removeItemChangeListener(d, LayoutChanges);
- d->header->setParentItem(nullptr);
- }
- d->header = header;
- if (header) {
- header->setParentItem(this);
- QQuickItemPrivate::get(header)->addItemChangeListener(d, LayoutChanges);
- if (qFuzzyIsNull(header->z()))
- header->setZ(1);
- setPos(header, Header);
- }
- if (isComponentComplete())
- d->relayout();
- emit headerChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Page::footer
-
- This property holds the page footer item. The footer item is positioned to
- the bottom, and resized to the width of the page. The default value is \c null.
-
- \note Assigning a ToolBar, TabBar, or DialogButtonBox as a page footer
- automatically sets the respective \l ToolBar::position, \l TabBar::position,
- or \l DialogButtonBox::position property to \c Footer.
-
- \sa header, ApplicationWindow::footer
-*/
-QQuickItem *QQuickPage::footer() const
-{
- Q_D(const QQuickPage);
- return d->footer;
-}
-
-void QQuickPage::setFooter(QQuickItem *footer)
-{
- Q_D(QQuickPage);
- if (d->footer == footer)
- return;
-
- if (d->footer) {
- QQuickItemPrivate::get(d->footer)->removeItemChangeListener(d, LayoutChanges);
- d->footer->setParentItem(nullptr);
- }
- d->footer = footer;
- if (footer) {
- footer->setParentItem(this);
- QQuickItemPrivate::get(footer)->addItemChangeListener(d, LayoutChanges);
- if (qFuzzyIsNull(footer->z()))
- footer->setZ(1);
- setPos(footer, Footer);
- }
- if (isComponentComplete())
- d->relayout();
- emit footerChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Page::implicitHeaderWidth
- \readonly
-
- This property holds the implicit header width.
-
- The value is equal to \c {header && header.visible ? header.implicitWidth : 0}.
-
- \sa implicitHeaderHeight, implicitFooterWidth
-*/
-qreal QQuickPage::implicitHeaderWidth() const
-{
- Q_D(const QQuickPage);
- if (!d->header || !d->header->isVisible())
- return 0;
- return d->header->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Page::implicitHeaderHeight
- \readonly
-
- This property holds the implicit header height.
-
- The value is equal to \c {header && header.visible ? header.implicitHeight : 0}.
-
- \sa implicitHeaderWidth, implicitFooterHeight
-*/
-qreal QQuickPage::implicitHeaderHeight() const
-{
- Q_D(const QQuickPage);
- if (!d->header || !d->header->isVisible())
- return 0;
- return d->header->implicitHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Page::implicitFooterWidth
- \readonly
-
- This property holds the implicit footer width.
-
- The value is equal to \c {footer && footer.visible ? footer.implicitWidth : 0}.
-
- \sa implicitFooterHeight, implicitHeaderWidth
-*/
-qreal QQuickPage::implicitFooterWidth() const
-{
- Q_D(const QQuickPage);
- if (!d->footer || !d->footer->isVisible())
- return 0;
- return d->footer->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Page::implicitFooterHeight
- \readonly
-
- This property holds the implicit footer height.
-
- The value is equal to \c {footer && footer.visible ? footer.implicitHeight : 0}.
-
- \sa implicitFooterWidth, implicitHeaderHeight
-*/
-qreal QQuickPage::implicitFooterHeight() const
-{
- Q_D(const QQuickPage);
- if (!d->footer || !d->footer->isVisible())
- return 0;
- return d->footer->implicitHeight();
-}
-
-void QQuickPage::componentComplete()
-{
- Q_D(QQuickPage);
- QQuickPane::componentComplete();
- d->relayout();
-}
-
-void QQuickPage::spacingChange(qreal newSpacing, qreal oldSpacing)
-{
- Q_D(QQuickPage);
- QQuickPane::spacingChange(newSpacing, oldSpacing);
- d->relayout();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickPage::accessibleRole() const
-{
- return QAccessible::PageTab;
-}
-
-void QQuickPage::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickPage);
- QQuickPane::accessibilityActiveChanged(active);
-
- if (active)
- setAccessibleName(d->title);
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpage_p.h b/src/quicktemplates2/qquickpage_p.h
deleted file mode 100644
index b7888ad6..00000000
--- a/src/quicktemplates2/qquickpage_p.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPAGE_P_H
-#define QQUICKPAGE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpane_p.h>
-#include <QtQml/qqmllist.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPagePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPage : public QQuickPane
-{
- Q_OBJECT
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(QQuickItem *header READ header WRITE setHeader NOTIFY headerChanged FINAL)
- Q_PROPERTY(QQuickItem *footer READ footer WRITE setFooter NOTIFY footerChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth NOTIFY contentWidthChanged FINAL REVISION 1)
- Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight NOTIFY contentHeightChanged FINAL REVISION 1)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitHeaderWidth READ implicitHeaderWidth NOTIFY implicitHeaderWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitHeaderHeight READ implicitHeaderHeight NOTIFY implicitHeaderHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitFooterWidth READ implicitFooterWidth NOTIFY implicitFooterWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitFooterHeight READ implicitFooterHeight NOTIFY implicitFooterHeightChanged FINAL REVISION 5)
-
-public:
- explicit QQuickPage(QQuickItem *parent = nullptr);
- ~QQuickPage();
-
- QString title() const;
- void setTitle(const QString &title);
-
- QQuickItem *header() const;
- void setHeader(QQuickItem *header);
-
- QQuickItem *footer() const;
- void setFooter(QQuickItem *footer);
-
- // 2.5 (Qt 5.12)
- qreal implicitHeaderWidth() const;
- qreal implicitHeaderHeight() const;
-
- qreal implicitFooterWidth() const;
- qreal implicitFooterHeight() const;
-
-Q_SIGNALS:
- void titleChanged();
- void headerChanged();
- void footerChanged();
- // 2.5 (Qt 5.12)
- void implicitHeaderWidthChanged();
- void implicitHeaderHeightChanged();
- void implicitFooterWidthChanged();
- void implicitFooterHeightChanged();
-
-protected:
- QQuickPage(QQuickPagePrivate &dd, QQuickItem *parent);
-
- void componentComplete() override;
-
- void spacingChange(qreal newSpacing, qreal oldSpacing) override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickPage)
- Q_DECLARE_PRIVATE(QQuickPage)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPage)
-
-#endif // QQUICKPAGE_P_H
diff --git a/src/quicktemplates2/qquickpage_p_p.h b/src/quicktemplates2/qquickpage_p_p.h
deleted file mode 100644
index 6c8b0371..00000000
--- a/src/quicktemplates2/qquickpage_p_p.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPAGE_P_P_H
-#define QQUICKPAGE_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpane_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPane;
-
-class QQuickPagePrivate : public QQuickPanePrivate
-{
- Q_DECLARE_PUBLIC(QQuickPage)
-
-public:
- void relayout();
- void resizeContent() override;
-
- void itemVisibilityChanged(QQuickItem *item) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF & diff) override;
- void itemDestroyed(QQuickItem *item) override;
-
- QString title;
- QQuickItem *header = nullptr;
- QQuickItem *footer = nullptr;
- bool emittingImplicitSizeChangedSignals = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPAGE_P_P_H
diff --git a/src/quicktemplates2/qquickpageindicator.cpp b/src/quicktemplates2/qquickpageindicator.cpp
deleted file mode 100644
index d29158a8..00000000
--- a/src/quicktemplates2/qquickpageindicator.cpp
+++ /dev/null
@@ -1,346 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpageindicator_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtCore/qmath.h>
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype PageIndicator
- \inherits Control
- \instantiates QQuickPageIndicator
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-indicators
- \brief Indicates the currently active page.
-
- PageIndicator is used to indicate the currently active page
- in a container of multiple pages. PageIndicator consists of
- delegate items that present pages.
-
- \image qtquickcontrols2-pageindicator.png
-
- \code
- Column {
- StackLayout {
- id: stackLayout
-
- Page {
- // ...
- }
- Page {
- // ...
- }
- Page {
- // ...
- }
- }
-
- PageIndicator {
- currentIndex: stackLayout.currentIndex
- count: stackLayout.count
- }
- }
- \endcode
-
- \sa SwipeView, {Customizing PageIndicator}, {Indicator Controls}
-*/
-
-class QQuickPageIndicatorPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickPageIndicator)
-
-public:
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- QQuickItem *itemAt(const QPointF &pos) const;
- void updatePressed(bool pressed, const QPointF &pos = QPointF());
- void setContextProperty(QQuickItem *item, const QString &name, const QVariant &value);
-
- void itemChildAdded(QQuickItem *, QQuickItem *child) override;
-
- int count = 0;
- int currentIndex = 0;
- bool interactive = false;
- QQmlComponent *delegate = nullptr;
- QQuickItem *pressedItem = nullptr;
-};
-
-void QQuickPageIndicatorPrivate::handlePress(const QPointF &point)
-{
- QQuickControlPrivate::handlePress(point);
- if (interactive)
- updatePressed(true, point);
-}
-
-void QQuickPageIndicatorPrivate::handleMove(const QPointF &point)
-{
- QQuickControlPrivate::handleMove(point);
- if (interactive)
- updatePressed(true, point);
-}
-
-void QQuickPageIndicatorPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickPageIndicator);
- QQuickControlPrivate::handleRelease(point);
- if (interactive) {
- if (pressedItem && contentItem)
- q->setCurrentIndex(contentItem->childItems().indexOf(pressedItem));
- updatePressed(false);
- }
-}
-
-void QQuickPageIndicatorPrivate::handleUngrab()
-{
- QQuickControlPrivate::handleUngrab();
- if (interactive)
- updatePressed(false);
-}
-
-QQuickItem *QQuickPageIndicatorPrivate::itemAt(const QPointF &pos) const
-{
- Q_Q(const QQuickPageIndicator);
- if (!contentItem || !q->contains(pos))
- return nullptr;
-
- QPointF contentPos = q->mapToItem(contentItem, pos);
- QQuickItem *item = contentItem->childAt(contentPos.x(), contentPos.y());
- while (item && item->parentItem() != contentItem)
- item = item->parentItem();
- if (item && !QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return item;
-
- // find the nearest
- qreal distance = qInf();
- QQuickItem *nearest = nullptr;
- const auto childItems = contentItem->childItems();
- for (QQuickItem *child : childItems) {
- if (QQuickItemPrivate::get(child)->isTransparentForPositioner())
- continue;
-
- QPointF center = child->boundingRect().center();
- QPointF pt = contentItem->mapToItem(child, contentPos);
-
- qreal len = QLineF(center, pt).length();
- if (len < distance) {
- distance = len;
- nearest = child;
- }
- }
- return nearest;
-}
-
-void QQuickPageIndicatorPrivate::updatePressed(bool pressed, const QPointF &pos)
-{
- QQuickItem *prevItem = pressedItem;
- pressedItem = pressed ? itemAt(pos) : nullptr;
- if (prevItem != pressedItem) {
- setContextProperty(prevItem, QStringLiteral("pressed"), false);
- setContextProperty(pressedItem, QStringLiteral("pressed"), pressed);
- }
-}
-
-void QQuickPageIndicatorPrivate::setContextProperty(QQuickItem *item, const QString &name, const QVariant &value)
-{
- QQmlContext *context = qmlContext(item);
- if (context && context->isValid()) {
- context = context->parentContext();
- if (context && context->isValid())
- context->setContextProperty(name, value);
- }
-}
-
-void QQuickPageIndicatorPrivate::itemChildAdded(QQuickItem *, QQuickItem *child)
-{
- if (!QQuickItemPrivate::get(child)->isTransparentForPositioner())
- setContextProperty(child, QStringLiteral("pressed"), false);
-}
-
-QQuickPageIndicator::QQuickPageIndicator(QQuickItem *parent)
- : QQuickControl(*(new QQuickPageIndicatorPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::PageIndicator::count
-
- This property holds the number of pages.
-*/
-int QQuickPageIndicator::count() const
-{
- Q_D(const QQuickPageIndicator);
- return d->count;
-}
-
-void QQuickPageIndicator::setCount(int count)
-{
- Q_D(QQuickPageIndicator);
- if (d->count == count)
- return;
-
- d->count = count;
- emit countChanged();
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::PageIndicator::currentIndex
-
- This property holds the index of the current page.
-*/
-int QQuickPageIndicator::currentIndex() const
-{
- Q_D(const QQuickPageIndicator);
- return d->currentIndex;
-}
-
-void QQuickPageIndicator::setCurrentIndex(int index)
-{
- Q_D(QQuickPageIndicator);
- if (d->currentIndex == index)
- return;
-
- d->currentIndex = index;
- emit currentIndexChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::PageIndicator::interactive
-
- This property holds whether the control is interactive. An interactive page indicator
- reacts to presses and automatically changes the \l {currentIndex}{current index}
- appropriately.
-
- \snippet qtquickcontrols2-pageindicator-interactive.qml 1
-
- \note Page indicators are typically quite small (in order to avoid
- distracting the user from the actual content of the user interface). They
- can be hard to click, and might not be easily recognized as interactive by
- the user. For these reasons, they are best used to complement primary
- methods of navigation (such as \l SwipeView), not replace them.
-
- The default value is \c false.
-*/
-bool QQuickPageIndicator::isInteractive() const
-{
- Q_D(const QQuickPageIndicator);
- return d->interactive;
-}
-
-void QQuickPageIndicator::setInteractive(bool interactive)
-{
- Q_D(QQuickPageIndicator);
- if (d->interactive == interactive)
- return;
-
- d->interactive = interactive;
- if (interactive) {
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
- } else {
- setAcceptedMouseButtons(Qt::NoButton);
-#if QT_CONFIG(cursor)
- unsetCursor();
-#endif
- }
- emit interactiveChanged();
-}
-
-/*!
- \qmlproperty Component QtQuick.Controls::PageIndicator::delegate
-
- This property holds a delegate that presents a page.
-
- The following properties are available in the context of each delegate:
- \table
- \row \li \b index : int \li The index of the item
- \row \li \b pressed : bool \li Whether the item is pressed
- \endtable
-*/
-QQmlComponent *QQuickPageIndicator::delegate() const
-{
- Q_D(const QQuickPageIndicator);
- return d->delegate;
-}
-
-void QQuickPageIndicator::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickPageIndicator);
- if (d->delegate == delegate)
- return;
-
- d->delegate = delegate;
- emit delegateChanged();
-}
-
-void QQuickPageIndicator::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickPageIndicator);
- QQuickControl::contentItemChange(newItem, oldItem);
- if (oldItem)
- QQuickItemPrivate::get(oldItem)->removeItemChangeListener(d, QQuickItemPrivate::Children);
- if (newItem)
- QQuickItemPrivate::get(newItem)->addItemChangeListener(d, QQuickItemPrivate::Children);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickPageIndicator::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickPageIndicator);
- if (d->interactive)
- QQuickControl::touchEvent(event);
- else
- event->ignore(); // QTBUG-61785
-}
-#endif
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickPageIndicator::accessibleRole() const
-{
- return QAccessible::Indicator;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpageindicator_p.h b/src/quicktemplates2/qquickpageindicator_p.h
deleted file mode 100644
index 01352016..00000000
--- a/src/quicktemplates2/qquickpageindicator_p.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPAGEINDICATOR_P_H
-#define QQUICKPAGEINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickPageIndicatorPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPageIndicator : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged FINAL)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged FINAL)
- Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
-
-public:
- explicit QQuickPageIndicator(QQuickItem *parent = nullptr);
-
- int count() const;
- void setCount(int count);
-
- int currentIndex() const;
- void setCurrentIndex(int index);
-
- bool isInteractive() const;
- void setInteractive(bool interactive);
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
-Q_SIGNALS:
- void countChanged();
- void currentIndexChanged();
- void interactiveChanged();
- void delegateChanged();
-
-protected:
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickPageIndicator)
- Q_DECLARE_PRIVATE(QQuickPageIndicator)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPageIndicator)
-
-#endif // QQUICKPAGEINDICATOR_P_H
diff --git a/src/quicktemplates2/qquickpalette.cpp b/src/quicktemplates2/qquickpalette.cpp
deleted file mode 100644
index 018d6fdc..00000000
--- a/src/quicktemplates2/qquickpalette.cpp
+++ /dev/null
@@ -1,326 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpalette_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QColor QQuickPalette::alternateBase() const
-{
- return v.color(QPalette::AlternateBase);
-}
-
-void QQuickPalette::setAlternateBase(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::AlternateBase, color);
-}
-
-void QQuickPalette::resetAlternateBase()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::AlternateBase));
-}
-
-QColor QQuickPalette::base() const
-{
- return v.color(QPalette::Base);
-}
-
-void QQuickPalette::setBase(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Base, color);
-}
-
-void QQuickPalette::resetBase()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Base));
-}
-
-QColor QQuickPalette::brightText() const
-{
- return v.color(QPalette::BrightText);
-}
-
-void QQuickPalette::setBrightText(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::BrightText, color);
-}
-
-void QQuickPalette::resetBrightText()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::BrightText));
-}
-
-QColor QQuickPalette::button() const
-{
- return v.color(QPalette::Button);
-}
-
-void QQuickPalette::setButton(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Button, color);
-}
-
-void QQuickPalette::resetButton()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Button));
-}
-
-QColor QQuickPalette::buttonText() const
-{
- return v.color(QPalette::ButtonText);
-}
-
-void QQuickPalette::setButtonText(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::ButtonText, color);
-}
-
-void QQuickPalette::resetButtonText()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::ButtonText));
-}
-
-QColor QQuickPalette::dark() const
-{
- return v.color(QPalette::Dark);
-}
-
-void QQuickPalette::setDark(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Dark, color);
-}
-
-void QQuickPalette::resetDark()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Dark));
-}
-
-QColor QQuickPalette::highlight() const
-{
- return v.color(QPalette::Highlight);
-}
-
-void QQuickPalette::setHighlight(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Highlight, color);
-}
-
-void QQuickPalette::resetHighlight()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Highlight));
-}
-
-QColor QQuickPalette::highlightedText() const
-{
- return v.color(QPalette::HighlightedText);
-}
-
-void QQuickPalette::setHighlightedText(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::HighlightedText, color);
-}
-
-void QQuickPalette::resetHighlightedText()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::HighlightedText));
-}
-
-QColor QQuickPalette::light() const
-{
- return v.color(QPalette::Light);
-}
-
-void QQuickPalette::setLight(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Light, color);
-}
-
-void QQuickPalette::resetLight()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Light));
-}
-
-QColor QQuickPalette::link() const
-{
- return v.color(QPalette::Link);
-}
-
-void QQuickPalette::setLink(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Link, color);
-}
-
-void QQuickPalette::resetLink()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Link));
-}
-
-QColor QQuickPalette::linkVisited() const
-{
- return v.color(QPalette::LinkVisited);
-}
-
-void QQuickPalette::setLinkVisited(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::LinkVisited, color);
-}
-
-void QQuickPalette::resetLinkVisited()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::LinkVisited));
-}
-
-QColor QQuickPalette::mid() const
-{
- return v.color(QPalette::Mid);
-}
-
-void QQuickPalette::setMid(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Mid, color);
-}
-
-void QQuickPalette::resetMid()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Mid));
-}
-
-QColor QQuickPalette::midlight() const
-{
- return v.color(QPalette::Midlight);
-}
-
-void QQuickPalette::setMidlight(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Midlight, color);
-}
-
-void QQuickPalette::resetMidlight()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Midlight));
-}
-
-QColor QQuickPalette::shadow() const
-{
- return v.color(QPalette::Shadow);
-}
-
-void QQuickPalette::setShadow(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Shadow, color);
-}
-
-void QQuickPalette::resetShadow()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Shadow));
-}
-
-QColor QQuickPalette::text() const
-{
- return v.color(QPalette::Text);
-}
-
-void QQuickPalette::setText(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Text, color);
-}
-
-void QQuickPalette::resetText()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Text));
-}
-
-QColor QQuickPalette::toolTipBase() const
-{
- return v.color(QPalette::ToolTipBase);
-}
-
-void QQuickPalette::setToolTipBase(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::ToolTipBase, color);
-}
-
-void QQuickPalette::resetToolTipBase()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::ToolTipBase));
-}
-
-QColor QQuickPalette::toolTipText() const
-{
- return v.color(QPalette::ToolTipText);
-}
-
-void QQuickPalette::setToolTipText(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::ToolTipText, color);
-}
-
-void QQuickPalette::resetToolTipText()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::ToolTipText));
-}
-
-QColor QQuickPalette::window() const
-{
- return v.color(QPalette::Window);
-}
-
-void QQuickPalette::setWindow(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::Window, color);
-}
-
-void QQuickPalette::resetWindow()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::Window));
-}
-
-QColor QQuickPalette::windowText() const
-{
- return v.color(QPalette::WindowText);
-}
-
-void QQuickPalette::setWindowText(const QColor &color)
-{
- v.setColor(QPalette::All, QPalette::WindowText, color);
-}
-
-void QQuickPalette::resetWindowText()
-{
- v.resolve(v.resolve() & ~(1 << QPalette::WindowText));
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpalette_p.h b/src/quicktemplates2/qquickpalette_p.h
deleted file mode 100644
index d43e78a6..00000000
--- a/src/quicktemplates2/qquickpalette_p.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPALETTE_P_H
-#define QQUICKPALETTE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtGui/qpalette.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPalette
-{
- Q_GADGET
- Q_PROPERTY(QColor alternateBase READ alternateBase WRITE setAlternateBase RESET resetAlternateBase FINAL)
- Q_PROPERTY(QColor base READ base WRITE setBase RESET resetBase FINAL)
- Q_PROPERTY(QColor brightText READ brightText WRITE setBrightText RESET resetBrightText FINAL)
- Q_PROPERTY(QColor button READ button WRITE setButton RESET resetButton FINAL)
- Q_PROPERTY(QColor buttonText READ buttonText WRITE setButtonText RESET resetButtonText FINAL)
- Q_PROPERTY(QColor dark READ dark WRITE setDark RESET resetDark FINAL)
- Q_PROPERTY(QColor highlight READ highlight WRITE setHighlight RESET resetHighlight FINAL)
- Q_PROPERTY(QColor highlightedText READ highlightedText WRITE setHighlightedText RESET resetHighlightedText FINAL)
- Q_PROPERTY(QColor light READ light WRITE setLight RESET resetLight FINAL)
- Q_PROPERTY(QColor link READ link WRITE setLink RESET resetLink FINAL)
- Q_PROPERTY(QColor linkVisited READ linkVisited WRITE setLinkVisited RESET resetLinkVisited FINAL)
- Q_PROPERTY(QColor mid READ mid WRITE setMid RESET resetMid FINAL)
- Q_PROPERTY(QColor midlight READ midlight WRITE setMidlight RESET resetMidlight FINAL)
- Q_PROPERTY(QColor shadow READ shadow WRITE setShadow RESET resetShadow FINAL)
- Q_PROPERTY(QColor text READ text WRITE setText RESET resetText FINAL)
- Q_PROPERTY(QColor toolTipBase READ toolTipBase WRITE setToolTipBase RESET resetToolTipBase FINAL)
- Q_PROPERTY(QColor toolTipText READ toolTipText WRITE setToolTipText RESET resetToolTipText FINAL)
- Q_PROPERTY(QColor window READ window WRITE setWindow RESET resetWindow FINAL)
- Q_PROPERTY(QColor windowText READ windowText WRITE setWindowText RESET resetWindowText FINAL)
-
-public:
- QColor alternateBase() const;
- void setAlternateBase(const QColor &color);
- void resetAlternateBase();
-
- QColor base() const;
- void setBase(const QColor &color);
- void resetBase();
-
- QColor brightText() const;
- void setBrightText(const QColor &color);
- void resetBrightText();
-
- QColor button() const;
- void setButton(const QColor &color);
- void resetButton();
-
- QColor buttonText() const;
- void setButtonText(const QColor &color);
- void resetButtonText();
-
- QColor dark() const;
- void setDark(const QColor &color);
- void resetDark();
-
- QColor highlight() const;
- void setHighlight(const QColor &color);
- void resetHighlight();
-
- QColor highlightedText() const;
- void setHighlightedText(const QColor &color);
- void resetHighlightedText();
-
- QColor light() const;
- void setLight(const QColor &color);
- void resetLight();
-
- QColor link() const;
- void setLink(const QColor &color);
- void resetLink();
-
- QColor linkVisited() const;
- void setLinkVisited(const QColor &color);
- void resetLinkVisited();
-
- QColor mid() const;
- void setMid(const QColor &color);
- void resetMid();
-
- QColor midlight() const;
- void setMidlight(const QColor &color);
- void resetMidlight();
-
- QColor shadow() const;
- void setShadow(const QColor &color);
- void resetShadow();
-
- QColor text() const;
- void setText(const QColor &color);
- void resetText();
-
- QColor toolTipBase() const;
- void setToolTipBase(const QColor &color);
- void resetToolTipBase();
-
- QColor toolTipText() const;
- void setToolTipText(const QColor &color);
- void resetToolTipText();
-
- QColor window() const;
- void setWindow(const QColor &color);
- void resetWindow();
-
- QColor windowText() const;
- void setWindowText(const QColor &color);
- void resetWindowText();
-
-private:
- QPalette v;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPALETTE_P_H
diff --git a/src/quicktemplates2/qquickpaletteprovider.cpp b/src/quicktemplates2/qquickpaletteprovider.cpp
deleted file mode 100644
index d925fcae..00000000
--- a/src/quicktemplates2/qquickpaletteprovider.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpaletteprovider_p.h"
-#include "qquickpalette_p.h"
-
-#include <QtQml/private/qqmlvaluetype_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static QQmlValueTypeProvider *instance()
-{
- static QQuickPaletteProvider provider;
- return &provider;
-}
-
-void QQuickPaletteProvider::init()
-{
- QQml_addValueTypeProvider(instance());
-}
-
-void QQuickPaletteProvider::cleanup()
-{
- QQml_removeValueTypeProvider(instance());
-}
-
-#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
- #define ASSERT_VALID_SIZE(size, min) Q_UNUSED(size)
-#else
- #define ASSERT_VALID_SIZE(size, min) Q_ASSERT(size >= min)
-#endif
-
-const QMetaObject *QQuickPaletteProvider::getMetaObjectForMetaType(int type)
-{
- switch (type) {
- case QMetaType::QPalette:
- return &QQuickPalette::staticMetaObject;
- default:
- break;
- }
-
- return nullptr;
-}
-
-bool QQuickPaletteProvider::init(int type, QVariant& dst)
-{
- switch (type) {
- case QMetaType::QPalette:
- dst.setValue<QPalette>(QPalette());
- return true;
- default: break;
- }
-
- return false;
-}
-
-template<typename T>
-bool typedEqual(const void *lhs, const QVariant& rhs)
-{
- return (*(reinterpret_cast<const T *>(lhs)) == rhs.value<T>());
-}
-
-bool QQuickPaletteProvider::equal(int type, const void *lhs, const QVariant &rhs)
-{
- switch (type) {
- case QMetaType::QPalette:
- return typedEqual<QPalette>(lhs, rhs);
- default: break;
- }
-
- return false;
-}
-
-template<typename T>
-bool typedStore(const void *src, void *dst, size_t dstSize)
-{
- ASSERT_VALID_SIZE(dstSize, sizeof(T));
- const T *srcT = reinterpret_cast<const T *>(src);
- T *dstT = reinterpret_cast<T *>(dst);
- new (dstT) T(*srcT);
- return true;
-}
-
-bool QQuickPaletteProvider::store(int type, const void *src, void *dst, size_t dstSize)
-{
- switch (type) {
- case QMetaType::QPalette:
- return typedStore<QPalette>(src, dst, dstSize);
- default: break;
- }
-
- return false;
-}
-
-template<typename T>
-bool typedRead(const QVariant& src, int dstType, void *dst)
-{
- T *dstT = reinterpret_cast<T *>(dst);
- if (src.type() == static_cast<uint>(dstType)) {
- *dstT = src.value<T>();
- } else {
- *dstT = T();
- }
- return true;
-}
-
-bool QQuickPaletteProvider::read(const QVariant &src, void *dst, int dstType)
-{
- switch (dstType) {
- case QMetaType::QPalette:
- return typedRead<QPalette>(src, dstType, dst);
- default: break;
- }
-
- return false;
-}
-
-template<typename T>
-bool typedWrite(const void *src, QVariant& dst)
-{
- const T *srcT = reinterpret_cast<const T *>(src);
- if (dst.value<T>() != *srcT) {
- dst = *srcT;
- return true;
- }
- return false;
-}
-
-bool QQuickPaletteProvider::write(int type, const void *src, QVariant& dst)
-{
- switch (type) {
- case QMetaType::QPalette:
- return typedWrite<QPalette>(src, dst);
- default: break;
- }
-
- return false;
-}
-
-#undef ASSERT_VALID_SIZE
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpaletteprovider_p.h b/src/quicktemplates2/qquickpaletteprovider_p.h
deleted file mode 100644
index 5b6e3796..00000000
--- a/src/quicktemplates2/qquickpaletteprovider_p.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPALETTEPROVIDER_P_H
-#define QQUICKPALETTEPROVIDER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtQml/private/qqmlglobal_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPaletteProvider : public QQmlValueTypeProvider
-{
-public:
- static void init();
- static void cleanup();
-
- const QMetaObject *getMetaObjectForMetaType(int type) override;
- bool init(int type, QVariant& dst) override;
- bool equal(int type, const void *lhs, const QVariant &rhs) override;
- bool store(int type, const void *src, void *dst, size_t dstSize) override;
- bool read(const QVariant &src, void *dst, int dstType) override;
- bool write(int type, const void *src, QVariant& dst) override;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTEMPLATES2VALUETYPEPROVIDER_P_H
diff --git a/src/quicktemplates2/qquickpane.cpp b/src/quicktemplates2/qquickpane.cpp
deleted file mode 100644
index 18c8bd51..00000000
--- a/src/quicktemplates2/qquickpane.cpp
+++ /dev/null
@@ -1,426 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpane_p.h"
-#include "qquickpane_p_p.h"
-#include "qquickcontentitem_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Pane
- \inherits Control
- \instantiates QQuickPane
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Provides a background matching with the application style and theme.
-
- Pane provides a background color that matches with the application style
- and theme. Pane does not provide a layout of its own, but requires you to
- position its contents, for instance by creating a \l RowLayout or a
- \l ColumnLayout.
-
- Items declared as children of a Pane are automatically parented to the
- Pane's \l {Control::}{contentItem}. Items created dynamically need to be
- explicitly parented to the contentItem.
-
- \section1 Content Sizing
-
- If only a single item is used within a Pane, it will resize to fit the
- implicit size of its contained item. This makes it particularly suitable
- for use together with layouts.
-
- \image qtquickcontrols2-pane.png
-
- \snippet qtquickcontrols2-pane.qml 1
-
- Sometimes there might be two items within the pane:
-
- \code
- Pane {
- SwipeView {
- // ...
- }
- PageIndicator {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- }
- }
- \endcode
-
- In this case, Pane cannot calculate a sensible implicit size. Since we're
- anchoring the \l PageIndicator over the \l SwipeView, we can simply set the
- content size to the view's implicit size:
-
- \code
- Pane {
- contentWidth: view.implicitWidth
- contentHeight: view.implicitHeight
-
- SwipeView {
- id: view
- // ...
- }
- PageIndicator {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- }
- }
- \endcode
-
- If the \l contentItem has no implicit size and only one child, Pane will
- use the implicit size of that child. For example, in the following code,
- the Pane will assume the size of the Rectangle:
-
- \code
- Pane {
- Item {
- Rectangle {
- implicitWidth: 200
- implicitHeight: 200
- color: "salmon"
- }
- }
- }
- \endcode
-
- \sa {Customizing Pane}, {Container Controls},
- {Focus Management in Qt Quick Controls}, {Event Handling}
-*/
-
-void QQuickPanePrivate::init()
-{
- Q_Q(QQuickPane);
- q->setFlag(QQuickItem::ItemIsFocusScope);
- q->setAcceptedMouseButtons(Qt::AllButtons);
-#if QT_CONFIG(cursor)
- q->setCursor(Qt::ArrowCursor);
-#endif
- connect(q, &QQuickControl::implicitContentWidthChanged, this, &QQuickPanePrivate::updateContentWidth);
- connect(q, &QQuickControl::implicitContentHeightChanged, this, &QQuickPanePrivate::updateContentHeight);
-}
-
-QList<QQuickItem *> QQuickPanePrivate::contentChildItems() const
-{
- if (!contentItem)
- return QList<QQuickItem *>();
-
- return contentItem->childItems();
-}
-
-QQuickItem *QQuickPanePrivate::getContentItem()
-{
- Q_Q(QQuickPane);
- if (QQuickItem *item = QQuickControlPrivate::getContentItem())
- return item;
-
- return new QQuickContentItem(q);
-}
-
-void QQuickPanePrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickControlPrivate::itemImplicitWidthChanged(item);
-
- if (item == firstChild)
- updateImplicitContentWidth();
-}
-
-void QQuickPanePrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickControlPrivate::itemImplicitHeightChanged(item);
-
- if (item == firstChild)
- updateImplicitContentHeight();
-}
-
-void QQuickPanePrivate::contentChildrenChange()
-{
- Q_Q(QQuickPane);
- QQuickItem *newFirstChild = contentChildItems().value(0);
- if (newFirstChild != firstChild) {
- if (firstChild)
- removeImplicitSizeListener(firstChild);
- if (newFirstChild)
- addImplicitSizeListener(newFirstChild);
- firstChild = newFirstChild;
- }
-
- updateImplicitContentSize();
- emit q->contentChildrenChanged();
-}
-
-qreal QQuickPanePrivate::getContentWidth() const
-{
- if (!contentItem)
- return 0;
-
- const qreal cw = contentItem->implicitWidth();
- if (!qFuzzyIsNull(cw))
- return cw;
-
- const auto contentChildren = contentChildItems();
- if (contentChildren.count() == 1)
- return contentChildren.first()->implicitWidth();
-
- return 0;
-}
-
-qreal QQuickPanePrivate::getContentHeight() const
-{
- if (!contentItem)
- return 0;
-
- const qreal ch = contentItem->implicitHeight();
- if (!qFuzzyIsNull(ch))
- return ch;
-
- const auto contentChildren = contentChildItems();
- if (contentChildren.count() == 1)
- return contentChildren.first()->implicitHeight();
-
- return 0;
-}
-
-void QQuickPanePrivate::updateContentWidth()
-{
- Q_Q(QQuickPane);
- if (hasContentWidth || qFuzzyCompare(contentWidth, implicitContentWidth))
- return;
-
- const qreal oldContentWidth = contentWidth;
- contentWidth = implicitContentWidth;
- q->contentSizeChange(QSizeF(contentWidth, contentHeight), QSizeF(oldContentWidth, contentHeight));
- emit q->contentWidthChanged();
-}
-
-void QQuickPanePrivate::updateContentHeight()
-{
- Q_Q(QQuickPane);
- if (hasContentHeight || qFuzzyCompare(contentHeight, implicitContentHeight))
- return;
-
- const qreal oldContentHeight = contentHeight;
- contentHeight = implicitContentHeight;
- q->contentSizeChange(QSizeF(contentWidth, contentHeight), QSizeF(contentWidth, oldContentHeight));
- emit q->contentHeightChanged();
-}
-
-QQuickPane::QQuickPane(QQuickItem *parent)
- : QQuickControl(*(new QQuickPanePrivate), parent)
-{
- Q_D(QQuickPane);
- d->init();
-}
-
-QQuickPane::~QQuickPane()
-{
- Q_D(QQuickPane);
- d->removeImplicitSizeListener(d->contentItem);
- d->removeImplicitSizeListener(d->firstChild);
-}
-
-QQuickPane::QQuickPane(QQuickPanePrivate &dd, QQuickItem *parent)
- : QQuickControl(dd, parent)
-{
- Q_D(QQuickPane);
- d->init();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Pane::contentWidth
-
- This property holds the content width. It is used for calculating the total
- implicit width of the pane.
-
- For more information, see \l {Content Sizing}.
-
- \sa contentHeight
-*/
-qreal QQuickPane::contentWidth() const
-{
- Q_D(const QQuickPane);
- return d->contentWidth;
-}
-
-void QQuickPane::setContentWidth(qreal width)
-{
- Q_D(QQuickPane);
- d->hasContentWidth = true;
- if (qFuzzyCompare(d->contentWidth, width))
- return;
-
- const qreal oldWidth = d->contentWidth;
- d->contentWidth = width;
- contentSizeChange(QSizeF(width, d->contentHeight), QSizeF(oldWidth, d->contentHeight));
- emit contentWidthChanged();
-}
-
-void QQuickPane::resetContentWidth()
-{
- Q_D(QQuickPane);
- if (!d->hasContentWidth)
- return;
-
- d->hasContentHeight = false;
- d->updateContentWidth();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Pane::contentHeight
-
- This property holds the content height. It is used for calculating the total
- implicit height of the pane.
-
- For more information, see \l {Content Sizing}.
-
- \sa contentWidth
-*/
-qreal QQuickPane::contentHeight() const
-{
- Q_D(const QQuickPane);
- return d->contentHeight;
-}
-
-void QQuickPane::setContentHeight(qreal height)
-{
- Q_D(QQuickPane);
- d->hasContentHeight = true;
- if (qFuzzyCompare(d->contentHeight, height))
- return;
-
- const qreal oldHeight = d->contentHeight;
- d->contentHeight = height;
- contentSizeChange(QSizeF(d->contentWidth, height), QSizeF(d->contentWidth, oldHeight));
- emit contentHeightChanged();
-}
-
-void QQuickPane::resetContentHeight()
-{
- Q_D(QQuickPane);
- if (!d->hasContentHeight)
- return;
-
- d->hasContentHeight = false;
- d->updateContentHeight();
-}
-
-/*!
- \qmlproperty list<Object> QtQuick.Controls::Pane::contentData
- \default
-
- This property holds the list of content data.
-
- The list contains all objects that have been declared in QML as children
- of the pane.
-
- \note Unlike \c contentChildren, \c contentData does include non-visual QML
- objects.
-
- \sa Item::data, contentChildren
-*/
-QQmlListProperty<QObject> QQuickPanePrivate::contentData()
-{
- Q_Q(QQuickPane);
- return QQmlListProperty<QObject>(q->contentItem(), nullptr,
- QQuickItemPrivate::data_append,
- QQuickItemPrivate::data_count,
- QQuickItemPrivate::data_at,
- QQuickItemPrivate::data_clear);
-}
-
-/*!
- \qmlproperty list<Item> QtQuick.Controls::Pane::contentChildren
-
- This property holds the list of content children.
-
- The list contains all items that have been declared in QML as children
- of the pane.
-
- \note Unlike \c contentData, \c contentChildren does not include non-visual
- QML objects.
-
- \sa Item::children, contentData
-*/
-QQmlListProperty<QQuickItem> QQuickPanePrivate::contentChildren()
-{
- Q_Q(QQuickPane);
- return QQmlListProperty<QQuickItem>(q->contentItem(), nullptr,
- QQuickItemPrivate::children_append,
- QQuickItemPrivate::children_count,
- QQuickItemPrivate::children_at,
- QQuickItemPrivate::children_clear);
-}
-
-void QQuickPane::componentComplete()
-{
- Q_D(QQuickPane);
- QQuickControl::componentComplete();
- d->updateImplicitContentSize();
-}
-
-void QQuickPane::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickPane);
- QQuickControl::contentItemChange(newItem, oldItem);
- if (oldItem) {
- d->removeImplicitSizeListener(oldItem);
- QObjectPrivate::disconnect(oldItem, &QQuickItem::childrenChanged, d, &QQuickPanePrivate::contentChildrenChange);
- }
- if (newItem) {
- d->addImplicitSizeListener(newItem);
- QObjectPrivate::connect(newItem, &QQuickItem::childrenChanged, d, &QQuickPanePrivate::contentChildrenChange);
- }
- d->contentChildrenChange();
-}
-
-void QQuickPane::contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize)
-{
- Q_UNUSED(newSize)
- Q_UNUSED(oldSize)
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickPane::accessibleRole() const
-{
- return QAccessible::Pane;
-}
-#endif
-
-QT_END_NAMESPACE
-
-#include "moc_qquickpane_p.cpp"
diff --git a/src/quicktemplates2/qquickpane_p.h b/src/quicktemplates2/qquickpane_p.h
deleted file mode 100644
index 86b2c9f2..00000000
--- a/src/quicktemplates2/qquickpane_p.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPANE_P_H
-#define QQUICKPANE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQml/qqmllist.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPanePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPane : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth RESET resetContentWidth NOTIFY contentWidthChanged FINAL)
- Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight RESET resetContentHeight NOTIFY contentHeightChanged FINAL)
- Q_PRIVATE_PROPERTY(QQuickPane::d_func(), QQmlListProperty<QObject> contentData READ contentData FINAL)
- Q_PRIVATE_PROPERTY(QQuickPane::d_func(), QQmlListProperty<QQuickItem> contentChildren READ contentChildren NOTIFY contentChildrenChanged FINAL)
- Q_CLASSINFO("DefaultProperty", "contentData")
-
-public:
- explicit QQuickPane(QQuickItem *parent = nullptr);
- ~QQuickPane();
-
- qreal contentWidth() const;
- void setContentWidth(qreal width);
- void resetContentWidth();
-
- qreal contentHeight() const;
- void setContentHeight(qreal height);
- void resetContentHeight();
-
-Q_SIGNALS:
- void contentWidthChanged();
- void contentHeightChanged();
- void contentChildrenChanged();
-
-protected:
- QQuickPane(QQuickPanePrivate &dd, QQuickItem *parent);
-
- void componentComplete() override;
-
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- virtual void contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize);
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickPane)
- Q_DECLARE_PRIVATE(QQuickPane)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPane)
-
-#endif // QQUICKPANE_P_H
diff --git a/src/quicktemplates2/qquickpane_p_p.h b/src/quicktemplates2/qquickpane_p_p.h
deleted file mode 100644
index bd89aee2..00000000
--- a/src/quicktemplates2/qquickpane_p_p.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPANE_P_P_H
-#define QQUICKPANE_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPane;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPanePrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickPane)
-
-public:
- void init();
-
- virtual QQmlListProperty<QObject> contentData();
- virtual QQmlListProperty<QQuickItem> contentChildren();
- virtual QList<QQuickItem *> contentChildItems() const;
-
- QQuickItem *getContentItem() override;
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- void contentChildrenChange();
-
- void updateContentWidth();
- void updateContentHeight();
-
- bool hasContentWidth = false;
- bool hasContentHeight = false;
- qreal contentWidth = 0;
- qreal contentHeight = 0;
- QQuickItem *firstChild = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPANE_P_P_H
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
deleted file mode 100644
index f0cf1869..00000000
--- a/src/quicktemplates2/qquickpopup.cpp
+++ /dev/null
@@ -1,2706 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpopup_p.h"
-#include "qquickpopup_p_p.h"
-#include "qquickpopupanchors_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickpopuppositioner_p_p.h"
-#include "qquickapplicationwindow_p.h"
-#include "qquickoverlay_p_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickdialog_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/private/qquicktransition_p.h>
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Popup
- \inherits QtObject
- \instantiates QQuickPopup
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-popups
- \ingroup qtquickcontrols2-focusscopes
- \brief Base type of popup-like user interface controls.
-
- Popup is the base type of popup-like user interface controls. It can be
- used with \l Window or \l ApplicationWindow.
-
- \qml
- import QtQuick.Window 2.2
- import QtQuick.Controls 2.12
-
- ApplicationWindow {
- id: window
- width: 400
- height: 400
- visible: true
-
- Button {
- text: "Open"
- onClicked: popup.open()
- }
-
- Popup {
- id: popup
- x: 100
- y: 100
- width: 200
- height: 300
- modal: true
- focus: true
- closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
- }
- }
- \endqml
-
- In order to ensure that a popup is displayed above other items in the
- scene, it is recommended to use ApplicationWindow. ApplicationWindow also
- provides background dimming effects.
-
- Popup does not provide a layout of its own, but requires you to position
- its contents, for instance by creating a \l RowLayout or a \l ColumnLayout.
-
- Items declared as children of a Popup are automatically parented to the
- Popups's \l contentItem. Items created dynamically need to be explicitly
- parented to the contentItem.
-
- \section1 Popup Layout
-
- The following diagram illustrates the layout of a popup within a window:
-
- \image qtquickcontrols2-popup.png
-
- The \l implicitWidth and \l implicitHeight of a popup are typically based
- on the implicit sizes of the background and the content item plus any insets
- and paddings. These properties determine how large the popup will be when no
- explicit \l width or \l height is specified.
-
- The geometry of the \l contentItem is determined by the padding. The following
- example reserves 10px padding between the boundaries of the popup and its content:
-
- \code
- Popup {
- padding: 10
-
- contentItem: Text {
- text: "Content"
- }
- }
- \endcode
-
- The \l background item fills the entire width and height of the popup,
- unless insets or an explicit size have been given for it.
-
- Negative insets can be used to make the background larger than the popup.
- The following example uses negative insets to place a shadow outside the
- popup's boundaries:
-
- \code
- Popup {
- topInset: -2
- leftInset: -2
- rightInset: -6
- bottomInset: -6
-
- background: BorderImage {
- source: ":/images/shadowed-background.png"
- }
- }
- \endcode
-
- \section1 Popup Sizing
-
- If only a single item is used within a Popup, it will resize to fit the
- implicit size of its contained item. This makes it particularly suitable
- for use together with layouts.
-
- \code
- Popup {
- ColumnLayout {
- anchors.fill: parent
- CheckBox { text: qsTr("E-mail") }
- CheckBox { text: qsTr("Calendar") }
- CheckBox { text: qsTr("Contacts") }
- }
- }
- \endcode
-
- Sometimes there might be two items within the popup:
-
- \code
- Popup {
- SwipeView {
- // ...
- }
- PageIndicator {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- }
- }
- \endcode
-
- In this case, Popup cannot calculate a sensible implicit size. Since we're
- anchoring the \l PageIndicator over the \l SwipeView, we can simply set the
- content size to the view's implicit size:
-
- \code
- Popup {
- contentWidth: view.implicitWidth
- contentHeight: view.implicitHeight
-
- SwipeView {
- id: view
- // ...
- }
- PageIndicator {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- }
- }
- \endcode
-
- \section1 Popup Positioning
-
- Similar to items in Qt Quick, Popup's \l x and \l y coordinates are
- relative to its parent. This means that opening a popup that is a
- child of a \l Button, for example, will cause the popup to be positioned
- relative to the button.
-
- \include qquickoverlay-popup-parent.qdocinc
-
- Another way to center a popup in the window regardless of its parent item
- is to use \l {anchors.centerIn}:
-
- \snippet qtquickcontrols2-popup.qml centerIn
-
- To ensure that the popup is positioned within the bounds of the enclosing
- window, the \l margins property can be set to a non-negative value.
-
- \sa {Popup Controls}, {Customizing Popup}, ApplicationWindow
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::Popup::opened()
-
- This signal is emitted when the popup is opened.
-
- \sa aboutToShow()
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::Popup::closed()
-
- This signal is emitted when the popup is closed.
-
- \sa aboutToHide()
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::Popup::aboutToShow()
-
- This signal is emitted when the popup is about to show.
-
- \sa opened()
-*/
-
-/*!
- \qmlsignal void QtQuick.Controls::Popup::aboutToHide()
-
- This signal is emitted when the popup is about to hide.
-
- \sa closed()
-*/
-
-const QQuickPopup::ClosePolicy QQuickPopupPrivate::DefaultClosePolicy = QQuickPopup::CloseOnEscape | QQuickPopup::CloseOnPressOutside;
-
-QQuickPopupPrivate::QQuickPopupPrivate()
- : transitionManager(this)
-{
-}
-
-void QQuickPopupPrivate::init()
-{
- Q_Q(QQuickPopup);
- popupItem = new QQuickPopupItem(q);
- popupItem->setVisible(false);
- q->setParentItem(qobject_cast<QQuickItem *>(parent));
- QObject::connect(popupItem, &QQuickControl::paddingChanged, q, &QQuickPopup::paddingChanged);
- QObject::connect(popupItem, &QQuickControl::backgroundChanged, q, &QQuickPopup::backgroundChanged);
- QObject::connect(popupItem, &QQuickControl::contentItemChanged, q, &QQuickPopup::contentItemChanged);
- QObject::connect(popupItem, &QQuickControl::implicitContentWidthChanged, q, &QQuickPopup::implicitContentWidthChanged);
- QObject::connect(popupItem, &QQuickControl::implicitContentHeightChanged, q, &QQuickPopup::implicitContentHeightChanged);
- QObject::connect(popupItem, &QQuickControl::implicitBackgroundWidthChanged, q, &QQuickPopup::implicitBackgroundWidthChanged);
- QObject::connect(popupItem, &QQuickControl::implicitBackgroundHeightChanged, q, &QQuickPopup::implicitBackgroundHeightChanged);
-}
-
-void QQuickPopupPrivate::closeOrReject()
-{
- Q_Q(QQuickPopup);
- if (QQuickDialog *dialog = qobject_cast<QQuickDialog*>(q))
- dialog->reject();
- else
- q->close();
-}
-
-bool QQuickPopupPrivate::tryClose(const QPointF &pos, QQuickPopup::ClosePolicy flags)
-{
- if (!interactive)
- return false;
-
- static const QQuickPopup::ClosePolicy outsideFlags = QQuickPopup::CloseOnPressOutside | QQuickPopup::CloseOnReleaseOutside;
- static const QQuickPopup::ClosePolicy outsideParentFlags = QQuickPopup::CloseOnPressOutsideParent | QQuickPopup::CloseOnReleaseOutsideParent;
-
- const bool onOutside = closePolicy & (flags & outsideFlags);
- const bool onOutsideParent = closePolicy & (flags & outsideParentFlags);
- if (onOutside || onOutsideParent) {
- if (!contains(pos)) {
- if (!onOutsideParent || !parentItem || !parentItem->contains(parentItem->mapFromScene(pos))) {
- closeOrReject();
- return true;
- }
- }
- }
- return false;
-}
-
-bool QQuickPopupPrivate::contains(const QPointF &scenePos) const
-{
- return popupItem->contains(popupItem->mapFromScene(scenePos));
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-bool QQuickPopupPrivate::acceptTouch(const QTouchEvent::TouchPoint &point)
-{
- if (point.id() == touchId)
- return true;
-
- if (touchId == -1 && point.state() != Qt::TouchPointReleased) {
- touchId = point.id();
- return true;
- }
-
- return false;
-}
-#endif
-
-bool QQuickPopupPrivate::blockInput(QQuickItem *item, const QPointF &point) const
-{
- // don't block presses and releases
- // a) outside a non-modal popup,
- // b) to popup children/content, or
- // b) outside a modal popups's background dimming
- return modal && !popupItem->isAncestorOf(item) && (!dimmer || dimmer->contains(dimmer->mapFromScene(point)));
-}
-
-bool QQuickPopupPrivate::handlePress(QQuickItem *item, const QPointF &point, ulong timestamp)
-{
- Q_UNUSED(timestamp);
- pressPoint = point;
- tryClose(point, QQuickPopup::CloseOnPressOutside | QQuickPopup::CloseOnPressOutsideParent);
- return blockInput(item, point);
-}
-
-bool QQuickPopupPrivate::handleMove(QQuickItem *item, const QPointF &point, ulong timestamp)
-{
- Q_UNUSED(timestamp);
- return blockInput(item, point);
-}
-
-bool QQuickPopupPrivate::handleRelease(QQuickItem *item, const QPointF &point, ulong timestamp)
-{
- Q_UNUSED(timestamp);
- if (item != popupItem && !contains(pressPoint))
- tryClose(point, QQuickPopup::CloseOnReleaseOutside | QQuickPopup::CloseOnReleaseOutsideParent);
- pressPoint = QPointF();
- touchId = -1;
- return blockInput(item, point);
-}
-
-void QQuickPopupPrivate::handleUngrab()
-{
- Q_Q(QQuickPopup);
- QQuickOverlay *overlay = QQuickOverlay::overlay(window);
- if (overlay) {
- QQuickOverlayPrivate *p = QQuickOverlayPrivate::get(overlay);
- if (p->mouseGrabberPopup == q)
- p->mouseGrabberPopup = nullptr;
- }
- pressPoint = QPointF();
- touchId = -1;
-}
-
-bool QQuickPopupPrivate::handleMouseEvent(QQuickItem *item, QMouseEvent *event)
-{
- switch (event->type()) {
- case QEvent::MouseButtonPress:
- return handlePress(item, event->windowPos(), event->timestamp());
- case QEvent::MouseMove:
- return handleMove(item, event->windowPos(), event->timestamp());
- case QEvent::MouseButtonRelease:
- return handleRelease(item, event->windowPos(), event->timestamp());
- default:
- Q_UNREACHABLE();
- return false;
- }
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-bool QQuickPopupPrivate::handleTouchEvent(QQuickItem *item, QTouchEvent *event)
-{
- switch (event->type()) {
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (!acceptTouch(point))
- return blockInput(item, point.pos());
-
- switch (point.state()) {
- case Qt::TouchPointPressed:
- return handlePress(item, item->mapToScene(point.pos()), event->timestamp());
- case Qt::TouchPointMoved:
- return handleMove(item, item->mapToScene(point.pos()), event->timestamp());
- case Qt::TouchPointReleased:
- return handleRelease(item, item->mapToScene(point.pos()), event->timestamp());
- default:
- break;
- }
- }
- break;
-
- case QEvent::TouchCancel:
- handleUngrab();
- break;
-
- default:
- break;
- }
-
- return false;
-}
-#endif
-
-bool QQuickPopupPrivate::prepareEnterTransition()
-{
- Q_Q(QQuickPopup);
- if (!window) {
- qmlWarning(q) << "cannot find any window to open popup in.";
- return false;
- }
-
- if (transitionState == EnterTransition && transitionManager.isRunning())
- return false;
-
- if (transitionState != EnterTransition) {
- popupItem->setParentItem(QQuickOverlay::overlay(window));
- if (dim)
- createOverlay();
- showOverlay();
- emit q->aboutToShow();
- visible = true;
- transitionState = EnterTransition;
- popupItem->setVisible(true);
- getPositioner()->setParentItem(parentItem);
- emit q->visibleChanged();
- }
- return true;
-}
-
-bool QQuickPopupPrivate::prepareExitTransition()
-{
- Q_Q(QQuickPopup);
- if (transitionState == ExitTransition && transitionManager.isRunning())
- return false;
-
- if (transitionState != ExitTransition) {
- // The setFocus(false) call below removes any active focus before we're
- // able to check it in finalizeExitTransition.
- hadActiveFocusBeforeExitTransition = popupItem->hasActiveFocus();
- if (focus)
- popupItem->setFocus(false);
- transitionState = ExitTransition;
- hideOverlay();
- emit q->aboutToHide();
- emit q->openedChanged();
- }
- return true;
-}
-
-void QQuickPopupPrivate::finalizeEnterTransition()
-{
- Q_Q(QQuickPopup);
- if (focus)
- popupItem->setFocus(true);
- transitionState = NoTransition;
- emit q->openedChanged();
- emit q->opened();
-}
-
-void QQuickPopupPrivate::finalizeExitTransition()
-{
- Q_Q(QQuickPopup);
- getPositioner()->setParentItem(nullptr);
- popupItem->setParentItem(nullptr);
- popupItem->setVisible(false);
- destroyOverlay();
-
- if (hadActiveFocusBeforeExitTransition && window) {
- // restore focus to the next popup in chain, or to the window content if there are no other popups open
- QQuickPopup *popup = nullptr;
- if (QQuickOverlay *overlay = QQuickOverlay::overlay(window))
- popup = QQuickOverlayPrivate::get(overlay)->stackingOrderPopups().value(0);
- if (popup && popup->hasFocus()) {
- popup->forceActiveFocus();
- } else {
- QQuickApplicationWindow *applicationWindow = qobject_cast<QQuickApplicationWindow*>(window);
- if (applicationWindow)
- applicationWindow->contentItem()->setFocus(true);
- else
- window->contentItem()->setFocus(true);
- }
- }
-
- visible = false;
- transitionState = NoTransition;
- hadActiveFocusBeforeExitTransition = false;
- emit q->visibleChanged();
- emit q->closed();
-}
-
-QMarginsF QQuickPopupPrivate::getMargins() const
-{
- Q_Q(const QQuickPopup);
- return QMarginsF(q->leftMargin(), q->topMargin(), q->rightMargin(), q->bottomMargin());
-}
-
-void QQuickPopupPrivate::setTopMargin(qreal value, bool reset)
-{
- Q_Q(QQuickPopup);
- qreal oldMargin = q->topMargin();
- topMargin = value;
- hasTopMargin = !reset;
- if ((!reset && !qFuzzyCompare(oldMargin, value)) || (reset && !qFuzzyCompare(oldMargin, margins))) {
- emit q->topMarginChanged();
- q->marginsChange(QMarginsF(leftMargin, topMargin, rightMargin, bottomMargin),
- QMarginsF(leftMargin, oldMargin, rightMargin, bottomMargin));
- }
-}
-
-void QQuickPopupPrivate::setLeftMargin(qreal value, bool reset)
-{
- Q_Q(QQuickPopup);
- qreal oldMargin = q->leftMargin();
- leftMargin = value;
- hasLeftMargin = !reset;
- if ((!reset && !qFuzzyCompare(oldMargin, value)) || (reset && !qFuzzyCompare(oldMargin, margins))) {
- emit q->leftMarginChanged();
- q->marginsChange(QMarginsF(leftMargin, topMargin, rightMargin, bottomMargin),
- QMarginsF(oldMargin, topMargin, rightMargin, bottomMargin));
- }
-}
-
-void QQuickPopupPrivate::setRightMargin(qreal value, bool reset)
-{
- Q_Q(QQuickPopup);
- qreal oldMargin = q->rightMargin();
- rightMargin = value;
- hasRightMargin = !reset;
- if ((!reset && !qFuzzyCompare(oldMargin, value)) || (reset && !qFuzzyCompare(oldMargin, margins))) {
- emit q->rightMarginChanged();
- q->marginsChange(QMarginsF(leftMargin, topMargin, rightMargin, bottomMargin),
- QMarginsF(leftMargin, topMargin, oldMargin, bottomMargin));
- }
-}
-
-void QQuickPopupPrivate::setBottomMargin(qreal value, bool reset)
-{
- Q_Q(QQuickPopup);
- qreal oldMargin = q->bottomMargin();
- bottomMargin = value;
- hasBottomMargin = !reset;
- if ((!reset && !qFuzzyCompare(oldMargin, value)) || (reset && !qFuzzyCompare(oldMargin, margins))) {
- emit q->bottomMarginChanged();
- q->marginsChange(QMarginsF(leftMargin, topMargin, rightMargin, bottomMargin),
- QMarginsF(leftMargin, topMargin, rightMargin, oldMargin));
- }
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlpropertygroup QtQuick.Controls::Popup::anchors
- \qmlproperty Object QtQuick.Controls::Popup::anchors.centerIn
-
- Anchors provide a way to position an item by specifying its
- relationship with other items.
-
- A common use case is to center a popup within its parent. One way to do
- this is with the \l {Item::}{x} and \l {Item::}{y} properties. Anchors offer
- a more convenient approach:
-
- \qml
- Pane {
- // ...
-
- Popup {
- anchors.centerIn: parent
- }
- }
- \endqml
-
- It is also possible to center the popup in the window by using \l Overlay:
-
- \snippet qtquickcontrols2-popup.qml centerIn
-
- This makes it easy to center a popup in the window from any component.
-
- \note Popups can only be centered within their immediate parent or
- the window overlay; trying to center in other items will produce a warning.
-
- \sa {Popup Positioning}, {Item::anchors}
-*/
-QQuickPopupAnchors *QQuickPopupPrivate::getAnchors()
-{
- Q_Q(QQuickPopup);
- if (!anchors)
- anchors = new QQuickPopupAnchors(q);
- return anchors;
-}
-
-QQuickPopupPositioner *QQuickPopupPrivate::getPositioner()
-{
- Q_Q(QQuickPopup);
- if (!positioner)
- positioner = new QQuickPopupPositioner(q);
- return positioner;
-}
-
-void QQuickPopupPrivate::setWindow(QQuickWindow *newWindow)
-{
- Q_Q(QQuickPopup);
- if (window == newWindow)
- return;
-
- if (window) {
- QQuickOverlay *overlay = QQuickOverlay::overlay(window);
- if (overlay)
- QQuickOverlayPrivate::get(overlay)->removePopup(q);
- }
-
- window = newWindow;
-
- if (newWindow) {
- QQuickOverlay *overlay = QQuickOverlay::overlay(newWindow);
- if (overlay)
- QQuickOverlayPrivate::get(overlay)->addPopup(q);
-
- QQuickControlPrivate *p = QQuickControlPrivate::get(popupItem);
- p->resolveFont();
- p->resolvePalette();
- if (QQuickApplicationWindow *appWindow = qobject_cast<QQuickApplicationWindow *>(newWindow))
- p->updateLocale(appWindow->locale(), false); // explicit=false
- }
-
- emit q->windowChanged(newWindow);
-
- if (complete && visible && window)
- transitionManager.transitionEnter();
-}
-
-void QQuickPopupPrivate::itemDestroyed(QQuickItem *item)
-{
- Q_Q(QQuickPopup);
- if (item == parentItem)
- q->setParentItem(nullptr);
-}
-
-void QQuickPopupPrivate::reposition()
-{
- getPositioner()->reposition();
-}
-
-static QQuickItem *createDimmer(QQmlComponent *component, QQuickPopup *popup, QQuickItem *parent)
-{
- QQuickItem *item = nullptr;
- if (component) {
- QQmlContext *creationContext = component->creationContext();
- if (!creationContext)
- creationContext = qmlContext(popup);
- QQmlContext *context = new QQmlContext(creationContext, popup);
- context->setContextObject(popup);
- item = qobject_cast<QQuickItem*>(component->beginCreate(context));
- }
-
- // when there is no overlay component available (with plain QQuickWindow),
- // use a plain QQuickItem as a fallback to block hover events
- if (!item && popup->isModal())
- item = new QQuickItem;
-
- if (item) {
- item->setOpacity(popup->isVisible() ? 1.0 : 0.0);
- item->setParentItem(parent);
- item->stackBefore(popup->popupItem());
- item->setZ(popup->z());
- if (popup->isModal()) {
- item->setAcceptedMouseButtons(Qt::AllButtons);
-#if QT_CONFIG(cursor)
- item->setCursor(Qt::ArrowCursor);
-#endif
-#if QT_CONFIG(quicktemplates2_hover)
- // TODO: switch to QStyleHints::useHoverEffects in Qt 5.8
- item->setAcceptHoverEvents(true);
- // item->setAcceptHoverEvents(QGuiApplication::styleHints()->useHoverEffects());
- // connect(QGuiApplication::styleHints(), &QStyleHints::useHoverEffectsChanged, item, &QQuickItem::setAcceptHoverEvents);
-#endif
- }
- if (component)
- component->completeCreate();
- }
- return item;
-}
-
-void QQuickPopupPrivate::createOverlay()
-{
- Q_Q(QQuickPopup);
- QQuickOverlay *overlay = QQuickOverlay::overlay(window);
- if (!overlay)
- return;
-
- QQmlComponent *component = nullptr;
- QQuickOverlayAttached *overlayAttached = qobject_cast<QQuickOverlayAttached *>(qmlAttachedPropertiesObject<QQuickOverlay>(q, false));
- if (overlayAttached)
- component = modal ? overlayAttached->modal() : overlayAttached->modeless();
-
- if (!component)
- component = modal ? overlay->modal() : overlay->modeless();
-
- if (!dimmer)
- dimmer = createDimmer(component, q, overlay);
- resizeOverlay();
-}
-
-void QQuickPopupPrivate::destroyOverlay()
-{
- if (dimmer) {
- dimmer->setParentItem(nullptr);
- dimmer->deleteLater();
- dimmer = nullptr;
- }
-}
-
-void QQuickPopupPrivate::toggleOverlay()
-{
- destroyOverlay();
- if (dim)
- createOverlay();
-}
-
-void QQuickPopupPrivate::showOverlay()
-{
- // use QQmlProperty instead of QQuickItem::setOpacity() to trigger QML Behaviors
- if (dim && dimmer)
- QQmlProperty::write(dimmer, QStringLiteral("opacity"), 1.0);
-}
-
-void QQuickPopupPrivate::hideOverlay()
-{
- // use QQmlProperty instead of QQuickItem::setOpacity() to trigger QML Behaviors
- if (dim && dimmer)
- QQmlProperty::write(dimmer, QStringLiteral("opacity"), 0.0);
-}
-
-void QQuickPopupPrivate::resizeOverlay()
-{
- if (!dimmer)
- return;
-
- qreal w = window ? window->width() : 0;
- qreal h = window ? window->height() : 0;
- dimmer->setSize(QSizeF(w, h));
-}
-
-QQuickPopupTransitionManager::QQuickPopupTransitionManager(QQuickPopupPrivate *popup)
- : popup(popup)
-{
-}
-
-void QQuickPopupTransitionManager::transitionEnter()
-{
- if (popup->transitionState == QQuickPopupPrivate::ExitTransition)
- cancel();
-
- if (!popup->prepareEnterTransition())
- return;
-
- if (popup->window)
- transition(popup->enterActions, popup->enter, popup->q_func());
- else
- finished();
-}
-
-void QQuickPopupTransitionManager::transitionExit()
-{
- if (!popup->prepareExitTransition())
- return;
-
- if (popup->window)
- transition(popup->exitActions, popup->exit, popup->q_func());
- else
- finished();
-}
-
-void QQuickPopupTransitionManager::finished()
-{
- if (popup->transitionState == QQuickPopupPrivate::EnterTransition)
- popup->finalizeEnterTransition();
- else if (popup->transitionState == QQuickPopupPrivate::ExitTransition)
- popup->finalizeExitTransition();
-}
-
-QQuickPopup::QQuickPopup(QObject *parent)
- : QObject(*(new QQuickPopupPrivate), parent)
-{
- Q_D(QQuickPopup);
- d->init();
-}
-
-QQuickPopup::QQuickPopup(QQuickPopupPrivate &dd, QObject *parent)
- : QObject(dd, parent)
-{
- Q_D(QQuickPopup);
- d->init();
-}
-
-QQuickPopup::~QQuickPopup()
-{
- Q_D(QQuickPopup);
- setParentItem(nullptr);
- d->popupItem->ungrabShortcut();
- delete d->popupItem;
- d->popupItem = nullptr;
- delete d->positioner;
- d->positioner = nullptr;
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Popup::open()
-
- Opens the popup.
-
- \sa visible
-*/
-void QQuickPopup::open()
-{
- setVisible(true);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Popup::close()
-
- Closes the popup.
-
- \sa visible
-*/
-void QQuickPopup::close()
-{
- setVisible(false);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::x
-
- This property holds the x-coordinate of the popup.
-
- \sa y, z
-*/
-qreal QQuickPopup::x() const
-{
- Q_D(const QQuickPopup);
- return d->effectiveX;
-}
-
-void QQuickPopup::setX(qreal x)
-{
- Q_D(QQuickPopup);
- setPosition(QPointF(x, d->y));
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::y
-
- This property holds the y-coordinate of the popup.
-
- \sa x, z
-*/
-qreal QQuickPopup::y() const
-{
- Q_D(const QQuickPopup);
- return d->effectiveY;
-}
-
-void QQuickPopup::setY(qreal y)
-{
- Q_D(QQuickPopup);
- setPosition(QPointF(d->x, y));
-}
-
-QPointF QQuickPopup::position() const
-{
- Q_D(const QQuickPopup);
- return QPointF(d->effectiveX, d->effectiveY);
-}
-
-void QQuickPopup::setPosition(const QPointF &pos)
-{
- Q_D(QQuickPopup);
- const bool xChange = !qFuzzyCompare(d->x, pos.x());
- const bool yChange = !qFuzzyCompare(d->y, pos.y());
- if (!xChange && !yChange)
- return;
-
- d->x = pos.x();
- d->y = pos.y();
- if (d->popupItem->isVisible()) {
- d->reposition();
- } else {
- if (xChange)
- emit xChanged();
- if (yChange)
- emit yChanged();
- }
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::z
-
- This property holds the z-value of the popup. Z-value determines
- the stacking order of popups.
-
- If two visible popups have the same z-value, the last one that
- was opened will be on top.
-
- The default z-value is \c 0.
-
- \sa x, y
-*/
-qreal QQuickPopup::z() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->z();
-}
-
-void QQuickPopup::setZ(qreal z)
-{
- Q_D(QQuickPopup);
- if (qFuzzyCompare(z, d->popupItem->z()))
- return;
- d->popupItem->setZ(z);
- emit zChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::width
-
- This property holds the width of the popup.
-*/
-qreal QQuickPopup::width() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->width();
-}
-
-void QQuickPopup::setWidth(qreal width)
-{
- Q_D(QQuickPopup);
- d->hasWidth = true;
- d->popupItem->setWidth(width);
-}
-
-void QQuickPopup::resetWidth()
-{
- Q_D(QQuickPopup);
- if (!d->hasWidth)
- return;
-
- d->hasWidth = false;
- d->popupItem->resetWidth();
- if (d->popupItem->isVisible())
- d->reposition();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::height
-
- This property holds the height of the popup.
-*/
-qreal QQuickPopup::height() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->height();
-}
-
-void QQuickPopup::setHeight(qreal height)
-{
- Q_D(QQuickPopup);
- d->hasHeight = true;
- d->popupItem->setHeight(height);
-}
-
-void QQuickPopup::resetHeight()
-{
- Q_D(QQuickPopup);
- if (!d->hasHeight)
- return;
-
- d->hasHeight = false;
- d->popupItem->resetHeight();
- if (d->popupItem->isVisible())
- d->reposition();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::implicitWidth
-
- This property holds the implicit width of the popup.
-*/
-qreal QQuickPopup::implicitWidth() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->implicitWidth();
-}
-
-void QQuickPopup::setImplicitWidth(qreal width)
-{
- Q_D(QQuickPopup);
- d->popupItem->setImplicitWidth(width);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::implicitHeight
-
- This property holds the implicit height of the popup.
-*/
-qreal QQuickPopup::implicitHeight() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->implicitHeight();
-}
-
-void QQuickPopup::setImplicitHeight(qreal height)
-{
- Q_D(QQuickPopup);
- d->popupItem->setImplicitHeight(height);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::contentWidth
-
- This property holds the content width. It is used for calculating the
- total implicit width of the Popup.
-
- For more information, see \l {Popup Sizing}.
-
- \sa contentHeight
-*/
-qreal QQuickPopup::contentWidth() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->contentWidth();
-}
-
-void QQuickPopup::setContentWidth(qreal width)
-{
- Q_D(QQuickPopup);
- d->popupItem->setContentWidth(width);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::contentHeight
-
- This property holds the content height. It is used for calculating the
- total implicit height of the Popup.
-
- For more information, see \l {Popup Sizing}.
-
- \sa contentWidth
-*/
-qreal QQuickPopup::contentHeight() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->contentHeight();
-}
-
-void QQuickPopup::setContentHeight(qreal height)
-{
- Q_D(QQuickPopup);
- d->popupItem->setContentHeight(height);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::availableWidth
- \readonly
-
- This property holds the width available to the \l contentItem after
- deducting horizontal padding from the \l {Item::}{width} of the popup.
-
- \sa padding, leftPadding, rightPadding
-*/
-qreal QQuickPopup::availableWidth() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->availableWidth();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::availableHeight
- \readonly
-
- This property holds the height available to the \l contentItem after
- deducting vertical padding from the \l {Item::}{height} of the popup.
-
- \sa padding, topPadding, bottomPadding
-*/
-qreal QQuickPopup::availableHeight() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->availableHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty real QtQuick.Controls::Popup::spacing
-
- This property holds the spacing.
-
- Spacing is useful for popups that have multiple or repetitive building
- blocks. For example, some styles use spacing to determine the distance
- between the header, content, and footer of \l Dialog. Spacing is not
- enforced by Popup, so each style may interpret it differently, and some
- may ignore it altogether.
-*/
-qreal QQuickPopup::spacing() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->spacing();
-}
-
-void QQuickPopup::setSpacing(qreal spacing)
-{
- Q_D(QQuickPopup);
- d->popupItem->setSpacing(spacing);
-}
-
-void QQuickPopup::resetSpacing()
-{
- setSpacing(0);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::margins
-
- This property holds the distance between the edges of the popup and the
- edges of its window.
-
- A popup with negative margins is not pushed within the bounds
- of the enclosing window. The default value is \c -1.
-
- \sa topMargin, leftMargin, rightMargin, bottomMargin, {Popup Layout}
-*/
-qreal QQuickPopup::margins() const
-{
- Q_D(const QQuickPopup);
- return d->margins;
-}
-
-void QQuickPopup::setMargins(qreal margins)
-{
- Q_D(QQuickPopup);
- if (qFuzzyCompare(d->margins, margins))
- return;
- QMarginsF oldMargins(leftMargin(), topMargin(), rightMargin(), bottomMargin());
- d->margins = margins;
- emit marginsChanged();
- QMarginsF newMargins(leftMargin(), topMargin(), rightMargin(), bottomMargin());
- if (!qFuzzyCompare(newMargins.top(), oldMargins.top()))
- emit topMarginChanged();
- if (!qFuzzyCompare(newMargins.left(), oldMargins.left()))
- emit leftMarginChanged();
- if (!qFuzzyCompare(newMargins.right(), oldMargins.right()))
- emit rightMarginChanged();
- if (!qFuzzyCompare(newMargins.bottom(), oldMargins.bottom()))
- emit bottomMarginChanged();
- marginsChange(newMargins, oldMargins);
-}
-
-void QQuickPopup::resetMargins()
-{
- setMargins(-1);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::topMargin
-
- This property holds the distance between the top edge of the popup and
- the top edge of its window.
-
- A popup with a negative top margin is not pushed within the top edge
- of the enclosing window. The default value is \c -1.
-
- \sa margins, bottomMargin, {Popup Layout}
-*/
-qreal QQuickPopup::topMargin() const
-{
- Q_D(const QQuickPopup);
- if (d->hasTopMargin)
- return d->topMargin;
- return d->margins;
-}
-
-void QQuickPopup::setTopMargin(qreal margin)
-{
- Q_D(QQuickPopup);
- d->setTopMargin(margin);
-}
-
-void QQuickPopup::resetTopMargin()
-{
- Q_D(QQuickPopup);
- d->setTopMargin(-1, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::leftMargin
-
- This property holds the distance between the left edge of the popup and
- the left edge of its window.
-
- A popup with a negative left margin is not pushed within the left edge
- of the enclosing window. The default value is \c -1.
-
- \sa margins, rightMargin, {Popup Layout}
-*/
-qreal QQuickPopup::leftMargin() const
-{
- Q_D(const QQuickPopup);
- if (d->hasLeftMargin)
- return d->leftMargin;
- return d->margins;
-}
-
-void QQuickPopup::setLeftMargin(qreal margin)
-{
- Q_D(QQuickPopup);
- d->setLeftMargin(margin);
-}
-
-void QQuickPopup::resetLeftMargin()
-{
- Q_D(QQuickPopup);
- d->setLeftMargin(-1, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::rightMargin
-
- This property holds the distance between the right edge of the popup and
- the right edge of its window.
-
- A popup with a negative right margin is not pushed within the right edge
- of the enclosing window. The default value is \c -1.
-
- \sa margins, leftMargin, {Popup Layout}
-*/
-qreal QQuickPopup::rightMargin() const
-{
- Q_D(const QQuickPopup);
- if (d->hasRightMargin)
- return d->rightMargin;
- return d->margins;
-}
-
-void QQuickPopup::setRightMargin(qreal margin)
-{
- Q_D(QQuickPopup);
- d->setRightMargin(margin);
-}
-
-void QQuickPopup::resetRightMargin()
-{
- Q_D(QQuickPopup);
- d->setRightMargin(-1, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::bottomMargin
-
- This property holds the distance between the bottom edge of the popup and
- the bottom edge of its window.
-
- A popup with a negative bottom margin is not pushed within the bottom edge
- of the enclosing window. The default value is \c -1.
-
- \sa margins, topMargin, {Popup Layout}
-*/
-qreal QQuickPopup::bottomMargin() const
-{
- Q_D(const QQuickPopup);
- if (d->hasBottomMargin)
- return d->bottomMargin;
- return d->margins;
-}
-
-void QQuickPopup::setBottomMargin(qreal margin)
-{
- Q_D(QQuickPopup);
- d->setBottomMargin(margin);
-}
-
-void QQuickPopup::resetBottomMargin()
-{
- Q_D(QQuickPopup);
- d->setBottomMargin(-1, true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::padding
-
- This property holds the default padding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa availableWidth, availableHeight, topPadding, leftPadding, rightPadding, bottomPadding
-*/
-qreal QQuickPopup::padding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->padding();
-}
-
-void QQuickPopup::setPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setPadding(padding);
-}
-
-void QQuickPopup::resetPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetPadding();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::topPadding
-
- This property holds the top padding. Unless explicitly set, the value
- is equal to \c verticalPadding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa padding, bottomPadding, verticalPadding, availableHeight
-*/
-qreal QQuickPopup::topPadding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->topPadding();
-}
-
-void QQuickPopup::setTopPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setTopPadding(padding);
-}
-
-void QQuickPopup::resetTopPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetTopPadding();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::leftPadding
-
- This property holds the left padding. Unless explicitly set, the value
- is equal to \c horizontalPadding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa padding, rightPadding, horizontalPadding, availableWidth
-*/
-qreal QQuickPopup::leftPadding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->leftPadding();
-}
-
-void QQuickPopup::setLeftPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setLeftPadding(padding);
-}
-
-void QQuickPopup::resetLeftPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetLeftPadding();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::rightPadding
-
- This property holds the right padding. Unless explicitly set, the value
- is equal to \c horizontalPadding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa padding, leftPadding, horizontalPadding, availableWidth
-*/
-qreal QQuickPopup::rightPadding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->rightPadding();
-}
-
-void QQuickPopup::setRightPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setRightPadding(padding);
-}
-
-void QQuickPopup::resetRightPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetRightPadding();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::bottomPadding
-
- This property holds the bottom padding. Unless explicitly set, the value
- is equal to \c verticalPadding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa padding, topPadding, verticalPadding, availableHeight
-*/
-qreal QQuickPopup::bottomPadding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->bottomPadding();
-}
-
-void QQuickPopup::setBottomPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setBottomPadding(padding);
-}
-
-void QQuickPopup::resetBottomPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetBottomPadding();
-}
-
-/*!
- \qmlproperty Locale QtQuick.Controls::Popup::locale
-
- This property holds the locale of the popup.
-
- \sa mirrored, {LayoutMirroring}{LayoutMirroring}
-*/
-QLocale QQuickPopup::locale() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->locale();
-}
-
-void QQuickPopup::setLocale(const QLocale &locale)
-{
- Q_D(QQuickPopup);
- d->popupItem->setLocale(locale);
-}
-
-void QQuickPopup::resetLocale()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetLocale();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::Popup::mirrored
- \readonly
-
- This property holds whether the popup is mirrored.
-
- This property is provided for convenience. A popup is considered mirrored
- when its visual layout direction is right-to-left; that is, when using a
- right-to-left locale.
-
- \sa locale, {Right-to-left User Interfaces}
-*/
-bool QQuickPopup::isMirrored() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->isMirrored();
-}
-
-/*!
- \qmlproperty font QtQuick.Controls::Popup::font
-
- This property holds the font currently set for the popup.
-
- Popup propagates explicit font properties to its children. If you change a specific
- property on a popup's font, that property propagates to all of the popup's children,
- overriding any system defaults for that property.
-
- \code
- Popup {
- font.family: "Courier"
-
- Column {
- Label {
- text: qsTr("This will use Courier...")
- }
-
- Switch {
- text: qsTr("... and so will this")
- }
- }
- }
- \endcode
-
- \sa Control::font, ApplicationWindow::font
-*/
-QFont QQuickPopup::font() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->font();
-}
-
-void QQuickPopup::setFont(const QFont &font)
-{
- Q_D(QQuickPopup);
- d->popupItem->setFont(font);
-}
-
-void QQuickPopup::resetFont()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetFont();
-}
-
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty palette QtQuick.Controls::Popup::palette
-
- This property holds the palette currently set for the popup.
-
- Popup propagates explicit palette properties to its children. If you change a specific
- property on a popup's palette, that property propagates to all of the popup's children,
- overriding any system defaults for that property.
-
- \code
- Popup {
- palette.text: "red"
-
- Column {
- Label {
- text: qsTr("This will use red color...")
- }
-
- Switch {
- text: qsTr("... and so will this")
- }
- }
- }
- \endcode
-
- \sa Control::palette, ApplicationWindow::palette, {qtquickcontrols2-palette}{palette QML Basic Type}
-*/
-QPalette QQuickPopup::palette() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->palette();
-}
-
-void QQuickPopup::setPalette(const QPalette &palette)
-{
- Q_D(QQuickPopup);
- d->popupItem->setPalette(palette);
-}
-
-void QQuickPopup::resetPalette()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetPalette();
-}
-
-QQuickWindow *QQuickPopup::window() const
-{
- Q_D(const QQuickPopup);
- return d->window;
-}
-
-QQuickItem *QQuickPopup::popupItem() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem;
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Popup::parent
-
- This property holds the parent item.
-*/
-QQuickItem *QQuickPopup::parentItem() const
-{
- Q_D(const QQuickPopup);
- return d->parentItem;
-}
-
-void QQuickPopup::setParentItem(QQuickItem *parent)
-{
- Q_D(QQuickPopup);
- if (d->parentItem == parent)
- return;
-
- if (d->parentItem) {
- QObjectPrivate::disconnect(d->parentItem, &QQuickItem::windowChanged, d, &QQuickPopupPrivate::setWindow);
- QQuickItemPrivate::get(d->parentItem)->removeItemChangeListener(d, QQuickItemPrivate::Destroyed);
- }
- d->parentItem = parent;
- QQuickPopupPositioner *positioner = d->getPositioner();
- if (positioner->parentItem())
- positioner->setParentItem(parent);
- if (parent) {
- QObjectPrivate::connect(parent, &QQuickItem::windowChanged, d, &QQuickPopupPrivate::setWindow);
- QQuickItemPrivate::get(d->parentItem)->addItemChangeListener(d, QQuickItemPrivate::Destroyed);
- } else {
- close();
- }
- d->setWindow(parent ? parent->window() : nullptr);
- emit parentChanged();
-}
-
-void QQuickPopup::resetParentItem()
-{
- if (QQuickWindow *window = qobject_cast<QQuickWindow *>(parent()))
- setParentItem(window->contentItem());
- else
- setParentItem(qobject_cast<QQuickItem *>(parent()));
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Popup::background
-
- This property holds the background item.
-
- \note If the background item has no explicit size specified, it automatically
- follows the popup's size. In most cases, there is no need to specify
- width or height for a background item.
-
- \note Most popups use the implicit size of the background item to calculate
- the implicit size of the popup itself. If you replace the background item
- with a custom one, you should also consider providing a sensible implicit
- size for it (unless it is an item like \l Image which has its own implicit
- size).
-
- \sa {Customizing Popup}
-*/
-QQuickItem *QQuickPopup::background() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->background();
-}
-
-void QQuickPopup::setBackground(QQuickItem *background)
-{
- Q_D(QQuickPopup);
- d->popupItem->setBackground(background);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Popup::contentItem
-
- This property holds the content item of the popup.
-
- The content item is the visual implementation of the popup. When the
- popup is made visible, the content item is automatically reparented to
- the \l {Overlay::overlay}{overlay item}.
-
- \note The content item is automatically resized to fit within the
- \l padding of the popup.
-
- \note Most popups use the implicit size of the content item to calculate
- the implicit size of the popup itself. If you replace the content item
- with a custom one, you should also consider providing a sensible implicit
- size for it (unless it is an item like \l Text which has its own implicit
- size).
-
- \sa {Customizing Popup}
-*/
-QQuickItem *QQuickPopup::contentItem() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->contentItem();
-}
-
-void QQuickPopup::setContentItem(QQuickItem *item)
-{
- Q_D(QQuickPopup);
- d->popupItem->setContentItem(item);
-}
-
-/*!
- \qmlproperty list<Object> QtQuick.Controls::Popup::contentData
- \default
-
- This property holds the list of content data.
-
- The list contains all objects that have been declared in QML as children
- of the popup.
-
- \note Unlike \c contentChildren, \c contentData does include non-visual QML
- objects.
-
- \sa Item::data, contentChildren
-*/
-QQmlListProperty<QObject> QQuickPopupPrivate::contentData()
-{
- QQuickControlPrivate *p = QQuickControlPrivate::get(popupItem);
- if (!p->contentItem)
- p->executeContentItem();
- return QQmlListProperty<QObject>(popupItem->contentItem(), nullptr,
- QQuickItemPrivate::data_append,
- QQuickItemPrivate::data_count,
- QQuickItemPrivate::data_at,
- QQuickItemPrivate::data_clear);
-}
-
-/*!
- \qmlproperty list<Item> QtQuick.Controls::Popup::contentChildren
-
- This property holds the list of content children.
-
- The list contains all items that have been declared in QML as children
- of the popup.
-
- \note Unlike \c contentData, \c contentChildren does not include non-visual
- QML objects.
-
- \sa Item::children, contentData
-*/
-QQmlListProperty<QQuickItem> QQuickPopupPrivate::contentChildren()
-{
- return QQmlListProperty<QQuickItem>(popupItem->contentItem(), nullptr,
- QQuickItemPrivate::children_append,
- QQuickItemPrivate::children_count,
- QQuickItemPrivate::children_at,
- QQuickItemPrivate::children_clear);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Popup::clip
-
- This property holds whether clipping is enabled. The default value is \c false.
-*/
-bool QQuickPopup::clip() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->clip();
-}
-
-void QQuickPopup::setClip(bool clip)
-{
- Q_D(QQuickPopup);
- if (clip == d->popupItem->clip())
- return;
- d->popupItem->setClip(clip);
- emit clipChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Popup::focus
-
- This property holds whether the popup wants focus.
-
- When the popup actually receives focus, \l activeFocus will be \c true.
- For more information, see \l {Keyboard Focus in Qt Quick}.
-
- The default value is \c false.
-
- \sa activeFocus
-*/
-bool QQuickPopup::hasFocus() const
-{
- Q_D(const QQuickPopup);
- return d->focus;
-}
-
-void QQuickPopup::setFocus(bool focus)
-{
- Q_D(QQuickPopup);
- if (d->focus == focus)
- return;
- d->focus = focus;
- emit focusChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Popup::activeFocus
- \readonly
-
- This property holds whether the popup has active focus.
-
- \sa focus, {Keyboard Focus in Qt Quick}
-*/
-bool QQuickPopup::hasActiveFocus() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->hasActiveFocus();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Popup::modal
-
- This property holds whether the popup is modal.
-
- Modal popups often have a distinctive background dimming effect defined
- in \l {Overlay::modal}{Overlay.modal}, and do not allow press
- or release events through to items beneath them. For example, if the user
- accidentally clicks outside of a popup, any item beneath that popup at
- the location of the click will not receive the event.
-
- On desktop platforms, it is common for modal popups to be closed only when
- the escape key is pressed. To achieve this behavior, set
- \l closePolicy to \c Popup.CloseOnEscape. By default, \c closePolicy
- is set to \c {Popup.CloseOnEscape | Popup.CloseOnPressOutside}, which
- means that clicking outside of a modal popup will close it.
-
- The default value is \c false.
-
- \sa dim
-*/
-bool QQuickPopup::isModal() const
-{
- Q_D(const QQuickPopup);
- return d->modal;
-}
-
-void QQuickPopup::setModal(bool modal)
-{
- Q_D(QQuickPopup);
- if (d->modal == modal)
- return;
- d->modal = modal;
- if (d->complete && d->visible)
- d->toggleOverlay();
- emit modalChanged();
-
- if (!d->hasDim) {
- setDim(modal);
- d->hasDim = false;
- }
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Popup::dim
-
- This property holds whether the popup dims the background.
-
- Unless explicitly set, this property follows the value of \l modal. To
- return to the default value, set this property to \c undefined.
-
- \sa modal, {Overlay::modeless}{Overlay.modeless}
-*/
-bool QQuickPopup::dim() const
-{
- Q_D(const QQuickPopup);
- return d->dim;
-}
-
-void QQuickPopup::setDim(bool dim)
-{
- Q_D(QQuickPopup);
- d->hasDim = true;
-
- if (d->dim == dim)
- return;
-
- d->dim = dim;
- if (d->complete && d->visible)
- d->toggleOverlay();
- emit dimChanged();
-}
-
-void QQuickPopup::resetDim()
-{
- Q_D(QQuickPopup);
- if (!d->hasDim)
- return;
-
- setDim(d->modal);
- d->hasDim = false;
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Popup::visible
-
- This property holds whether the popup is visible. The default value is \c false.
-
- \sa open(), close(), opened
-*/
-bool QQuickPopup::isVisible() const
-{
- Q_D(const QQuickPopup);
- return d->visible && d->popupItem->isVisible();
-}
-
-void QQuickPopup::setVisible(bool visible)
-{
- Q_D(QQuickPopup);
- if (d->visible == visible && d->transitionState != QQuickPopupPrivate::ExitTransition)
- return;
-
- if (d->complete) {
- if (visible)
- d->transitionManager.transitionEnter();
- else
- d->transitionManager.transitionExit();
- } else {
- d->visible = visible;
- }
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::Popup::enabled
-
- This property holds whether the popup is enabled. The default value is \c true.
-
- \sa visible, Item::enabled
-*/
-bool QQuickPopup::isEnabled() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->isEnabled();
-}
-
-void QQuickPopup::setEnabled(bool enabled)
-{
- Q_D(QQuickPopup);
- d->popupItem->setEnabled(enabled);
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::Popup::opened
-
- This property holds whether the popup is fully open. The popup is considered opened
- when it's visible and neither the \l enter nor \l exit transitions are running.
-
- \sa open(), close(), visible
-*/
-bool QQuickPopup::isOpened() const
-{
- Q_D(const QQuickPopup);
- return d->transitionState == QQuickPopupPrivate::NoTransition && isVisible();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::opacity
-
- This property holds the opacity of the popup. Opacity is specified as a number between
- \c 0.0 (fully transparent) and \c 1.0 (fully opaque). The default value is \c 1.0.
-
- \sa visible
-*/
-qreal QQuickPopup::opacity() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->opacity();
-}
-
-void QQuickPopup::setOpacity(qreal opacity)
-{
- Q_D(QQuickPopup);
- d->popupItem->setOpacity(opacity);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Popup::scale
-
- This property holds the scale factor of the popup. The default value is \c 1.0.
-
- A scale of less than \c 1.0 causes the popup to be rendered at a smaller size,
- and a scale greater than \c 1.0 renders the popup at a larger size. Negative
- scales are not supported.
-*/
-qreal QQuickPopup::scale() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->scale();
-}
-
-void QQuickPopup::setScale(qreal scale)
-{
- Q_D(QQuickPopup);
- if (qFuzzyCompare(scale, d->popupItem->scale()))
- return;
- d->popupItem->setScale(scale);
- emit scaleChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Popup::closePolicy
-
- This property determines the circumstances under which the popup closes.
- The flags can be combined to allow several ways of closing the popup.
-
- The available values are:
- \value Popup.NoAutoClose The popup will only close when manually instructed to do so.
- \value Popup.CloseOnPressOutside The popup will close when the mouse is pressed outside of it.
- \value Popup.CloseOnPressOutsideParent The popup will close when the mouse is pressed outside of its parent.
- \value Popup.CloseOnReleaseOutside The popup will close when the mouse is released outside of it.
- \value Popup.CloseOnReleaseOutsideParent The popup will close when the mouse is released outside of its parent.
- \value Popup.CloseOnEscape The popup will close when the escape key is pressed while the popup
- has active focus.
-
- The default value is \c {Popup.CloseOnEscape | Popup.CloseOnPressOutside}.
-
- \note There is a known limitation that the \c Popup.CloseOnReleaseOutside
- and \c Popup.CloseOnReleaseOutsideParent policies only work with
- \l modal popups.
-*/
-QQuickPopup::ClosePolicy QQuickPopup::closePolicy() const
-{
- Q_D(const QQuickPopup);
- return d->closePolicy;
-}
-
-void QQuickPopup::setClosePolicy(ClosePolicy policy)
-{
- Q_D(QQuickPopup);
- d->hasClosePolicy = true;
- if (d->closePolicy == policy)
- return;
- d->closePolicy = policy;
- if (isVisible()) {
- if (policy & QQuickPopup::CloseOnEscape)
- d->popupItem->grabShortcut();
- else
- d->popupItem->ungrabShortcut();
- }
- emit closePolicyChanged();
-}
-
-void QQuickPopup::resetClosePolicy()
-{
- Q_D(QQuickPopup);
- setClosePolicy(QQuickPopupPrivate::DefaultClosePolicy);
- d->hasClosePolicy = false;
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Popup::transformOrigin
-
- This property holds the origin point for transformations in enter and exit transitions.
-
- Nine transform origins are available, as shown in the image below.
- The default transform origin is \c Popup.Center.
-
- \image qtquickcontrols2-popup-transformorigin.png
-
- \sa enter, exit, Item::transformOrigin
-*/
-QQuickPopup::TransformOrigin QQuickPopup::transformOrigin() const
-{
- Q_D(const QQuickPopup);
- return static_cast<TransformOrigin>(d->popupItem->transformOrigin());
-}
-
-void QQuickPopup::setTransformOrigin(TransformOrigin origin)
-{
- Q_D(QQuickPopup);
- d->popupItem->setTransformOrigin(static_cast<QQuickItem::TransformOrigin>(origin));
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::Popup::enter
-
- This property holds the transition that is applied to the popup item
- when the popup is opened and enters the screen.
-
- The following example animates the opacity of the popup when it enters
- the screen:
- \code
- Popup {
- enter: Transition {
- NumberAnimation { property: "opacity"; from: 0.0; to: 1.0 }
- }
- }
- \endcode
-
- \sa exit
-*/
-QQuickTransition *QQuickPopup::enter() const
-{
- Q_D(const QQuickPopup);
- return d->enter;
-}
-
-void QQuickPopup::setEnter(QQuickTransition *transition)
-{
- Q_D(QQuickPopup);
- if (d->enter == transition)
- return;
- d->enter = transition;
- emit enterChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::Popup::exit
-
- This property holds the transition that is applied to the popup item
- when the popup is closed and exits the screen.
-
- The following example animates the opacity of the popup when it exits
- the screen:
- \code
- Popup {
- exit: Transition {
- NumberAnimation { property: "opacity"; from: 1.0; to: 0.0 }
- }
- }
- \endcode
-
- \sa enter
-*/
-QQuickTransition *QQuickPopup::exit() const
-{
- Q_D(const QQuickPopup);
- return d->exit;
-}
-
-void QQuickPopup::setExit(QQuickTransition *transition)
-{
- Q_D(QQuickPopup);
- if (d->exit == transition)
- return;
- d->exit = transition;
- emit exitChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::horizontalPadding
-
- This property holds the horizontal padding. Unless explicitly set, the value
- is equal to \c padding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa padding, leftPadding, rightPadding, verticalPadding
-*/
-qreal QQuickPopup::horizontalPadding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->horizontalPadding();
-}
-
-void QQuickPopup::setHorizontalPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setHorizontalPadding(padding);
-}
-
-void QQuickPopup::resetHorizontalPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetHorizontalPadding();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::verticalPadding
-
- This property holds the vertical padding. Unless explicitly set, the value
- is equal to \c padding.
-
- \include qquickpopup-padding.qdocinc
-
- \sa padding, topPadding, bottomPadding, horizontalPadding
-*/
-qreal QQuickPopup::verticalPadding() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->verticalPadding();
-}
-
-void QQuickPopup::setVerticalPadding(qreal padding)
-{
- Q_D(QQuickPopup);
- d->popupItem->setVerticalPadding(padding);
-}
-
-void QQuickPopup::resetVerticalPadding()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetVerticalPadding();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::implicitContentWidth
- \readonly
-
- This property holds the implicit content width.
-
- The value is calculated based on the content children.
-
- \sa implicitContentHeight, implicitBackgroundWidth
-*/
-qreal QQuickPopup::implicitContentWidth() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->implicitContentWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::implicitContentHeight
- \readonly
-
- This property holds the implicit content height.
-
- The value is calculated based on the content children.
-
- \sa implicitContentWidth, implicitBackgroundHeight
-*/
-qreal QQuickPopup::implicitContentHeight() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->implicitContentHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::implicitBackgroundWidth
- \readonly
-
- This property holds the implicit background width.
-
- The value is equal to \c {background ? background.implicitWidth : 0}.
-
- \sa implicitBackgroundHeight, implicitContentWidth
-*/
-qreal QQuickPopup::implicitBackgroundWidth() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->implicitBackgroundWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::implicitBackgroundHeight
- \readonly
-
- This property holds the implicit background height.
-
- The value is equal to \c {background ? background.implicitHeight : 0}.
-
- \sa implicitBackgroundWidth, implicitContentHeight
-*/
-qreal QQuickPopup::implicitBackgroundHeight() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->implicitBackgroundHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::topInset
-
- This property holds the top inset for the background.
-
- \sa {Popup Layout}, bottomInset
-*/
-qreal QQuickPopup::topInset() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->topInset();
-}
-
-void QQuickPopup::setTopInset(qreal inset)
-{
- Q_D(QQuickPopup);
- d->popupItem->setTopInset(inset);
-}
-
-void QQuickPopup::resetTopInset()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetTopInset();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::leftInset
-
- This property holds the left inset for the background.
-
- \sa {Popup Layout}, rightInset
-*/
-qreal QQuickPopup::leftInset() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->leftInset();
-}
-
-void QQuickPopup::setLeftInset(qreal inset)
-{
- Q_D(QQuickPopup);
- d->popupItem->setLeftInset(inset);
-}
-
-void QQuickPopup::resetLeftInset()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetLeftInset();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::rightInset
-
- This property holds the right inset for the background.
-
- \sa {Popup Layout}, leftInset
-*/
-qreal QQuickPopup::rightInset() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->rightInset();
-}
-
-void QQuickPopup::setRightInset(qreal inset)
-{
- Q_D(QQuickPopup);
- d->popupItem->setRightInset(inset);
-}
-
-void QQuickPopup::resetRightInset()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetRightInset();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Popup::bottomInset
-
- This property holds the bottom inset for the background.
-
- \sa {Popup Layout}, topInset
-*/
-qreal QQuickPopup::bottomInset() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->bottomInset();
-}
-
-void QQuickPopup::setBottomInset(qreal inset)
-{
- Q_D(QQuickPopup);
- d->popupItem->setBottomInset(inset);
-}
-
-void QQuickPopup::resetBottomInset()
-{
- Q_D(QQuickPopup);
- d->popupItem->resetBottomInset();
-}
-
-bool QQuickPopup::filtersChildMouseEvents() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->filtersChildMouseEvents();
-}
-
-void QQuickPopup::setFiltersChildMouseEvents(bool filter)
-{
- Q_D(QQuickPopup);
- d->popupItem->setFiltersChildMouseEvents(filter);
-}
-
-/*!
- \qmlmethod QtQuick.Controls::Popup::forceActiveFocus(reason = Qt.OtherFocusReason)
-
- Forces active focus on the popup with the given \a reason.
-
- This method sets focus on the popup and ensures that all ancestor
- \l FocusScope objects in the object hierarchy are also given \l focus.
-
- \sa activeFocus, Qt::FocusReason
-*/
-void QQuickPopup::forceActiveFocus(Qt::FocusReason reason)
-{
- Q_D(QQuickPopup);
- d->popupItem->forceActiveFocus(reason);
-}
-
-void QQuickPopup::classBegin()
-{
- Q_D(QQuickPopup);
- d->complete = false;
- QQmlContext *context = qmlContext(this);
- if (context)
- QQmlEngine::setContextForObject(d->popupItem, context);
- d->popupItem->classBegin();
-}
-
-void QQuickPopup::componentComplete()
-{
- Q_D(QQuickPopup);
- if (!parentItem())
- resetParentItem();
-
- if (d->visible && d->window)
- d->transitionManager.transitionEnter();
-
- d->complete = true;
- d->popupItem->componentComplete();
-}
-
-bool QQuickPopup::isComponentComplete() const
-{
- Q_D(const QQuickPopup);
- return d->complete;
-}
-
-bool QQuickPopup::childMouseEventFilter(QQuickItem *child, QEvent *event)
-{
- Q_UNUSED(child);
- Q_UNUSED(event);
- return false;
-}
-
-void QQuickPopup::focusInEvent(QFocusEvent *event)
-{
- event->accept();
-}
-
-void QQuickPopup::focusOutEvent(QFocusEvent *event)
-{
- event->accept();
-}
-
-void QQuickPopup::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickPopup);
- event->accept();
-
- if (hasActiveFocus() && (event->key() == Qt::Key_Tab || event->key() == Qt::Key_Backtab))
- QQuickItemPrivate::focusNextPrev(d->popupItem, event->key() == Qt::Key_Tab);
-}
-
-void QQuickPopup::keyReleaseEvent(QKeyEvent *event)
-{
- event->accept();
-}
-
-void QQuickPopup::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopup);
- d->handleMouseEvent(d->popupItem, event);
- event->accept();
-}
-
-void QQuickPopup::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopup);
- d->handleMouseEvent(d->popupItem, event);
- event->accept();
-}
-
-void QQuickPopup::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopup);
- d->handleMouseEvent(d->popupItem, event);
- event->accept();
-}
-
-void QQuickPopup::mouseDoubleClickEvent(QMouseEvent *event)
-{
- event->accept();
-}
-
-void QQuickPopup::mouseUngrabEvent()
-{
- Q_D(QQuickPopup);
- d->handleUngrab();
-}
-
-bool QQuickPopup::overlayEvent(QQuickItem *item, QEvent *event)
-{
- Q_D(QQuickPopup);
- switch (event->type()) {
- case QEvent::KeyPress:
- case QEvent::KeyRelease:
- case QEvent::MouseMove:
- case QEvent::Wheel:
- if (d->modal)
- event->accept();
- return d->modal;
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- case QEvent::TouchBegin:
- case QEvent::TouchUpdate:
- case QEvent::TouchEnd:
- return d->handleTouchEvent(item, static_cast<QTouchEvent *>(event));
-#endif
-
- case QEvent::MouseButtonPress:
- case QEvent::MouseButtonRelease:
- return d->handleMouseEvent(item, static_cast<QMouseEvent *>(event));
-
- default:
- return false;
- }
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickPopup::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickPopup);
- d->handleTouchEvent(d->popupItem, event);
-}
-
-void QQuickPopup::touchUngrabEvent()
-{
- Q_D(QQuickPopup);
- d->handleUngrab();
-}
-#endif
-
-#if QT_CONFIG(wheelevent)
-void QQuickPopup::wheelEvent(QWheelEvent *event)
-{
- event->accept();
-}
-#endif
-
-void QQuickPopup::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_UNUSED(newItem);
- Q_UNUSED(oldItem);
-}
-
-void QQuickPopup::contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize)
-{
- if (!qFuzzyCompare(newSize.width(), oldSize.width()))
- emit contentWidthChanged();
- if (!qFuzzyCompare(newSize.height(), oldSize.height()))
- emit contentHeightChanged();
-}
-
-void QQuickPopup::fontChange(const QFont &newFont, const QFont &oldFont)
-{
- Q_UNUSED(newFont);
- Q_UNUSED(oldFont);
- emit fontChanged();
-}
-
-void QQuickPopup::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickPopup);
- d->reposition();
- if (!qFuzzyCompare(newGeometry.width(), oldGeometry.width())) {
- emit widthChanged();
- emit availableWidthChanged();
- }
- if (!qFuzzyCompare(newGeometry.height(), oldGeometry.height())) {
- emit heightChanged();
- emit availableHeightChanged();
- }
-}
-
-void QQuickPopup::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- Q_D(QQuickPopup);
-
- switch (change) {
- case QQuickItem::ItemActiveFocusHasChanged:
- emit activeFocusChanged();
- break;
- case QQuickItem::ItemOpacityHasChanged:
- emit opacityChanged();
- break;
- case QQuickItem::ItemVisibleHasChanged:
- if (isComponentComplete() && d->closePolicy & CloseOnEscape) {
- if (data.boolValue)
- d->popupItem->grabShortcut();
- else
- d->popupItem->ungrabShortcut();
- }
- break;
- default:
- break;
- }
-}
-
-void QQuickPopup::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_UNUSED(newLocale);
- Q_UNUSED(oldLocale);
- emit localeChanged();
-}
-
-void QQuickPopup::marginsChange(const QMarginsF &newMargins, const QMarginsF &oldMargins)
-{
- Q_D(QQuickPopup);
- Q_UNUSED(newMargins);
- Q_UNUSED(oldMargins);
- d->reposition();
-}
-
-void QQuickPopup::paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding)
-{
- const bool tp = !qFuzzyCompare(newPadding.top(), oldPadding.top());
- const bool lp = !qFuzzyCompare(newPadding.left(), oldPadding.left());
- const bool rp = !qFuzzyCompare(newPadding.right(), oldPadding.right());
- const bool bp = !qFuzzyCompare(newPadding.bottom(), oldPadding.bottom());
-
- if (tp)
- emit topPaddingChanged();
- if (lp)
- emit leftPaddingChanged();
- if (rp)
- emit rightPaddingChanged();
- if (bp)
- emit bottomPaddingChanged();
-
- if (lp || rp) {
- emit horizontalPaddingChanged();
- emit availableWidthChanged();
- }
- if (tp || bp) {
- emit verticalPaddingChanged();
- emit availableHeightChanged();
- }
-}
-
-void QQuickPopup::paletteChange(const QPalette &newPalette, const QPalette &oldPalette)
-{
- Q_UNUSED(newPalette);
- Q_UNUSED(oldPalette);
- emit paletteChanged();
-}
-
-void QQuickPopup::spacingChange(qreal newSpacing, qreal oldSpacing)
-{
- Q_UNUSED(newSpacing);
- Q_UNUSED(oldSpacing);
- emit spacingChanged();
-}
-
-void QQuickPopup::insetChange(const QMarginsF &newInset, const QMarginsF &oldInset)
-{
- if (!qFuzzyCompare(newInset.top(), oldInset.top()))
- emit topInsetChanged();
- if (!qFuzzyCompare(newInset.left(), oldInset.left()))
- emit leftInsetChanged();
- if (!qFuzzyCompare(newInset.right(), oldInset.right()))
- emit rightInsetChanged();
- if (!qFuzzyCompare(newInset.bottom(), oldInset.bottom()))
- emit bottomInsetChanged();
-}
-
-QFont QQuickPopup::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::System);
-}
-
-QPalette QQuickPopup::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::System);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickPopup::accessibleRole() const
-{
- return QAccessible::Dialog;
-}
-
-void QQuickPopup::accessibilityActiveChanged(bool active)
-{
- Q_UNUSED(active);
-}
-#endif
-
-QString QQuickPopup::accessibleName() const
-{
- Q_D(const QQuickPopup);
- return d->popupItem->accessibleName();
-}
-
-void QQuickPopup::setAccessibleName(const QString &name)
-{
- Q_D(QQuickPopup);
- d->popupItem->setAccessibleName(name);
-}
-
-QVariant QQuickPopup::accessibleProperty(const char *propertyName)
-{
- Q_D(const QQuickPopup);
- return d->popupItem->accessibleProperty(propertyName);
-}
-
-bool QQuickPopup::setAccessibleProperty(const char *propertyName, const QVariant &value)
-{
- Q_D(QQuickPopup);
- return d->popupItem->setAccessibleProperty(propertyName, value);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickpopup_p.cpp"
diff --git a/src/quicktemplates2/qquickpopup_p.h b/src/quicktemplates2/qquickpopup_p.h
deleted file mode 100644
index 12dbd247..00000000
--- a/src/quicktemplates2/qquickpopup_p.h
+++ /dev/null
@@ -1,481 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPOPUP_P_H
-#define QQUICKPOPUP_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmargins.h>
-#include <QtGui/qevent.h>
-#include <QtCore/qlocale.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qpalette.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtQml/qqml.h>
-#include <QtQml/qqmllist.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQuick/qquickitem.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtGui/qaccessible.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QQuickWindow;
-class QQuickPopupAnchors;
-class QQuickPopupPrivate;
-class QQuickTransition;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPopup : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged FINAL)
- Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged FINAL)
- Q_PROPERTY(qreal z READ z WRITE setZ NOTIFY zChanged FINAL)
- Q_PROPERTY(qreal width READ width WRITE setWidth RESET resetWidth NOTIFY widthChanged FINAL)
- Q_PROPERTY(qreal height READ height WRITE setHeight RESET resetHeight NOTIFY heightChanged FINAL)
- Q_PROPERTY(qreal implicitWidth READ implicitWidth WRITE setImplicitWidth NOTIFY implicitWidthChanged FINAL)
- Q_PROPERTY(qreal implicitHeight READ implicitHeight WRITE setImplicitHeight NOTIFY implicitHeightChanged FINAL)
- Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth NOTIFY contentWidthChanged FINAL)
- Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight NOTIFY contentHeightChanged FINAL)
- Q_PROPERTY(qreal availableWidth READ availableWidth NOTIFY availableWidthChanged FINAL)
- Q_PROPERTY(qreal availableHeight READ availableHeight NOTIFY availableHeightChanged FINAL)
- Q_PROPERTY(qreal margins READ margins WRITE setMargins RESET resetMargins NOTIFY marginsChanged FINAL)
- Q_PROPERTY(qreal topMargin READ topMargin WRITE setTopMargin RESET resetTopMargin NOTIFY topMarginChanged FINAL)
- Q_PROPERTY(qreal leftMargin READ leftMargin WRITE setLeftMargin RESET resetLeftMargin NOTIFY leftMarginChanged FINAL)
- Q_PROPERTY(qreal rightMargin READ rightMargin WRITE setRightMargin RESET resetRightMargin NOTIFY rightMarginChanged FINAL)
- Q_PROPERTY(qreal bottomMargin READ bottomMargin WRITE setBottomMargin RESET resetBottomMargin NOTIFY bottomMarginChanged FINAL)
- Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged FINAL)
- Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged FINAL)
- Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding NOTIFY leftPaddingChanged FINAL)
- Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding NOTIFY rightPaddingChanged FINAL)
- Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged FINAL)
- Q_PROPERTY(QLocale locale READ locale WRITE setLocale RESET resetLocale NOTIFY localeChanged FINAL)
- Q_PROPERTY(QFont font READ font WRITE setFont RESET resetFont NOTIFY fontChanged FINAL)
- Q_PROPERTY(QQuickItem *parent READ parentItem WRITE setParentItem RESET resetParentItem NOTIFY parentChanged FINAL)
- Q_PROPERTY(QQuickItem *background READ background WRITE setBackground NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(QQuickItem *contentItem READ contentItem WRITE setContentItem NOTIFY contentItemChanged FINAL)
- Q_PRIVATE_PROPERTY(QQuickPopup::d_func(), QQmlListProperty<QObject> contentData READ contentData FINAL)
- Q_PRIVATE_PROPERTY(QQuickPopup::d_func(), QQmlListProperty<QQuickItem> contentChildren READ contentChildren NOTIFY contentChildrenChanged FINAL)
- Q_PROPERTY(bool clip READ clip WRITE setClip NOTIFY clipChanged FINAL)
- Q_PROPERTY(bool focus READ hasFocus WRITE setFocus NOTIFY focusChanged FINAL)
- Q_PROPERTY(bool activeFocus READ hasActiveFocus NOTIFY activeFocusChanged FINAL)
- Q_PROPERTY(bool modal READ isModal WRITE setModal NOTIFY modalChanged FINAL)
- Q_PROPERTY(bool dim READ dim WRITE setDim RESET resetDim NOTIFY dimChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged FINAL)
- Q_PROPERTY(qreal scale READ scale WRITE setScale NOTIFY scaleChanged FINAL)
- Q_PROPERTY(ClosePolicy closePolicy READ closePolicy WRITE setClosePolicy RESET resetClosePolicy NOTIFY closePolicyChanged FINAL)
- Q_PROPERTY(TransformOrigin transformOrigin READ transformOrigin WRITE setTransformOrigin FINAL)
- Q_PROPERTY(QQuickTransition *enter READ enter WRITE setEnter NOTIFY enterChanged FINAL)
- Q_PROPERTY(QQuickTransition *exit READ exit WRITE setExit NOTIFY exitChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing RESET resetSpacing NOTIFY spacingChanged FINAL REVISION 1)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool opened READ isOpened NOTIFY openedChanged FINAL REVISION 3)
- Q_PROPERTY(bool mirrored READ isMirrored NOTIFY mirroredChanged FINAL REVISION 3)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL REVISION 3)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal horizontalPadding READ horizontalPadding WRITE setHorizontalPadding RESET resetHorizontalPadding NOTIFY horizontalPaddingChanged FINAL)
- Q_PROPERTY(qreal verticalPadding READ verticalPadding WRITE setVerticalPadding RESET resetVerticalPadding NOTIFY verticalPaddingChanged FINAL)
- Q_PRIVATE_PROPERTY(QQuickPopup::d_func(), QQuickPopupAnchors *anchors READ getAnchors DESIGNABLE false CONSTANT FINAL REVISION 5)
- Q_PROPERTY(qreal implicitContentWidth READ implicitContentWidth NOTIFY implicitContentWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitContentHeight READ implicitContentHeight NOTIFY implicitContentHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundWidth READ implicitBackgroundWidth NOTIFY implicitBackgroundWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundHeight READ implicitBackgroundHeight NOTIFY implicitBackgroundHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal topInset READ topInset WRITE setTopInset RESET resetTopInset NOTIFY topInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal leftInset READ leftInset WRITE setLeftInset RESET resetLeftInset NOTIFY leftInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal rightInset READ rightInset WRITE setRightInset RESET resetRightInset NOTIFY rightInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal bottomInset READ bottomInset WRITE setBottomInset RESET resetBottomInset NOTIFY bottomInsetChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,contentItem")
- Q_CLASSINFO("DefaultProperty", "contentData")
-
-public:
- explicit QQuickPopup(QObject *parent = nullptr);
- ~QQuickPopup();
-
- qreal x() const;
- void setX(qreal x);
-
- qreal y() const;
- void setY(qreal y);
-
- QPointF position() const;
- void setPosition(const QPointF &pos);
-
- qreal z() const;
- void setZ(qreal z);
-
- qreal width() const;
- void setWidth(qreal width);
- void resetWidth();
-
- qreal height() const;
- void setHeight(qreal height);
- void resetHeight();
-
- qreal implicitWidth() const;
- void setImplicitWidth(qreal width);
-
- qreal implicitHeight() const;
- void setImplicitHeight(qreal height);
-
- qreal contentWidth() const;
- void setContentWidth(qreal width);
-
- qreal contentHeight() const;
- void setContentHeight(qreal height);
-
- qreal availableWidth() const;
- qreal availableHeight() const;
-
- qreal margins() const;
- void setMargins(qreal margins);
- void resetMargins();
-
- qreal topMargin() const;
- void setTopMargin(qreal margin);
- void resetTopMargin();
-
- qreal leftMargin() const;
- void setLeftMargin(qreal margin);
- void resetLeftMargin();
-
- qreal rightMargin() const;
- void setRightMargin(qreal margin);
- void resetRightMargin();
-
- qreal bottomMargin() const;
- void setBottomMargin(qreal margin);
- void resetBottomMargin();
-
- qreal padding() const;
- void setPadding(qreal padding);
- void resetPadding();
-
- qreal topPadding() const;
- void setTopPadding(qreal padding);
- void resetTopPadding();
-
- qreal leftPadding() const;
- void setLeftPadding(qreal padding);
- void resetLeftPadding();
-
- qreal rightPadding() const;
- void setRightPadding(qreal padding);
- void resetRightPadding();
-
- qreal bottomPadding() const;
- void setBottomPadding(qreal padding);
- void resetBottomPadding();
-
- QLocale locale() const;
- void setLocale(const QLocale &locale);
- void resetLocale();
-
- QFont font() const;
- void setFont(const QFont &font);
- void resetFont();
-
- QQuickWindow *window() const;
- QQuickItem *popupItem() const;
-
- QQuickItem *parentItem() const;
- void setParentItem(QQuickItem *parent);
- void resetParentItem();
-
- QQuickItem *background() const;
- void setBackground(QQuickItem *background);
-
- QQuickItem *contentItem() const;
- void setContentItem(QQuickItem *item);
-
- bool clip() const;
- void setClip(bool clip);
-
- bool hasFocus() const;
- void setFocus(bool focus);
-
- bool hasActiveFocus() const;
-
- bool isModal() const;
- void setModal(bool modal);
-
- bool dim() const;
- void setDim(bool dim);
- void resetDim();
-
- bool isVisible() const;
- virtual void setVisible(bool visible);
-
- qreal opacity() const;
- void setOpacity(qreal opacity);
-
- qreal scale() const;
- void setScale(qreal scale);
-
- enum ClosePolicyFlag {
- NoAutoClose = 0x00,
- CloseOnPressOutside = 0x01,
- CloseOnPressOutsideParent = 0x02,
- CloseOnReleaseOutside = 0x04,
- CloseOnReleaseOutsideParent = 0x08,
- CloseOnEscape = 0x10
- };
- Q_DECLARE_FLAGS(ClosePolicy, ClosePolicyFlag)
- Q_FLAG(ClosePolicy)
-
- ClosePolicy closePolicy() const;
- void setClosePolicy(ClosePolicy policy);
- void resetClosePolicy();
-
- // keep in sync with Item.TransformOrigin
- enum TransformOrigin {
- TopLeft, Top, TopRight,
- Left, Center, Right,
- BottomLeft, Bottom, BottomRight
- };
- Q_ENUM(TransformOrigin)
-
- TransformOrigin transformOrigin() const;
- void setTransformOrigin(TransformOrigin);
-
- QQuickTransition *enter() const;
- void setEnter(QQuickTransition *transition);
-
- QQuickTransition *exit() const;
- void setExit(QQuickTransition *transition);
-
- bool filtersChildMouseEvents() const;
- void setFiltersChildMouseEvents(bool filter);
-
- Q_INVOKABLE void forceActiveFocus(Qt::FocusReason reason = Qt::OtherFocusReason);
-
- // 2.1 (Qt 5.8)
- qreal spacing() const;
- void setSpacing(qreal spacing);
- void resetSpacing();
-
- // 2.3 (Qt 5.10)
- bool isOpened() const;
- bool isMirrored() const;
-
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
- QPalette palette() const;
- void setPalette(const QPalette &palette);
- void resetPalette();
-
- // 2.5 (Qt 5.12)
- qreal horizontalPadding() const;
- void setHorizontalPadding(qreal padding);
- void resetHorizontalPadding();
-
- qreal verticalPadding() const;
- void setVerticalPadding(qreal padding);
- void resetVerticalPadding();
-
- qreal implicitContentWidth() const;
- qreal implicitContentHeight() const;
-
- qreal implicitBackgroundWidth() const;
- qreal implicitBackgroundHeight() const;
-
- qreal topInset() const;
- void setTopInset(qreal inset);
- void resetTopInset();
-
- qreal leftInset() const;
- void setLeftInset(qreal inset);
- void resetLeftInset();
-
- qreal rightInset() const;
- void setRightInset(qreal inset);
- void resetRightInset();
-
- qreal bottomInset() const;
- void setBottomInset(qreal inset);
- void resetBottomInset();
-
-public Q_SLOTS:
- void open();
- void close();
-
-Q_SIGNALS:
- void opened();
- void closed();
- void aboutToShow();
- void aboutToHide();
- void xChanged();
- void yChanged();
- void zChanged();
- void widthChanged();
- void heightChanged();
- void implicitWidthChanged();
- void implicitHeightChanged();
- void contentWidthChanged();
- void contentHeightChanged();
- void availableWidthChanged();
- void availableHeightChanged();
- void marginsChanged();
- void topMarginChanged();
- void leftMarginChanged();
- void rightMarginChanged();
- void bottomMarginChanged();
- void paddingChanged();
- void topPaddingChanged();
- void leftPaddingChanged();
- void rightPaddingChanged();
- void bottomPaddingChanged();
- void fontChanged();
- void localeChanged();
- void parentChanged();
- void backgroundChanged();
- void contentItemChanged();
- void contentChildrenChanged();
- void clipChanged();
- void focusChanged();
- void activeFocusChanged();
- void modalChanged();
- void dimChanged();
- void visibleChanged();
- void opacityChanged();
- void scaleChanged();
- void closePolicyChanged();
- void enterChanged();
- void exitChanged();
- void windowChanged(QQuickWindow *window);
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void spacingChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void openedChanged();
- Q_REVISION(3) void mirroredChanged();
- Q_REVISION(3) void enabledChanged();
- Q_REVISION(3) void paletteChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void horizontalPaddingChanged();
- Q_REVISION(5) void verticalPaddingChanged();
- Q_REVISION(5) void implicitContentWidthChanged();
- Q_REVISION(5) void implicitContentHeightChanged();
- Q_REVISION(5) void implicitBackgroundWidthChanged();
- Q_REVISION(5) void implicitBackgroundHeightChanged();
- Q_REVISION(5) void topInsetChanged();
- Q_REVISION(5) void leftInsetChanged();
- Q_REVISION(5) void rightInsetChanged();
- Q_REVISION(5) void bottomInsetChanged();
-
-protected:
- QQuickPopup(QQuickPopupPrivate &dd, QObject *parent);
-
- void classBegin() override;
- void componentComplete() override;
- bool isComponentComplete() const;
-
- virtual bool childMouseEventFilter(QQuickItem *child, QEvent *event);
- virtual void focusInEvent(QFocusEvent *event);
- virtual void focusOutEvent(QFocusEvent *event);
- virtual void keyPressEvent(QKeyEvent *event);
- virtual void keyReleaseEvent(QKeyEvent *event);
- virtual void mousePressEvent(QMouseEvent *event);
- virtual void mouseMoveEvent(QMouseEvent *event);
- virtual void mouseReleaseEvent(QMouseEvent *event);
- virtual void mouseDoubleClickEvent(QMouseEvent *event);
- virtual void mouseUngrabEvent();
- virtual bool overlayEvent(QQuickItem *item, QEvent *event);
-#if QT_CONFIG(quicktemplates2_multitouch)
- virtual void touchEvent(QTouchEvent *event);
- virtual void touchUngrabEvent();
-#endif
-#if QT_CONFIG(wheelevent)
- virtual void wheelEvent(QWheelEvent *event);
-#endif
-
- virtual void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem);
- virtual void contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize);
- virtual void fontChange(const QFont &newFont, const QFont &oldFont);
- virtual void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry);
- virtual void localeChange(const QLocale &newLocale, const QLocale &oldLocale);
- virtual void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data);
- virtual void marginsChange(const QMarginsF &newMargins, const QMarginsF &oldMargins);
- virtual void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding);
- virtual void paletteChange(const QPalette &newPalette, const QPalette &oldPalette);
- virtual void spacingChange(qreal newSpacing, qreal oldSpacing);
- virtual void insetChange(const QMarginsF &newInset, const QMarginsF &oldInset);
-
- virtual QFont defaultFont() const;
- virtual QPalette defaultPalette() const;
-
-#if QT_CONFIG(accessibility)
- virtual QAccessible::Role accessibleRole() const;
- virtual void accessibilityActiveChanged(bool active);
-#endif
-
- QString accessibleName() const;
- void setAccessibleName(const QString &name);
-
- QVariant accessibleProperty(const char *propertyName);
- bool setAccessibleProperty(const char *propertyName, const QVariant &value);
-
-private:
- Q_DISABLE_COPY(QQuickPopup)
- Q_DECLARE_PRIVATE(QQuickPopup)
- friend class QQuickPopupItem;
- friend class QQuickOverlay;
- friend class QQuickOverlayPrivate;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickPopup::ClosePolicy)
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPopup)
-
-#endif // QQUICKPOPUP_P_H
diff --git a/src/quicktemplates2/qquickpopup_p_p.h b/src/quicktemplates2/qquickpopup_p_p.h
deleted file mode 100644
index 8a85f914..00000000
--- a/src/quicktemplates2/qquickpopup_p_p.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPOPUP_P_P_H
-#define QQUICKPOPUP_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-#include <QtCore/private/qobject_p.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuick/private/qquicktransitionmanager_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTransition;
-class QQuickTransitionManager;
-class QQuickPopup;
-class QQuickPopupAnchors;
-class QQuickPopupItem;
-class QQuickPopupPrivate;
-class QQuickPopupPositioner;
-
-class QQuickPopupTransitionManager : public QQuickTransitionManager
-{
-public:
- QQuickPopupTransitionManager(QQuickPopupPrivate *popup);
-
- void transitionEnter();
- void transitionExit();
-
-protected:
- void finished() override;
-
-private:
- QQuickPopupPrivate *popup = nullptr;
-};
-
-class Q_AUTOTEST_EXPORT QQuickPopupPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickPopup)
-
-public:
- QQuickPopupPrivate();
-
- static QQuickPopupPrivate *get(QQuickPopup *popup)
- {
- return popup->d_func();
- }
-
- QQmlListProperty<QObject> contentData();
- QQmlListProperty<QQuickItem> contentChildren();
-
- void init();
- void closeOrReject();
- bool tryClose(const QPointF &pos, QQuickPopup::ClosePolicy flags);
-
- bool contains(const QPointF &scenePos) const;
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- virtual bool acceptTouch(const QTouchEvent::TouchPoint &point);
-#endif
- virtual bool blockInput(QQuickItem *item, const QPointF &point) const;
-
- virtual bool handlePress(QQuickItem* item, const QPointF &point, ulong timestamp);
- virtual bool handleMove(QQuickItem* item, const QPointF &point, ulong timestamp);
- virtual bool handleRelease(QQuickItem* item, const QPointF &point, ulong timestamp);
- virtual void handleUngrab();
-
- bool handleMouseEvent(QQuickItem *item, QMouseEvent *event);
-#if QT_CONFIG(quicktemplates2_multitouch)
- bool handleTouchEvent(QQuickItem *item, QTouchEvent *event);
-#endif
-
- void reposition();
-
- void createOverlay();
- void destroyOverlay();
- void toggleOverlay();
- virtual void showOverlay();
- virtual void hideOverlay();
- virtual void resizeOverlay();
-
- virtual bool prepareEnterTransition();
- virtual bool prepareExitTransition();
- virtual void finalizeEnterTransition();
- virtual void finalizeExitTransition();
-
- QMarginsF getMargins() const;
-
- void setTopMargin(qreal value, bool reset = false);
- void setLeftMargin(qreal value, bool reset = false);
- void setRightMargin(qreal value, bool reset = false);
- void setBottomMargin(qreal value, bool reset = false);
-
- QQuickPopupAnchors *getAnchors();
- virtual QQuickPopupPositioner *getPositioner();
-
- void setWindow(QQuickWindow *window);
- void itemDestroyed(QQuickItem *item) override;
-
- enum TransitionState {
- NoTransition, EnterTransition, ExitTransition
- };
-
- static const QQuickPopup::ClosePolicy DefaultClosePolicy;
-
- bool focus = false;
- bool modal = false;
- bool dim = false;
- bool hasDim = false;
- bool visible = false;
- bool complete = true;
- bool positioning = false;
- bool hasWidth = false;
- bool hasHeight = false;
- bool hasTopMargin = false;
- bool hasLeftMargin = false;
- bool hasRightMargin = false;
- bool hasBottomMargin = false;
- bool allowVerticalFlip = false;
- bool allowHorizontalFlip = false;
- bool allowVerticalMove = true;
- bool allowHorizontalMove = true;
- bool allowVerticalResize = true;
- bool allowHorizontalResize = true;
- bool hadActiveFocusBeforeExitTransition = false;
- bool interactive = true;
- bool hasClosePolicy = false;
- int touchId = -1;
- qreal x = 0;
- qreal y = 0;
- qreal effectiveX = 0;
- qreal effectiveY = 0;
- qreal margins = -1;
- qreal topMargin = 0;
- qreal leftMargin = 0;
- qreal rightMargin = 0;
- qreal bottomMargin = 0;
- QPointF pressPoint;
- TransitionState transitionState = NoTransition;
- QQuickPopup::ClosePolicy closePolicy = DefaultClosePolicy;
- QQuickItem *parentItem = nullptr;
- QQuickItem *dimmer = nullptr;
- QPointer<QQuickWindow> window;
- QQuickTransition *enter = nullptr;
- QQuickTransition *exit = nullptr;
- QQuickPopupItem *popupItem = nullptr;
- QQuickPopupPositioner *positioner = nullptr;
- QList<QQuickStateAction> enterActions;
- QList<QQuickStateAction> exitActions;
- QQuickPopupTransitionManager transitionManager;
- QQuickPopupAnchors *anchors = nullptr;
-
- friend class QQuickPopupTransitionManager;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPOPUP_P_P_H
diff --git a/src/quicktemplates2/qquickpopupanchors.cpp b/src/quicktemplates2/qquickpopupanchors.cpp
deleted file mode 100644
index 5acc2934..00000000
--- a/src/quicktemplates2/qquickpopupanchors.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpopupanchors_p.h"
-#include "qquickpopupanchors_p_p.h"
-#include "qquickpopup_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QQuickPopupAnchors::QQuickPopupAnchors(QQuickPopup *popup)
- : QObject(*(new QQuickPopupAnchorsPrivate), popup)
-{
- Q_D(QQuickPopupAnchors);
- d->popup = popup;
-}
-
-QQuickItem *QQuickPopupAnchors::centerIn() const
-{
- Q_D(const QQuickPopupAnchors);
- return d->centerIn;
-}
-
-void QQuickPopupAnchors::setCenterIn(QQuickItem *item)
-{
- Q_D(QQuickPopupAnchors);
- if (item == d->centerIn)
- return;
-
- d->centerIn = item;
- QQuickPopupPrivate::get(d->popup)->reposition();
- emit centerInChanged();
-}
-
-void QQuickPopupAnchors::resetCenterIn()
-{
- setCenterIn(nullptr);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpopupanchors_p.h b/src/quicktemplates2/qquickpopupanchors_p.h
deleted file mode 100644
index 531c494e..00000000
--- a/src/quicktemplates2/qquickpopupanchors_p.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPOPUPANCHORS_P_H
-#define QQUICKPOPUPANCHORS_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtQml/qqml.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItem;
-class QQuickPopupAnchorsPrivate;
-class QQuickPopup;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPopupAnchors : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickItem *centerIn READ centerIn WRITE setCenterIn RESET resetCenterIn NOTIFY centerInChanged)
-
-public:
- explicit QQuickPopupAnchors(QQuickPopup *popup);
-
- QQuickItem *centerIn() const;
- void setCenterIn(QQuickItem *item);
- void resetCenterIn();
-
-Q_SIGNALS:
- void centerInChanged();
-
-private:
- Q_DISABLE_COPY(QQuickPopupAnchors)
- Q_DECLARE_PRIVATE(QQuickPopupAnchors)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickPopupAnchors)
-
-#endif // QQUICKPOPUPANCHORS_P_H
diff --git a/src/quicktemplates2/qquickpopupanchors_p_p.h b/src/quicktemplates2/qquickpopupanchors_p_p.h
deleted file mode 100644
index 989dc6df..00000000
--- a/src/quicktemplates2/qquickpopupanchors_p_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPOPUPANCHORS_P_P_H
-#define QQUICKPOPUPANCHORS_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/private/qobject_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItem;
-class QQuickPopup;
-
-class QQuickPopupAnchorsPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickPopupAnchors)
-
-public:
- static QQuickPopupAnchorsPrivate *get(QQuickPopupAnchors *popupAnchors)
- {
- return popupAnchors->d_func();
- }
-
- QQuickPopup *popup = nullptr;
- QQuickItem *centerIn = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPOPUPANCHORS_P_P_H
diff --git a/src/quicktemplates2/qquickpopupitem.cpp b/src/quicktemplates2/qquickpopupitem.cpp
deleted file mode 100644
index 16d8c4f6..00000000
--- a/src/quicktemplates2/qquickpopupitem.cpp
+++ /dev/null
@@ -1,409 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpopupitem_p_p.h"
-#include "qquickapplicationwindow_p.h"
-#include "qquickshortcutcontext_p_p.h"
-#include "qquickpage_p_p.h"
-#include "qquickcontentitem_p.h"
-#include "qquickpopup_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtGui/private/qshortcutmap_p.h>
-#include <QtGui/private/qguiapplication_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPopupItemPrivate : public QQuickPagePrivate
-{
- Q_DECLARE_PUBLIC(QQuickPopupItem)
-
-public:
- QQuickPopupItemPrivate(QQuickPopup *popup);
-
- void implicitWidthChanged() override;
- void implicitHeightChanged() override;
-
- void resolveFont() override;
- void resolvePalette() override;
-
- QQuickItem *getContentItem() override;
-
- void cancelContentItem() override;
- void executeContentItem(bool complete = false) override;
-
- void cancelBackground() override;
- void executeBackground(bool complete = false) override;
-
- int backId = 0;
- int escapeId = 0;
- QQuickPopup *popup = nullptr;
-};
-
-QQuickPopupItemPrivate::QQuickPopupItemPrivate(QQuickPopup *popup)
- : popup(popup)
-{
- isTabFence = true;
-}
-
-void QQuickPopupItemPrivate::implicitWidthChanged()
-{
- QQuickPagePrivate::implicitWidthChanged();
- emit popup->implicitWidthChanged();
-}
-
-void QQuickPopupItemPrivate::implicitHeightChanged()
-{
- QQuickPagePrivate::implicitHeightChanged();
- emit popup->implicitHeightChanged();
-}
-
-void QQuickPopupItemPrivate::resolveFont()
-{
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
- inheritFont(window->font());
- else
- inheritFont(QQuickTheme::font(QQuickTheme::System));
-}
-
-void QQuickPopupItemPrivate::resolvePalette()
-{
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
- inheritPalette(window->palette());
- else
- inheritPalette(QQuickTheme::palette(QQuickTheme::System));
-}
-
-QQuickItem *QQuickPopupItemPrivate::getContentItem()
-{
- Q_Q(QQuickPopupItem);
- if (QQuickItem *item = QQuickPagePrivate::getContentItem())
- return item;
-
- return new QQuickContentItem(popup, q);
-}
-
-static inline QString contentItemName() { return QStringLiteral("contentItem"); }
-
-void QQuickPopupItemPrivate::cancelContentItem()
-{
- quickCancelDeferred(popup, contentItemName());
-}
-
-void QQuickPopupItemPrivate::executeContentItem(bool complete)
-{
- if (contentItem.wasExecuted())
- return;
-
- if (!contentItem || complete)
- quickBeginDeferred(popup, contentItemName(), contentItem);
- if (complete)
- quickCompleteDeferred(popup, contentItemName(), contentItem);
-}
-
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
-void QQuickPopupItemPrivate::cancelBackground()
-{
- quickCancelDeferred(popup, backgroundName());
-}
-
-void QQuickPopupItemPrivate::executeBackground(bool complete)
-{
- if (background.wasExecuted())
- return;
-
- if (!background || complete)
- quickBeginDeferred(popup, backgroundName(), background);
- if (complete)
- quickCompleteDeferred(popup, backgroundName(), background);
-}
-
-QQuickPopupItem::QQuickPopupItem(QQuickPopup *popup)
- : QQuickPage(*(new QQuickPopupItemPrivate(popup)), nullptr)
-{
- setParent(popup);
- setFlag(ItemIsFocusScope);
- setAcceptedMouseButtons(Qt::AllButtons);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-
-#if QT_CONFIG(quicktemplates2_hover)
- // TODO: switch to QStyleHints::useHoverEffects in Qt 5.8
- setHoverEnabled(true);
- // setAcceptHoverEvents(QGuiApplication::styleHints()->useHoverEffects());
- // connect(QGuiApplication::styleHints(), &QStyleHints::useHoverEffectsChanged, this, &QQuickItem::setAcceptHoverEvents);
-#endif
-}
-
-void QQuickPopupItem::grabShortcut()
-{
-#if QT_CONFIG(shortcut)
- Q_D(QQuickPopupItem);
- QGuiApplicationPrivate *pApp = QGuiApplicationPrivate::instance();
- if (!d->backId)
- d->backId = pApp->shortcutMap.addShortcut(this, Qt::Key_Back, Qt::WindowShortcut, QQuickShortcutContext::matcher);
- if (!d->escapeId)
- d->escapeId = pApp->shortcutMap.addShortcut(this, Qt::Key_Escape, Qt::WindowShortcut, QQuickShortcutContext::matcher);
-#endif
-}
-
-void QQuickPopupItem::ungrabShortcut()
-{
-#if QT_CONFIG(shortcut)
- Q_D(QQuickPopupItem);
- QGuiApplicationPrivate *pApp = QGuiApplicationPrivate::instance();
- if (d->backId) {
- pApp->shortcutMap.removeShortcut(d->backId, this);
- d->backId = 0;
- }
- if (d->escapeId) {
- pApp->shortcutMap.removeShortcut(d->escapeId, this);
- d->escapeId = 0;
- }
-#endif
-}
-
-void QQuickPopupItem::updatePolish()
-{
- Q_D(QQuickPopupItem);
- return QQuickPopupPrivate::get(d->popup)->reposition();
-}
-
-bool QQuickPopupItem::event(QEvent *event)
-{
-#if QT_CONFIG(shortcut)
- Q_D(QQuickPopupItem);
- if (event->type() == QEvent::Shortcut) {
- QShortcutEvent *se = static_cast<QShortcutEvent *>(event);
- if (se->shortcutId() == d->escapeId || se->shortcutId() == d->backId) {
- QQuickPopupPrivate *p = QQuickPopupPrivate::get(d->popup);
- if (p->interactive) {
- p->closeOrReject();
- return true;
- }
- }
- }
-#endif
- return QQuickItem::event(event);
-}
-
-bool QQuickPopupItem::childMouseEventFilter(QQuickItem *child, QEvent *event)
-{
- Q_D(QQuickPopupItem);
- return d->popup->childMouseEventFilter(child, event);
-}
-
-void QQuickPopupItem::focusInEvent(QFocusEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->focusInEvent(event);
-}
-
-void QQuickPopupItem::focusOutEvent(QFocusEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->focusOutEvent(event);
-}
-
-void QQuickPopupItem::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->keyPressEvent(event);
-}
-
-void QQuickPopupItem::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->keyReleaseEvent(event);
-}
-
-void QQuickPopupItem::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->mousePressEvent(event);
-}
-
-void QQuickPopupItem::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->mouseMoveEvent(event);
-}
-
-void QQuickPopupItem::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->mouseReleaseEvent(event);
-}
-
-void QQuickPopupItem::mouseDoubleClickEvent(QMouseEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->mouseDoubleClickEvent(event);
-}
-
-void QQuickPopupItem::mouseUngrabEvent()
-{
- Q_D(QQuickPopupItem);
- d->popup->mouseUngrabEvent();
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickPopupItem::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->touchEvent(event);
-}
-
-void QQuickPopupItem::touchUngrabEvent()
-{
- Q_D(QQuickPopupItem);
- d->popup->touchUngrabEvent();
-}
-#endif
-
-#if QT_CONFIG(wheelevent)
-void QQuickPopupItem::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickPopupItem);
- d->popup->wheelEvent(event);
-}
-#endif
-
-void QQuickPopupItem::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::contentItemChange(newItem, oldItem);
- d->popup->contentItemChange(newItem, oldItem);
-}
-
-void QQuickPopupItem::contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::contentSizeChange(newSize, oldSize);
- d->popup->contentSizeChange(newSize, oldSize);
-}
-
-void QQuickPopupItem::fontChange(const QFont &newFont, const QFont &oldFont)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::fontChange(newFont, oldFont);
- d->popup->fontChange(newFont, oldFont);
-}
-
-void QQuickPopupItem::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::geometryChanged(newGeometry, oldGeometry);
- d->popup->geometryChanged(newGeometry, oldGeometry);
-}
-
-void QQuickPopupItem::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::localeChange(newLocale, oldLocale);
- d->popup->localeChange(newLocale, oldLocale);
-}
-
-void QQuickPopupItem::mirrorChange()
-{
- Q_D(QQuickPopupItem);
- emit d->popup->mirroredChanged();
-}
-
-void QQuickPopupItem::itemChange(ItemChange change, const ItemChangeData &data)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::itemChange(change, data);
- d->popup->itemChange(change, data);
-}
-
-void QQuickPopupItem::paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::paddingChange(newPadding, oldPadding);
- d->popup->paddingChange(newPadding, oldPadding);
-}
-
-void QQuickPopupItem::paletteChange(const QPalette &newPalette, const QPalette &oldPalette)
-{
- Q_D(QQuickPopupItem);
- QQuickPage::paletteChange(newPalette, oldPalette);
- d->popup->paletteChange(newPalette, oldPalette);
-}
-
-void QQuickPopupItem::enabledChange()
-{
- Q_D(QQuickPopupItem);
- // Just having QQuickPopup connect our QQuickItem::enabledChanged() signal
- // to its enabledChanged() signal is enough for the enabled property to work,
- // but we must also ensure that its paletteChanged() signal is emitted
- // so that bindings to palette are re-evaluated, because QQuickControl::palette()
- // returns a different palette depending on whether or not the control is enabled.
- // To save a connection, we also emit enabledChanged here.
- emit d->popup->enabledChanged();
- emit d->popup->paletteChanged();
-}
-
-QFont QQuickPopupItem::defaultFont() const
-{
- Q_D(const QQuickPopupItem);
- return d->popup->defaultFont();
-}
-
-QPalette QQuickPopupItem::defaultPalette() const
-{
- Q_D(const QQuickPopupItem);
- return d->popup->defaultPalette();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickPopupItem::accessibleRole() const
-{
- Q_D(const QQuickPopupItem);
- return d->popup->accessibleRole();
-}
-
-void QQuickPopupItem::accessibilityActiveChanged(bool active)
-{
- Q_D(const QQuickPopupItem);
- QQuickPage::accessibilityActiveChanged(active);
- d->popup->accessibilityActiveChanged(active);
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpopupitem_p_p.h b/src/quicktemplates2/qquickpopupitem_p_p.h
deleted file mode 100644
index a12e43e0..00000000
--- a/src/quicktemplates2/qquickpopupitem_p_p.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPOPUPITEM_P_P_H
-#define QQUICKPOPUPITEM_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpage_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickPopup;
-class QQuickPopupItemPrivate;
-class QQuickPopupItem : public QQuickPage
-{
- Q_OBJECT
-
-public:
- explicit QQuickPopupItem(QQuickPopup *popup);
-
- void grabShortcut();
- void ungrabShortcut();
-
-protected:
- void updatePolish() override;
-
- bool event(QEvent *event) override;
- bool childMouseEventFilter(QQuickItem *child, QEvent *event) override;
- void focusInEvent(QFocusEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
- void mouseDoubleClickEvent(QMouseEvent *event) override;
- void mouseUngrabEvent() override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
- void touchUngrabEvent() override;
-#endif
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
-
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- void contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize) override;
- void fontChange(const QFont &newFont, const QFont &oldFont) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override;
- void mirrorChange() override;
- void itemChange(ItemChange change, const ItemChangeData &data) override;
- void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override;
- void paletteChange(const QPalette &newPalette, const QPalette &oldPalette) override;
- void enabledChange() override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickPopupItem)
- Q_DECLARE_PRIVATE(QQuickPopupItem)
- friend class QQuickPopup;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPOPUPITEM_P_P_H
diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp
deleted file mode 100644
index ebd8ff29..00000000
--- a/src/quicktemplates2/qquickpopuppositioner.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickoverlay_p.h"
-#include "qquickpopuppositioner_p_p.h"
-#include "qquickpopupanchors_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickpopup_p_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickitem_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static const QQuickItemPrivate::ChangeTypes AncestorChangeTypes = QQuickItemPrivate::Geometry
- | QQuickItemPrivate::Parent
- | QQuickItemPrivate::Children;
-
-static const QQuickItemPrivate::ChangeTypes ItemChangeTypes = QQuickItemPrivate::Geometry
- | QQuickItemPrivate::Parent;
-
-QQuickPopupPositioner::QQuickPopupPositioner(QQuickPopup *popup)
- : m_popup(popup)
-{
-}
-
-QQuickPopupPositioner::~QQuickPopupPositioner()
-{
- if (m_parentItem) {
- QQuickItemPrivate::get(m_parentItem)->removeItemChangeListener(this, ItemChangeTypes);
- removeAncestorListeners(m_parentItem->parentItem());
- }
-}
-
-QQuickPopup *QQuickPopupPositioner::popup() const
-{
- return m_popup;
-}
-
-QQuickItem *QQuickPopupPositioner::parentItem() const
-{
- return m_parentItem;
-}
-
-void QQuickPopupPositioner::setParentItem(QQuickItem *parent)
-{
- if (m_parentItem == parent)
- return;
-
- if (m_parentItem) {
- QQuickItemPrivate::get(m_parentItem)->removeItemChangeListener(this, ItemChangeTypes);
- removeAncestorListeners(m_parentItem->parentItem());
- }
-
- m_parentItem = parent;
-
- if (!parent)
- return;
-
- QQuickItemPrivate::get(parent)->addItemChangeListener(this, ItemChangeTypes);
- addAncestorListeners(parent->parentItem());
-
- if (m_popup->popupItem()->isVisible())
- QQuickPopupPrivate::get(m_popup)->reposition();
-}
-
-void QQuickPopupPositioner::reposition()
-{
- QQuickItem *popupItem = m_popup->popupItem();
- if (!popupItem->isVisible())
- return;
-
- if (m_positioning) {
- popupItem->polish();
- return;
- }
-
- const qreal w = popupItem->width();
- const qreal h = popupItem->height();
- const qreal iw = popupItem->implicitWidth();
- const qreal ih = popupItem->implicitHeight();
-
- bool widthAdjusted = false;
- bool heightAdjusted = false;
- QQuickPopupPrivate *p = QQuickPopupPrivate::get(m_popup);
-
- const QQuickItem *centerInParent = p->anchors ? p->getAnchors()->centerIn() : nullptr;
- const QQuickOverlay *centerInOverlay = qobject_cast<const QQuickOverlay*>(centerInParent);
- QRectF rect(!centerInParent ? p->allowHorizontalMove ? p->x : popupItem->x() : 0,
- !centerInParent ? p->allowVerticalMove ? p->y : popupItem->y() : 0,
- !p->hasWidth && iw > 0 ? iw : w,
- !p->hasHeight && ih > 0 ? ih : h);
- if (m_parentItem) {
- // m_parentItem is the parent that the popup should open in,
- // and popupItem()->parentItem() is the overlay, so the mapToItem() calls below
- // effectively map the rect to scene coordinates.
- if (centerInParent) {
- if (centerInParent != parentItem() && !centerInOverlay) {
- qmlWarning(m_popup) << "Popup can only be centered within its immediate parent or Overlay.overlay";
- return;
- }
-
- if (centerInOverlay) {
- rect.moveCenter(QPointF(qRound(centerInOverlay->width() / 2.0), qRound(centerInOverlay->height() / 2.0)));
- } else {
- const QPointF parentItemCenter = QPointF(qRound(m_parentItem->width() / 2), qRound(m_parentItem->height() / 2));
- rect.moveCenter(m_parentItem->mapToItem(popupItem->parentItem(), parentItemCenter));
- }
- } else {
- rect.moveTopLeft(m_parentItem->mapToItem(popupItem->parentItem(), rect.topLeft()));
- }
-
- if (p->window) {
- const QMarginsF margins = p->getMargins();
- QRectF bounds(qMax<qreal>(0.0, margins.left()),
- qMax<qreal>(0.0, margins.top()),
- p->window->width() - qMax<qreal>(0.0, margins.left()) - qMax<qreal>(0.0, margins.right()),
- p->window->height() - qMax<qreal>(0.0, margins.top()) - qMax<qreal>(0.0, margins.bottom()));
- if (p->window->contentOrientation() == Qt::LandscapeOrientation || p->window->contentOrientation() == Qt::InvertedLandscapeOrientation)
- bounds = bounds.transposed();
-
- // if the popup doesn't fit horizontally inside the window, try flipping it around (left <-> right)
- if (p->allowHorizontalFlip && (rect.left() < bounds.left() || rect.right() > bounds.right())) {
- const QRectF flipped(m_parentItem->mapToScene(QPointF(m_parentItem->width() - p->x - rect.width(), p->y)), rect.size());
- if (flipped.intersected(bounds).width() > rect.intersected(bounds).width())
- rect.moveLeft(flipped.left());
- }
-
- // if the popup doesn't fit vertically inside the window, try flipping it around (above <-> below)
- if (p->allowVerticalFlip && (rect.top() < bounds.top() || rect.bottom() > bounds.bottom())) {
- const QRectF flipped(m_parentItem->mapToScene(QPointF(p->x, m_parentItem->height() - p->y - rect.height())), rect.size());
- if (flipped.intersected(bounds).height() > rect.intersected(bounds).height())
- rect.moveTop(flipped.top());
- }
-
- // push inside the margins if specified
- if (p->allowVerticalMove) {
- if (margins.top() >= 0 && rect.top() < bounds.top())
- rect.moveTop(margins.top());
- if (margins.bottom() >= 0 && rect.bottom() > bounds.bottom())
- rect.moveBottom(bounds.bottom());
- }
- if (p->allowHorizontalMove) {
- if (margins.left() >= 0 && rect.left() < bounds.left())
- rect.moveLeft(margins.left());
- if (margins.right() >= 0 && rect.right() > bounds.right())
- rect.moveRight(bounds.right());
- }
-
- if (iw > 0 && (rect.left() < bounds.left() || rect.right() > bounds.right())) {
- // neither the flipped or pushed geometry fits inside the window, choose
- // whichever side (left vs. right) fits larger part of the popup
- if (p->allowHorizontalMove && p->allowHorizontalFlip) {
- if (rect.left() < bounds.left() && bounds.left() + rect.width() <= bounds.right())
- rect.moveLeft(bounds.left());
- else if (rect.right() > bounds.right() && bounds.right() - rect.width() >= bounds.left())
- rect.moveRight(bounds.right());
- }
-
- // as a last resort, adjust the width to fit the window
- if (p->allowHorizontalResize) {
- if (rect.left() < bounds.left()) {
- rect.setLeft(bounds.left());
- widthAdjusted = true;
- }
- if (rect.right() > bounds.right()) {
- rect.setRight(bounds.right());
- widthAdjusted = true;
- }
- }
- } else if (iw > 0 && rect.left() >= bounds.left() && rect.right() <= bounds.right()
- && iw != w) {
- // restore original width
- rect.setWidth(iw);
- widthAdjusted = true;
- }
-
- if (ih > 0 && (rect.top() < bounds.top() || rect.bottom() > bounds.bottom())) {
- // neither the flipped or pushed geometry fits inside the window, choose
- // whichever side (above vs. below) fits larger part of the popup
- if (p->allowVerticalMove && p->allowVerticalFlip) {
- if (rect.top() < bounds.top() && bounds.top() + rect.height() <= bounds.bottom())
- rect.moveTop(bounds.top());
- else if (rect.bottom() > bounds.bottom() && bounds.bottom() - rect.height() >= bounds.top())
- rect.moveBottom(bounds.bottom());
- }
-
- // as a last resort, adjust the height to fit the window
- if (p->allowVerticalResize) {
- if (rect.top() < bounds.top()) {
- rect.setTop(bounds.top());
- heightAdjusted = true;
- }
- if (rect.bottom() > bounds.bottom()) {
- rect.setBottom(bounds.bottom());
- heightAdjusted = true;
- }
- }
- } else if (ih > 0 && rect.top() >= bounds.top() && rect.bottom() <= bounds.bottom()
- && ih != h) {
- // restore original height
- rect.setHeight(ih);
- heightAdjusted = true;
- }
- }
- }
-
- m_positioning = true;
-
- popupItem->setPosition(rect.topLeft());
-
- // If the popup was assigned a parent, rect will be in scene coordinates,
- // so we need to map its top left back to item coordinates.
- // However, if centering within the overlay, the coordinates will be relative
- // to the window, so we don't need to do anything.
- const QPointF effectivePos = m_parentItem && !centerInOverlay ? m_parentItem->mapFromScene(rect.topLeft()) : rect.topLeft();
- if (!qFuzzyCompare(p->effectiveX, effectivePos.x())) {
- p->effectiveX = effectivePos.x();
- emit m_popup->xChanged();
- }
- if (!qFuzzyCompare(p->effectiveY, effectivePos.y())) {
- p->effectiveY = effectivePos.y();
- emit m_popup->yChanged();
- }
-
- if (!p->hasWidth && widthAdjusted && rect.width() > 0)
- popupItem->setWidth(rect.width());
- if (!p->hasHeight && heightAdjusted && rect.height() > 0)
- popupItem->setHeight(rect.height());
-
- m_positioning = false;
-}
-
-void QQuickPopupPositioner::itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &)
-{
- if (m_parentItem && m_popup->popupItem()->isVisible())
- QQuickPopupPrivate::get(m_popup)->reposition();
-}
-
-void QQuickPopupPositioner::itemParentChanged(QQuickItem *, QQuickItem *parent)
-{
- addAncestorListeners(parent);
-}
-
-void QQuickPopupPositioner::itemChildRemoved(QQuickItem *item, QQuickItem *child)
-{
- if (child == m_parentItem || child->isAncestorOf(m_parentItem))
- removeAncestorListeners(item);
-}
-
-void QQuickPopupPositioner::removeAncestorListeners(QQuickItem *item)
-{
- if (item == m_parentItem)
- return;
-
- QQuickItem *p = item;
- while (p) {
- QQuickItemPrivate::get(p)->removeItemChangeListener(this, AncestorChangeTypes);
- p = p->parentItem();
- }
-}
-
-void QQuickPopupPositioner::addAncestorListeners(QQuickItem *item)
-{
- if (item == m_parentItem)
- return;
-
- QQuickItem *p = item;
- while (p) {
- QQuickItemPrivate::get(p)->updateOrAddItemChangeListener(this, AncestorChangeTypes);
- p = p->parentItem();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpopuppositioner_p_p.h b/src/quicktemplates2/qquickpopuppositioner_p_p.h
deleted file mode 100644
index 64f57a3f..00000000
--- a/src/quicktemplates2/qquickpopuppositioner_p_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPOPUPPOSITIONER_P_P_H
-#define QQUICKPOPUPPOSITIONER_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItem;
-class QQuickPopup;
-
-class QQuickPopupPositioner : public QQuickItemChangeListener
-{
-public:
- explicit QQuickPopupPositioner(QQuickPopup *popup);
- ~QQuickPopupPositioner();
-
- QQuickPopup *popup() const;
-
- QQuickItem *parentItem() const;
- void setParentItem(QQuickItem *parent);
-
- virtual void reposition();
-
-protected:
- void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &) override;
- void itemParentChanged(QQuickItem *, QQuickItem *parent) override;
- void itemChildRemoved(QQuickItem *, QQuickItem *child) override;
-
- void removeAncestorListeners(QQuickItem *item);
- void addAncestorListeners(QQuickItem *item);
-
- bool m_positioning = false;
- QQuickItem *m_parentItem = nullptr;
- QQuickPopup *m_popup = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPOPUPPOSITIONER_P_P_H
diff --git a/src/quicktemplates2/qquickpresshandler.cpp b/src/quicktemplates2/qquickpresshandler.cpp
deleted file mode 100644
index b9018573..00000000
--- a/src/quicktemplates2/qquickpresshandler.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickpresshandler_p_p.h"
-
-#include <QtCore/private/qobject_p.h>
-#include <QtGui/qguiapplication.h>
-#include <QtGui/qstylehints.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/private/qquickevents_p_p.h>
-#include <QtQuickTemplates2/private/qquicktextarea_p.h>
-#include <QtQuickTemplates2/private/qquicktextfield_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickPressHandler::mousePressEvent(QMouseEvent *event)
-{
- longPress = false;
- pressPos = event->localPos();
- if (Qt::LeftButton == (event->buttons() & Qt::LeftButton)) {
- timer.start(QGuiApplication::styleHints()->mousePressAndHoldInterval(), control);
- delayedMousePressEvent = new QMouseEvent(event->type(), event->pos(), event->button(), event->buttons(), event->modifiers());
- } else {
- timer.stop();
- }
-
- if (isSignalConnected(control, "pressed(QQuickMouseEvent*)", pressedSignalIndex)) {
- QQuickMouseEvent mev;
- mev.reset(pressPos.x(), pressPos.y(), event->button(), event->buttons(),
- QGuiApplication::keyboardModifiers(), false/*isClick*/, false/*wasHeld*/);
- mev.setAccepted(true);
- QQuickMouseEvent *mevPtr = &mev;
- void *args[] = { nullptr, &mevPtr };
- QMetaObject::metacall(control, QMetaObject::InvokeMetaMethod, pressedSignalIndex, args);
- event->setAccepted(mev.isAccepted());
- }
-}
-
-void QQuickPressHandler::mouseMoveEvent(QMouseEvent *event)
-{
- if (qAbs(int(event->localPos().x() - pressPos.x())) > QGuiApplication::styleHints()->startDragDistance())
- timer.stop();
-}
-
-void QQuickPressHandler::mouseReleaseEvent(QMouseEvent *event)
-{
- if (!longPress) {
- timer.stop();
-
- if (isSignalConnected(control, "released(QQuickMouseEvent*)", releasedSignalIndex)) {
- QQuickMouseEvent mev;
- mev.reset(pressPos.x(), pressPos.y(), event->button(), event->buttons(),
- QGuiApplication::keyboardModifiers(), false/*isClick*/, false/*wasHeld*/);
- mev.setAccepted(true);
- QQuickMouseEvent *mevPtr = &mev;
- void *args[] = { nullptr, &mevPtr };
- QMetaObject::metacall(control, QMetaObject::InvokeMetaMethod, releasedSignalIndex, args);
- event->setAccepted(mev.isAccepted());
- }
- }
-}
-
-void QQuickPressHandler::timerEvent(QTimerEvent *)
-{
- timer.stop();
- clearDelayedMouseEvent();
-
- longPress = isSignalConnected(control, "pressAndHold(QQuickMouseEvent*)", pressAndHoldSignalIndex);
- if (longPress) {
- QQuickMouseEvent mev;
- mev.reset(pressPos.x(), pressPos.y(), Qt::LeftButton, Qt::LeftButton,
- QGuiApplication::keyboardModifiers(), false/*isClick*/, true/*wasHeld*/);
- mev.setAccepted(true);
- // Use fast signal invocation since we already got its index
- QQuickMouseEvent *mevPtr = &mev;
- void *args[] = { nullptr, &mevPtr };
- QMetaObject::metacall(control, QMetaObject::InvokeMetaMethod, pressAndHoldSignalIndex, args);
- if (!mev.isAccepted())
- longPress = false;
- }
-}
-
-void QQuickPressHandler::clearDelayedMouseEvent()
-{
- if (delayedMousePressEvent) {
- delete delayedMousePressEvent;
- delayedMousePressEvent = 0;
- }
-}
-
-bool QQuickPressHandler::isActive()
-{
- return !(timer.isActive() || longPress);
-}
-
-bool QQuickPressHandler::isSignalConnected(QQuickItem *item, const char *signalName, int &signalIndex)
-{
- if (signalIndex == -1)
- signalIndex = item->metaObject()->indexOfSignal(signalName);
- Q_ASSERT(signalIndex != -1);
- const auto signalMetaMethod = item->metaObject()->method(signalIndex);
- if (QQuickTextArea *textArea = qobject_cast<QQuickTextArea*>(item)) {
- return textArea->isSignalConnected(signalMetaMethod);
- } else if (QQuickTextField *textField = qobject_cast<QQuickTextField*>(item)) {
- return textField->isSignalConnected(signalMetaMethod);
- }
- qFatal("Unhandled control type for signal name: %s", signalName);
- return false;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpresshandler_p_p.h b/src/quicktemplates2/qquickpresshandler_p_p.h
deleted file mode 100644
index 19312cdd..00000000
--- a/src/quicktemplates2/qquickpresshandler_p_p.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPRESSHANDLER_P_P_H
-#define QQUICKPRESSHANDLER_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qpoint.h>
-#include <QtCore/qbasictimer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickItem;
-class QMouseEvent;
-class QTimerEvent;
-
-struct QQuickPressHandler
-{
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
- void timerEvent(QTimerEvent *event);
-
- void clearDelayedMouseEvent();
- bool isActive();
-
- static bool isSignalConnected(QQuickItem *item, const char *signalName, int &signalIndex);
-
- QQuickItem *control = nullptr;
- QBasicTimer timer;
- QPointF pressPos;
- bool longPress = false;
- int pressAndHoldSignalIndex = -1;
- int pressedSignalIndex = -1;
- int releasedSignalIndex = -1;
- QMouseEvent *delayedMousePressEvent = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPRESSHANDLER_P_P_H
diff --git a/src/quicktemplates2/qquickprogressbar.cpp b/src/quicktemplates2/qquickprogressbar.cpp
deleted file mode 100644
index 041d4d88..00000000
--- a/src/quicktemplates2/qquickprogressbar.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickprogressbar_p.h"
-#include "qquickcontrol_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ProgressBar
- \inherits Control
- \instantiates QQuickProgressBar
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-indicators
- \brief Indicates the progress of an operation.
-
- \image qtquickcontrols2-progressbar.gif
-
- ProgressBar indicates the progress of an operation. The value should be updated
- regularly. The range is defined by \l from and \l to, which both can contain any value.
-
- \code
- ProgressBar {
- value: 0.5
- }
- \endcode
-
- ProgressBar also supports a special \l indeterminate mode, which is useful,
- for example, when unable to determine the size of the item being downloaded,
- or if the download progress gets interrupted due to a network disconnection.
-
- \image qtquickcontrols2-progressbar-indeterminate.gif
-
- \code
- ProgressBar {
- indeterminate: true
- }
- \endcode
-
- The indeterminate mode is similar to a \l BusyIndicator. Both can be used
- to indicate background activity. The main difference is visual, and that
- ProgressBar can also present a concrete amount of progress (when it can be
- determined). Due to the visual difference, indeterminate progress bars and
- busy indicators fit different places in user interfaces. Typical places for
- an indeterminate progress bar:
- \list
- \li at the bottom of a \l ToolBar
- \li inline within the content of a \l Page
- \li in an \l ItemDelegate to show the progress of a particular item
- \endlist
-
- \sa {Customizing ProgressBar}, BusyIndicator, {Indicator Controls}
-*/
-
-class QQuickProgressBarPrivate : public QQuickControlPrivate
-{
-public:
- qreal from = 0;
- qreal to = 1;
- qreal value = 0;
- bool indeterminate = false;
-};
-
-QQuickProgressBar::QQuickProgressBar(QQuickItem *parent)
- : QQuickControl(*(new QQuickProgressBarPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ProgressBar::from
-
- This property holds the starting value for the progress. The default value is \c 0.0.
-
- \sa to, value
-*/
-qreal QQuickProgressBar::from() const
-{
- Q_D(const QQuickProgressBar);
- return d->from;
-}
-
-void QQuickProgressBar::setFrom(qreal from)
-{
- Q_D(QQuickProgressBar);
- if (qFuzzyCompare(d->from, from))
- return;
-
- d->from = from;
- emit fromChanged();
- emit positionChanged();
- emit visualPositionChanged();
- if (isComponentComplete())
- setValue(d->value);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ProgressBar::to
-
- This property holds the end value for the progress. The default value is \c 1.0.
-
- \sa from, value
-*/
-qreal QQuickProgressBar::to() const
-{
- Q_D(const QQuickProgressBar);
- return d->to;
-}
-
-void QQuickProgressBar::setTo(qreal to)
-{
- Q_D(QQuickProgressBar);
- if (qFuzzyCompare(d->to, to))
- return;
-
- d->to = to;
- emit toChanged();
- emit positionChanged();
- emit visualPositionChanged();
- if (isComponentComplete())
- setValue(d->value);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ProgressBar::value
-
- This property holds the progress value. The default value is \c 0.0.
-
- \sa from, to, position
-*/
-qreal QQuickProgressBar::value() const
-{
- Q_D(const QQuickProgressBar);
- return d->value;
-}
-
-void QQuickProgressBar::setValue(qreal value)
-{
- Q_D(QQuickProgressBar);
- if (isComponentComplete())
- value = d->from > d->to ? qBound(d->to, value, d->from) : qBound(d->from, value, d->to);
-
- if (qFuzzyCompare(d->value, value))
- return;
-
- d->value = value;
- emit valueChanged();
- emit positionChanged();
- emit visualPositionChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ProgressBar::position
- \readonly
-
- This property holds the logical position of the progress.
-
- The position is expressed as a fraction of the value, in the range
- \c {0.0 - 1.0}. For visualizing the progress, the right-to-left
- aware \l visualPosition should be used instead.
-
- \sa value, visualPosition
-*/
-qreal QQuickProgressBar::position() const
-{
- Q_D(const QQuickProgressBar);
- if (qFuzzyCompare(d->from, d->to))
- return 0;
- return (d->value - d->from) / (d->to - d->from);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ProgressBar::visualPosition
- \readonly
-
- This property holds the visual position of the progress.
-
- The position is expressed as a fraction of the value, in the range \c {0.0 - 1.0}.
- When the control is \l {Control::mirrored}{mirrored}, \c visuaPosition is equal
- to \c {1.0 - position}. This makes \c visualPosition suitable for visualizing
- the progress, taking right-to-left support into account.
-
- \sa position, value
-*/
-qreal QQuickProgressBar::visualPosition() const
-{
- if (isMirrored())
- return 1.0 - position();
- return position();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ProgressBar::indeterminate
-
- This property holds whether the progress bar is in indeterminate mode.
- A progress bar in indeterminate mode displays that an operation is in progress, but it
- doesn't show how much progress has been made.
-
- \image qtquickcontrols2-progressbar-indeterminate.gif
-*/
-bool QQuickProgressBar::isIndeterminate() const
-{
- Q_D(const QQuickProgressBar);
- return d->indeterminate;
-}
-
-void QQuickProgressBar::setIndeterminate(bool indeterminate)
-{
- Q_D(QQuickProgressBar);
- if (d->indeterminate == indeterminate)
- return;
-
- d->indeterminate = indeterminate;
- emit indeterminateChanged();
-}
-
-void QQuickProgressBar::mirrorChange()
-{
- QQuickControl::mirrorChange();
- if (!qFuzzyCompare(position(), qreal(0.5)))
- emit visualPositionChanged();
-}
-
-void QQuickProgressBar::componentComplete()
-{
- Q_D(QQuickProgressBar);
- QQuickControl::componentComplete();
- setValue(d->value);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickProgressBar::accessibleRole() const
-{
- return QAccessible::ProgressBar;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickprogressbar_p.h b/src/quicktemplates2/qquickprogressbar_p.h
deleted file mode 100644
index f2284c65..00000000
--- a/src/quicktemplates2/qquickprogressbar_p.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKPROGRESSBAR_P_H
-#define QQUICKPROGRESSBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickProgressBarPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickProgressBar : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged FINAL)
- Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged FINAL)
- Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY valueChanged FINAL)
- Q_PROPERTY(qreal position READ position NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL)
- Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate NOTIFY indeterminateChanged FINAL)
-
-public:
- explicit QQuickProgressBar(QQuickItem *parent = nullptr);
-
- qreal from() const;
- void setFrom(qreal from);
-
- qreal to() const;
- void setTo(qreal to);
-
- qreal value() const;
- void setValue(qreal value);
-
- qreal position() const;
- qreal visualPosition() const;
-
- bool isIndeterminate() const;
- void setIndeterminate(bool indeterminate);
-
-Q_SIGNALS:
- void fromChanged();
- void toChanged();
- void valueChanged();
- void positionChanged();
- void visualPositionChanged();
- void indeterminateChanged();
-
-protected:
- void mirrorChange() override;
- void componentComplete() override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickProgressBar)
- Q_DECLARE_PRIVATE(QQuickProgressBar)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickProgressBar)
-
-#endif // QQUICKPROGRESSBAR_P_H
diff --git a/src/quicktemplates2/qquickradiobutton.cpp b/src/quicktemplates2/qquickradiobutton.cpp
deleted file mode 100644
index bf0c414c..00000000
--- a/src/quicktemplates2/qquickradiobutton.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickradiobutton_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype RadioButton
- \inherits AbstractButton
- \instantiates QQuickRadioButton
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-buttons
- \brief Exclusive radio button that can be toggled on or off.
-
- \image qtquickcontrols2-radiobutton.gif
-
- RadioButton presents an option button that can be toggled on (checked) or
- off (unchecked). Radio buttons are typically used to select one option
- from a set of options.
-
- RadioButton inherits its API from \l AbstractButton. For instance,
- you can set \l {AbstractButton::text}{text} and react to
- \l {AbstractButton::clicked}{clicks} using the AbstractButton API.
- The state of the radio button can be set with the
- \l {AbstractButton::}{checked} property.
-
- Radio buttons are \l {AbstractButton::autoExclusive}{auto-exclusive}
- by default. Only one button can be checked at any time amongst radio
- buttons that belong to the same parent item; checking another button
- automatically unchecks the previously checked one. For radio buttons
- that do not share a common parent, ButtonGroup can be used to manage
- exclusivity.
-
- \l RadioDelegate is similar to RadioButton, except that it is typically
- used in views.
-
- \code
- ColumnLayout {
- RadioButton {
- checked: true
- text: qsTr("First")
- }
- RadioButton {
- text: qsTr("Second")
- }
- RadioButton {
- text: qsTr("Third")
- }
- }
- \endcode
-
- \sa ButtonGroup, {Customizing RadioButton}, {Button Controls}, RadioDelegate
-*/
-
-QQuickRadioButton::QQuickRadioButton(QQuickItem *parent)
- : QQuickAbstractButton(parent)
-{
- setCheckable(true);
- setAutoExclusive(true);
-}
-
-QFont QQuickRadioButton::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::RadioButton);
-}
-
-QPalette QQuickRadioButton::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::RadioButton);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickRadioButton::accessibleRole() const
-{
- return QAccessible::RadioButton;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickradiobutton_p.h b/src/quicktemplates2/qquickradiobutton_p.h
deleted file mode 100644
index ea372687..00000000
--- a/src/quicktemplates2/qquickradiobutton_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKRADIOBUTTON_P_H
-#define QQUICKRADIOBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickRadioButton : public QQuickAbstractButton
-{
- Q_OBJECT
-
-public:
- explicit QQuickRadioButton(QQuickItem *parent = nullptr);
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickRadioButton)
-
-#endif // QQUICKRADIOBUTTON_P_H
diff --git a/src/quicktemplates2/qquickradiodelegate.cpp b/src/quicktemplates2/qquickradiodelegate.cpp
deleted file mode 100644
index 12a1ffb7..00000000
--- a/src/quicktemplates2/qquickradiodelegate.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickradiodelegate_p.h"
-#include "qquickabstractbutton_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype RadioDelegate
- \inherits ItemDelegate
- \instantiates QQuickRadioDelegate
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-delegates
- \brief Exclusive item delegate with a radio indicator that can be toggled on or off.
-
- \image qtquickcontrols2-radiodelegate.gif
-
- RadioDelegate presents an item delegate that can be toggled on (checked) or
- off (unchecked). Radio delegates are typically used to select one option
- from a set of options.
-
- RadioDelegate inherits its API from \l ItemDelegate, which is inherited
- from AbstractButton. For instance, you can set \l {AbstractButton::text}{text},
- and react to \l {AbstractButton::clicked}{clicks} using the AbstractButton
- API. The state of the radio delegate can be set with the
- \l {AbstractButton::}{checked} property.
-
- Radio delegates are \l {AbstractButton::autoExclusive}{auto-exclusive}
- by default. Only one delegate can be checked at any time amongst radio
- delegates that belong to the same parent item; checking another delegate
- automatically unchecks the previously checked one. For radio delegates
- that do not share a common parent, ButtonGroup can be used to manage
- exclusivity.
-
- \l RadioButton is similar to RadioDelegate, except that it is typically
- not used in views, but rather when there are only a few options, and often
- with the requirement that each button is uniquely identifiable.
-
- \code
- ButtonGroup {
- id: buttonGroup
- }
-
- ListView {
- model: ["Option 1", "Option 2", "Option 3"]
- delegate: RadioDelegate {
- text: modelData
- checked: index == 0
- ButtonGroup.group: buttonGroup
- }
- }
- \endcode
-
- \sa {Customizing RadioDelegate}, {Delegate Controls}, RadioButton
-*/
-
-QQuickRadioDelegate::QQuickRadioDelegate(QQuickItem *parent)
- : QQuickItemDelegate(parent)
-{
- setCheckable(true);
- setAutoExclusive(true);
-}
-
-QFont QQuickRadioDelegate::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ListView);
-}
-
-QPalette QQuickRadioDelegate::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ListView);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickRadioDelegate::accessibleRole() const
-{
- return QAccessible::RadioButton;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickradiodelegate_p.h b/src/quicktemplates2/qquickradiodelegate_p.h
deleted file mode 100644
index 453856e4..00000000
--- a/src/quicktemplates2/qquickradiodelegate_p.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKRADIODELEGATE_P_H
-#define QQUICKRADIODELEGATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickitemdelegate_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickRadioDelegatePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickRadioDelegate : public QQuickItemDelegate
-{
- Q_OBJECT
-
-public:
- explicit QQuickRadioDelegate(QQuickItem *parent = nullptr);
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickRadioDelegate)
-
-#endif // QQUICKRADIODELEGATE_P_H
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
deleted file mode 100644
index 378ece50..00000000
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ /dev/null
@@ -1,1319 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickrangeslider_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtCore/qscopedpointer.h>
-#include <QtQuick/private/qquickwindow_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype RangeSlider
- \inherits Control
- \instantiates QQuickRangeSlider
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \ingroup qtquickcontrols2-focusscopes
- \brief Used to select a range of values by sliding two handles along a track.
-
- \image qtquickcontrols2-rangeslider.gif
-
- RangeSlider is used to select a range specified by two values, by sliding
- each handle along a track.
-
- In the example below, custom \l from and \l to values are set, and the
- initial positions of the \l first and \l second handles are set:
-
- \code
- RangeSlider {
- from: 1
- to: 100
- first.value: 25
- second.value: 75
- }
- \endcode
-
- In order to perform an action when the value for a particular handle changes,
- use the following syntax:
-
- \code
- first.onMoved: console.log("first.value changed to " + first.value)
- \endcode
-
- The \l {first.position} and \l {second.position} properties are expressed as
- fractions of the control's size, in the range \c {0.0 - 1.0}.
- The \l {first.visualPosition} and \l {second.visualPosition} properties are
- the same, except that they are reversed in a
- \l {Right-to-left User Interfaces}{right-to-left} application.
- The \c visualPosition is useful for positioning the handles when styling
- RangeSlider. In the example above, \l {first.visualPosition} will be \c 0.24
- in a left-to-right application, and \c 0.76 in a right-to-left application.
-
- For a slider that allows the user to select a single value, see \l Slider.
-
- \sa {Customizing RangeSlider}, {Input Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-class QQuickRangeSliderNodePrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickRangeSliderNode)
-public:
- QQuickRangeSliderNodePrivate(qreal value, QQuickRangeSlider *slider)
- : value(value),
- slider(slider)
- {
- }
-
- bool isFirst() const;
-
- void setPosition(qreal position, bool ignoreOtherPosition = false);
- void updatePosition(bool ignoreOtherPosition = false);
-
- void cancelHandle();
- void executeHandle(bool complete = false);
-
- static QQuickRangeSliderNodePrivate *get(QQuickRangeSliderNode *node);
-
- qreal value = 0;
- bool isPendingValue = false;
- qreal pendingValue = 0;
- qreal position = 0;
- QQuickDeferredPointer<QQuickItem> handle;
- QQuickRangeSlider *slider = nullptr;
- bool pressed = false;
- bool hovered = false;
- int touchId = -1;
-};
-
-bool QQuickRangeSliderNodePrivate::isFirst() const
-{
- return this == get(slider->first());
-}
-
-void QQuickRangeSliderNodePrivate::setPosition(qreal position, bool ignoreOtherPosition)
-{
- Q_Q(QQuickRangeSliderNode);
-
- const qreal min = isFirst() || ignoreOtherPosition ? 0.0 : qMax<qreal>(0.0, slider->first()->position());
- const qreal max = !isFirst() || ignoreOtherPosition ? 1.0 : qMin<qreal>(1.0, slider->second()->position());
- position = qBound(min, position, max);
- if (!qFuzzyCompare(this->position, position)) {
- this->position = position;
- emit q->positionChanged();
- emit q->visualPositionChanged();
- }
-}
-
-void QQuickRangeSliderNodePrivate::updatePosition(bool ignoreOtherPosition)
-{
- qreal pos = 0;
- if (!qFuzzyCompare(slider->from(), slider->to()))
- pos = (value - slider->from()) / (slider->to() - slider->from());
- setPosition(pos, ignoreOtherPosition);
-}
-
-static inline QString handleName() { return QStringLiteral("handle"); }
-
-void QQuickRangeSliderNodePrivate::cancelHandle()
-{
- Q_Q(QQuickRangeSliderNode);
- quickCancelDeferred(q, handleName());
-}
-
-void QQuickRangeSliderNodePrivate::executeHandle(bool complete)
-{
- Q_Q(QQuickRangeSliderNode);
- if (handle.wasExecuted())
- return;
-
- if (!handle || complete)
- quickBeginDeferred(q, handleName(), handle);
- if (complete)
- quickCompleteDeferred(q, handleName(), handle);
-}
-
-QQuickRangeSliderNodePrivate *QQuickRangeSliderNodePrivate::get(QQuickRangeSliderNode *node)
-{
- return node->d_func();
-}
-
-QQuickRangeSliderNode::QQuickRangeSliderNode(qreal value, QQuickRangeSlider *slider)
- : QObject(*(new QQuickRangeSliderNodePrivate(value, slider)), slider)
-{
-}
-
-QQuickRangeSliderNode::~QQuickRangeSliderNode()
-{
-}
-
-qreal QQuickRangeSliderNode::value() const
-{
- Q_D(const QQuickRangeSliderNode);
- return d->value;
-}
-
-void QQuickRangeSliderNode::setValue(qreal value)
-{
- Q_D(QQuickRangeSliderNode);
- if (!d->slider->isComponentComplete()) {
- d->pendingValue = value;
- d->isPendingValue = true;
- return;
- }
-
- // First, restrict the first value to be within to and from.
- const qreal smaller = qMin(d->slider->to(), d->slider->from());
- const qreal larger = qMax(d->slider->to(), d->slider->from());
- value = qBound(smaller, value, larger);
-
- // Then, ensure that it doesn't go past the other value,
- // a check that depends on whether or not the range is inverted.
- const bool invertedRange = d->slider->from() > d->slider->to();
- if (d->isFirst()) {
- if (invertedRange) {
- if (value < d->slider->second()->value())
- value = d->slider->second()->value();
- } else {
- if (value > d->slider->second()->value())
- value = d->slider->second()->value();
- }
- } else {
- if (invertedRange) {
- if (value > d->slider->first()->value())
- value = d->slider->first()->value();
- } else {
- if (value < d->slider->first()->value())
- value = d->slider->first()->value();
- }
- }
-
- if (!qFuzzyCompare(d->value, value)) {
- d->value = value;
- d->updatePosition();
- emit valueChanged();
- }
-}
-
-qreal QQuickRangeSliderNode::position() const
-{
- Q_D(const QQuickRangeSliderNode);
- return d->position;
-}
-
-qreal QQuickRangeSliderNode::visualPosition() const
-{
- Q_D(const QQuickRangeSliderNode);
- if (d->slider->orientation() == Qt::Vertical || d->slider->isMirrored())
- return 1.0 - d->position;
- return d->position;
-}
-
-QQuickItem *QQuickRangeSliderNode::handle() const
-{
- QQuickRangeSliderNodePrivate *d = const_cast<QQuickRangeSliderNodePrivate *>(d_func());
- if (!d->handle)
- d->executeHandle();
- return d->handle;
-}
-
-void QQuickRangeSliderNode::setHandle(QQuickItem *handle)
-{
- Q_D(QQuickRangeSliderNode);
- if (d->handle == handle)
- return;
-
- if (!d->handle.isExecuting())
- d->cancelHandle();
-
- const qreal oldImplicitHandleWidth = implicitHandleWidth();
- const qreal oldImplicitHandleHeight = implicitHandleHeight();
-
- QQuickControlPrivate::get(d->slider)->removeImplicitSizeListener(d->handle);
- delete d->handle;
- d->handle = handle;
-
- if (handle) {
- if (!handle->parentItem())
- handle->setParentItem(d->slider);
-
- QQuickItem *firstHandle = QQuickRangeSliderNodePrivate::get(d->slider->first())->handle;
- QQuickItem *secondHandle = QQuickRangeSliderNodePrivate::get(d->slider->second())->handle;
- if (firstHandle && secondHandle) {
- // The order of property assignments in QML is undefined,
- // but we need the first handle to be before the second due
- // to focus order constraints, so check for that here.
- const QList<QQuickItem *> childItems = d->slider->childItems();
- const int firstIndex = childItems.indexOf(firstHandle);
- const int secondIndex = childItems.indexOf(secondHandle);
- if (firstIndex != -1 && secondIndex != -1 && firstIndex > secondIndex) {
- firstHandle->stackBefore(secondHandle);
- // Ensure we have some way of knowing which handle is above
- // the other when it comes to mouse presses, and also that
- // they are rendered in the correct order.
- secondHandle->setZ(secondHandle->z() + 1);
- }
- }
-
- handle->setActiveFocusOnTab(true);
- QQuickControlPrivate::get(d->slider)->addImplicitSizeListener(handle);
- }
-
- if (!qFuzzyCompare(oldImplicitHandleWidth, implicitHandleWidth()))
- emit implicitHandleWidthChanged();
- if (!qFuzzyCompare(oldImplicitHandleHeight, implicitHandleHeight()))
- emit implicitHandleHeightChanged();
- if (!d->handle.isExecuting())
- emit handleChanged();
-}
-
-bool QQuickRangeSliderNode::isPressed() const
-{
- Q_D(const QQuickRangeSliderNode);
- return d->pressed;
-}
-
-void QQuickRangeSliderNode::setPressed(bool pressed)
-{
- Q_D(QQuickRangeSliderNode);
- if (d->pressed == pressed)
- return;
-
- d->pressed = pressed;
- d->slider->setAccessibleProperty("pressed", pressed || d->slider->second()->isPressed());
- emit pressedChanged();
-}
-
-bool QQuickRangeSliderNode::isHovered() const
-{
- Q_D(const QQuickRangeSliderNode);
- return d->hovered;
-}
-
-void QQuickRangeSliderNode::setHovered(bool hovered)
-{
- Q_D(QQuickRangeSliderNode);
- if (d->hovered == hovered)
- return;
-
- d->hovered = hovered;
- emit hoveredChanged();
-}
-
-qreal QQuickRangeSliderNode::implicitHandleWidth() const
-{
- Q_D(const QQuickRangeSliderNode);
- if (!d->handle)
- return 0;
- return d->handle->implicitWidth();
-}
-
-qreal QQuickRangeSliderNode::implicitHandleHeight() const
-{
- Q_D(const QQuickRangeSliderNode);
- if (!d->handle)
- return 0;
- return d->handle->implicitHeight();
-}
-
-void QQuickRangeSliderNode::increase()
-{
- Q_D(QQuickRangeSliderNode);
- qreal step = qFuzzyIsNull(d->slider->stepSize()) ? 0.1 : d->slider->stepSize();
- setValue(d->value + step);
-}
-
-void QQuickRangeSliderNode::decrease()
-{
- Q_D(QQuickRangeSliderNode);
- qreal step = qFuzzyIsNull(d->slider->stepSize()) ? 0.1 : d->slider->stepSize();
- setValue(d->value - step);
-}
-
-static const qreal defaultFrom = 0.0;
-static const qreal defaultTo = 1.0;
-
-class QQuickRangeSliderPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickRangeSlider)
-
-public:
- QQuickRangeSliderNode *pressedNode(int touchId = -1) const;
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- bool acceptTouch(const QTouchEvent::TouchPoint &point) override;
-#endif
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- void updateHover(const QPointF &pos);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- bool live = true;
- qreal from = defaultFrom;
- qreal to = defaultTo;
- qreal stepSize = 0;
- qreal touchDragThreshold = -1;
- QQuickRangeSliderNode *first = nullptr;
- QQuickRangeSliderNode *second = nullptr;
- QPointF pressPoint;
- Qt::Orientation orientation = Qt::Horizontal;
- QQuickRangeSlider::SnapMode snapMode = QQuickRangeSlider::NoSnap;
-};
-
-static qreal valueAt(const QQuickRangeSlider *slider, qreal position)
-{
- return slider->from() + (slider->to() - slider->from()) * position;
-}
-
-static qreal snapPosition(const QQuickRangeSlider *slider, qreal position)
-{
- const qreal range = slider->to() - slider->from();
- if (qFuzzyIsNull(range))
- return position;
-
- const qreal effectiveStep = slider->stepSize() / range;
- if (qFuzzyIsNull(effectiveStep))
- return position;
-
- return qRound(position / effectiveStep) * effectiveStep;
-}
-
-static qreal positionAt(const QQuickRangeSlider *slider, QQuickItem *handle, const QPointF &point)
-{
- if (slider->orientation() == Qt::Horizontal) {
- const qreal hw = handle ? handle->width() : 0;
- const qreal offset = hw / 2;
- const qreal extent = slider->availableWidth() - hw;
- if (!qFuzzyIsNull(extent)) {
- if (slider->isMirrored())
- return (slider->width() - point.x() - slider->rightPadding() - offset) / extent;
- return (point.x() - slider->leftPadding() - offset) / extent;
- }
- } else {
- const qreal hh = handle ? handle->height() : 0;
- const qreal offset = hh / 2;
- const qreal extent = slider->availableHeight() - hh;
- if (!qFuzzyIsNull(extent))
- return (slider->height() - point.y() - slider->bottomPadding() - offset) / extent;
- }
- return 0;
-}
-
-QQuickRangeSliderNode *QQuickRangeSliderPrivate::pressedNode(int touchId) const
-{
- if (touchId == -1)
- return first->isPressed() ? first : (second->isPressed() ? second : nullptr);
- if (QQuickRangeSliderNodePrivate::get(first)->touchId == touchId)
- return first;
- if (QQuickRangeSliderNodePrivate::get(second)->touchId == touchId)
- return second;
- return nullptr;
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-bool QQuickRangeSliderPrivate::acceptTouch(const QTouchEvent::TouchPoint &point)
-{
- int firstId = QQuickRangeSliderNodePrivate::get(first)->touchId;
- int secondId = QQuickRangeSliderNodePrivate::get(second)->touchId;
-
- if (((firstId == -1 || secondId == -1) && point.state() == Qt::TouchPointPressed) || point.id() == firstId || point.id() == secondId) {
- touchId = point.id();
- return true;
- }
-
- return false;
-}
-#endif
-
-void QQuickRangeSliderPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickRangeSlider);
- QQuickControlPrivate::handlePress(point);
- pressPoint = point;
-
- QQuickItem *firstHandle = first->handle();
- QQuickItem *secondHandle = second->handle();
- const bool firstHit = firstHandle && !first->isPressed() && firstHandle->contains(q->mapToItem(firstHandle, point));
- const bool secondHit = secondHandle && !second->isPressed() && secondHandle->contains(q->mapToItem(secondHandle, point));
- QQuickRangeSliderNode *hitNode = nullptr;
- QQuickRangeSliderNode *otherNode = nullptr;
-
- if (firstHit && secondHit) {
- // choose highest
- hitNode = firstHandle->z() > secondHandle->z() ? first : second;
- otherNode = firstHandle->z() > secondHandle->z() ? second : first;
- } else if (firstHit) {
- hitNode = first;
- otherNode = second;
- } else if (secondHit) {
- hitNode = second;
- otherNode = first;
- } else {
- // find the nearest
- const qreal firstPos = positionAt(q, firstHandle, point);
- const qreal secondPos = positionAt(q, secondHandle, point);
- const qreal firstDistance = qAbs(firstPos - first->position());
- const qreal secondDistance = qAbs(secondPos - second->position());
-
- if (qFuzzyCompare(firstDistance, secondDistance)) {
- // same distance => choose the one that can be moved towards the press position
- const bool inverted = from > to;
- if ((!inverted && firstPos < first->position()) || (inverted && firstPos > first->position())) {
- hitNode = first;
- otherNode = second;
- } else {
- hitNode = second;
- otherNode = first;
- }
- } else if (firstDistance < secondDistance) {
- hitNode = first;
- otherNode = second;
- } else {
- hitNode = second;
- otherNode = first;
- }
- }
-
- if (hitNode) {
- hitNode->setPressed(true);
- if (QQuickItem *handle = hitNode->handle())
- handle->setZ(1);
- QQuickRangeSliderNodePrivate::get(hitNode)->touchId = touchId;
- }
- if (otherNode) {
- if (QQuickItem *handle = otherNode->handle())
- handle->setZ(0);
- }
-}
-
-void QQuickRangeSliderPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickRangeSlider);
- QQuickControlPrivate::handleMove(point);
- QQuickRangeSliderNode *pressedNode = QQuickRangeSliderPrivate::pressedNode(touchId);
- if (pressedNode) {
- const qreal oldPos = pressedNode->position();
- qreal pos = positionAt(q, pressedNode->handle(), point);
- if (snapMode == QQuickRangeSlider::SnapAlways)
- pos = snapPosition(q, pos);
- if (live)
- pressedNode->setValue(valueAt(q, pos));
- else
- QQuickRangeSliderNodePrivate::get(pressedNode)->setPosition(pos);
-
- if (!qFuzzyCompare(pressedNode->position(), oldPos))
- emit pressedNode->moved();
- }
-}
-
-void QQuickRangeSliderPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickRangeSlider);
- QQuickControlPrivate::handleRelease(point);
- pressPoint = QPointF();
-
- QQuickRangeSliderNode *pressedNode = QQuickRangeSliderPrivate::pressedNode(touchId);
- if (!pressedNode)
- return;
- QQuickRangeSliderNodePrivate *pressedNodePrivate = QQuickRangeSliderNodePrivate::get(pressedNode);
-
- if (q->keepMouseGrab() || q->keepTouchGrab()) {
- const qreal oldPos = pressedNode->position();
- qreal pos = positionAt(q, pressedNode->handle(), point);
- if (snapMode != QQuickRangeSlider::NoSnap)
- pos = snapPosition(q, pos);
- qreal val = valueAt(q, pos);
- if (!qFuzzyCompare(val, pressedNode->value()))
- pressedNode->setValue(val);
- else if (snapMode != QQuickRangeSlider::NoSnap)
- pressedNodePrivate->setPosition(pos);
- q->setKeepMouseGrab(false);
- q->setKeepTouchGrab(false);
-
- if (!qFuzzyCompare(pressedNode->position(), oldPos))
- emit pressedNode->moved();
- }
- pressedNode->setPressed(false);
- pressedNodePrivate->touchId = -1;
-}
-
-void QQuickRangeSliderPrivate::handleUngrab()
-{
- QQuickControlPrivate::handleUngrab();
- pressPoint = QPointF();
- first->setPressed(false);
- second->setPressed(false);
- QQuickRangeSliderNodePrivate::get(first)->touchId = -1;
- QQuickRangeSliderNodePrivate::get(second)->touchId = -1;
-}
-
-void QQuickRangeSliderPrivate::updateHover(const QPointF &pos)
-{
- Q_Q(QQuickRangeSlider);
- QQuickItem *firstHandle = first->handle();
- QQuickItem *secondHandle = second->handle();
- first->setHovered(firstHandle && firstHandle->isEnabled() && firstHandle->contains(q->mapToItem(firstHandle, pos)));
- second->setHovered(secondHandle && secondHandle->isEnabled() && secondHandle->contains(q->mapToItem(secondHandle, pos)));
-}
-
-void QQuickRangeSliderPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickControlPrivate::itemImplicitWidthChanged(item);
- if (item == first->handle())
- emit first->implicitHandleWidthChanged();
- else if (item == second->handle())
- emit second->implicitHandleWidthChanged();
-}
-
-void QQuickRangeSliderPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickControlPrivate::itemImplicitHeightChanged(item);
- if (item == first->handle())
- emit first->implicitHandleHeightChanged();
- else if (item == second->handle())
- emit second->implicitHandleHeightChanged();
-}
-
-QQuickRangeSlider::QQuickRangeSlider(QQuickItem *parent)
- : QQuickControl(*(new QQuickRangeSliderPrivate), parent)
-{
- Q_D(QQuickRangeSlider);
- d->first = new QQuickRangeSliderNode(0.0, this);
- d->second = new QQuickRangeSliderNode(1.0, this);
-
- setFlag(QQuickItem::ItemIsFocusScope);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-QQuickRangeSlider::~QQuickRangeSlider()
-{
- Q_D(QQuickRangeSlider);
- d->removeImplicitSizeListener(d->first->handle());
- d->removeImplicitSizeListener(d->second->handle());
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::RangeSlider::from
-
- This property holds the starting value for the range. The default value is \c 0.0.
-
- \sa to, first.value, second.value
-*/
-qreal QQuickRangeSlider::from() const
-{
- Q_D(const QQuickRangeSlider);
- return d->from;
-}
-
-void QQuickRangeSlider::setFrom(qreal from)
-{
- Q_D(QQuickRangeSlider);
- if (qFuzzyCompare(d->from, from))
- return;
-
- d->from = from;
- emit fromChanged();
-
- if (isComponentComplete()) {
- d->first->setValue(d->first->value());
- d->second->setValue(d->second->value());
- }
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::RangeSlider::to
-
- This property holds the end value for the range. The default value is \c 1.0.
-
- \sa from, first.value, second.value
-*/
-qreal QQuickRangeSlider::to() const
-{
- Q_D(const QQuickRangeSlider);
- return d->to;
-}
-
-void QQuickRangeSlider::setTo(qreal to)
-{
- Q_D(QQuickRangeSlider);
- if (qFuzzyCompare(d->to, to))
- return;
-
- d->to = to;
- emit toChanged();
-
- if (isComponentComplete()) {
- d->first->setValue(d->first->value());
- d->second->setValue(d->second->value());
- }
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty qreal QtQuick.Controls::RangeSlider::touchDragThreshold
-
- This property holds the threshold (in logical pixels) at which a touch drag event will be initiated.
- The mouse drag threshold won't be affected.
- The default value is \c Qt.styleHints.startDragDistance.
-
- \sa QStyleHints
-
-*/
-qreal QQuickRangeSlider::touchDragThreshold() const
-{
- Q_D(const QQuickRangeSlider);
- return d->touchDragThreshold;
-}
-
-void QQuickRangeSlider::setTouchDragThreshold(qreal touchDragThreshold)
-{
- Q_D(QQuickRangeSlider);
- if (d->touchDragThreshold == touchDragThreshold)
- return;
-
- d->touchDragThreshold = touchDragThreshold;
- emit touchDragThresholdChanged();
-}
-
-void QQuickRangeSlider::resetTouchDragThreshold()
-{
- setTouchDragThreshold(-1);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlmethod real QtQuick.Controls::RangeSlider::valueAt(real position)
-
- Returns the value for the given \a position.
-
- \sa first.value, second.value, first.position, second.position, live
-*/
-qreal QQuickRangeSlider::valueAt(qreal position) const
-{
- Q_D(const QQuickRangeSlider);
- const qreal value = (d->to - d->from) * position;
- if (qFuzzyIsNull(d->stepSize))
- return d->from + value;
- return d->from + qRound(value / d->stepSize) * d->stepSize;
-}
-
-/*!
- \qmlpropertygroup QtQuick.Controls::RangeSlider::first
- \qmlproperty real QtQuick.Controls::RangeSlider::first.value
- \qmlproperty real QtQuick.Controls::RangeSlider::first.position
- \qmlproperty real QtQuick.Controls::RangeSlider::first.visualPosition
- \qmlproperty Item QtQuick.Controls::RangeSlider::first.handle
- \qmlproperty bool QtQuick.Controls::RangeSlider::first.pressed
- \qmlproperty bool QtQuick.Controls::RangeSlider::first.hovered
- \qmlproperty real QtQuick.Controls::RangeSlider::first.implicitHandleWidth
- \qmlproperty real QtQuick.Controls::RangeSlider::first.implicitHandleHeight
-
- \table
- \header
- \li Property
- \li Description
- \row
- \li value
- \li This property holds the value of the first handle in the range
- \c from - \c to.
-
- If \l from is greater than \l to, the value of the first handle
- must be greater than the second, and vice versa.
-
- The default value is \c 0.0.
- \row
- \li handle
- \li This property holds the first handle item.
- \row
- \li visualPosition
- \li This property holds the visual position of the first handle.
-
- The position is expressed as a fraction of the control's size, in the range
- \c {0.0 - 1.0}. When the control is \l {Control::mirrored}{mirrored}, the
- value is equal to \c {1.0 - position}. This makes the value suitable for
- visualizing the slider, taking right-to-left support into account.
- \row
- \li position
- \li This property holds the logical position of the first handle.
-
- The position is expressed as a fraction of the control's size, in the range
- \c {0.0 - 1.0}. For visualizing a slider, the right-to-left aware
- \l {first.visualPosition}{visualPosition} should be used instead.
- \row
- \li pressed
- \li This property holds whether the first handle is pressed by either touch,
- mouse, or keys.
- \row
- \li hovered
- \li This property holds whether the first handle is hovered.
- This property was introduced in QtQuick.Controls 2.1.
- \row
- \li implicitHandleWidth
- \li This property holds the implicit width of the first handle.
- This property was introduced in QtQuick.Controls 2.5.
- \row
- \li implicitHandleHeight
- \li This property holds the implicit height of the first handle.
- This property was introduced in QtQuick.Controls 2.5.
- \endtable
-
- \sa first.moved(), first.increase(), first.decrease()
-*/
-QQuickRangeSliderNode *QQuickRangeSlider::first() const
-{
- Q_D(const QQuickRangeSlider);
- return d->first;
-}
-
-/*!
- \qmlsignal void QtQuick.Controls::RangeSlider::first.moved()
- \qmlsignal void QtQuick.Controls::RangeSlider::second.moved()
- \since QtQuick.Controls 2.5
-
- This signal is emitted when either the first or second handle has been
- interactively moved by the user by either touch, mouse, or keys.
-
- \sa first, second
-*/
-
-/*!
- \qmlpropertygroup QtQuick.Controls::RangeSlider::second
- \qmlproperty real QtQuick.Controls::RangeSlider::second.value
- \qmlproperty real QtQuick.Controls::RangeSlider::second.position
- \qmlproperty real QtQuick.Controls::RangeSlider::second.visualPosition
- \qmlproperty Item QtQuick.Controls::RangeSlider::second.handle
- \qmlproperty bool QtQuick.Controls::RangeSlider::second.pressed
- \qmlproperty bool QtQuick.Controls::RangeSlider::second.hovered
- \qmlproperty real QtQuick.Controls::RangeSlider::second.implicitHandleWidth
- \qmlproperty real QtQuick.Controls::RangeSlider::second.implicitHandleHeight
-
- \table
- \header
- \li Property
- \li Description
- \row
- \li value
- \li This property holds the value of the second handle in the range
- \c from - \c to.
-
- If \l from is greater than \l to, the value of the first handle
- must be greater than the second, and vice versa.
-
- The default value is \c 0.0.
- \row
- \li handle
- \li This property holds the second handle item.
- \row
- \li visualPosition
- \li This property holds the visual position of the second handle.
-
- The position is expressed as a fraction of the control's size, in the range
- \c {0.0 - 1.0}. When the control is \l {Control::mirrored}{mirrored}, the
- value is equal to \c {1.0 - position}. This makes the value suitable for
- visualizing the slider, taking right-to-left support into account.
- \row
- \li position
- \li This property holds the logical position of the second handle.
-
- The position is expressed as a fraction of the control's size, in the range
- \c {0.0 - 1.0}. For visualizing a slider, the right-to-left aware
- \l {second.visualPosition}{visualPosition} should be used instead.
- \row
- \li pressed
- \li This property holds whether the second handle is pressed by either touch,
- mouse, or keys.
- \row
- \li hovered
- \li This property holds whether the second handle is hovered.
- This property was introduced in QtQuick.Controls 2.1.
- \row
- \li implicitHandleWidth
- \li This property holds the implicit width of the second handle.
- This property was introduced in QtQuick.Controls 2.5.
- \row
- \li implicitHandleHeight
- \li This property holds the implicit height of the second handle.
- This property was introduced in QtQuick.Controls 2.5.
- \endtable
-
- \sa second.moved(), second.increase(), second.decrease()
-*/
-QQuickRangeSliderNode *QQuickRangeSlider::second() const
-{
- Q_D(const QQuickRangeSlider);
- return d->second;
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::RangeSlider::stepSize
-
- This property holds the step size. The default value is \c 0.0.
-
- \sa snapMode, first.increase(), first.decrease()
-*/
-qreal QQuickRangeSlider::stepSize() const
-{
- Q_D(const QQuickRangeSlider);
- return d->stepSize;
-}
-
-void QQuickRangeSlider::setStepSize(qreal step)
-{
- Q_D(QQuickRangeSlider);
- if (qFuzzyCompare(d->stepSize, step))
- return;
-
- d->stepSize = step;
- emit stepSizeChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::RangeSlider::snapMode
-
- This property holds the snap mode.
-
- The snap mode determines how the slider handles behave with
- regards to the \l stepSize.
-
- Possible values:
- \value RangeSlider.NoSnap The slider does not snap (default).
- \value RangeSlider.SnapAlways The slider snaps while the handle is dragged.
- \value RangeSlider.SnapOnRelease The slider does not snap while being dragged, but only after the handle is released.
-
- For visual explanations of the various modes, see the
- \l {Slider::}{snapMode} documentation of \l Slider.
-
- \sa stepSize
-*/
-QQuickRangeSlider::SnapMode QQuickRangeSlider::snapMode() const
-{
- Q_D(const QQuickRangeSlider);
- return d->snapMode;
-}
-
-void QQuickRangeSlider::setSnapMode(SnapMode mode)
-{
- Q_D(QQuickRangeSlider);
- if (d->snapMode == mode)
- return;
-
- d->snapMode = mode;
- emit snapModeChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::RangeSlider::orientation
-
- This property holds the orientation.
-
- Possible values:
- \value Qt.Horizontal Horizontal (default)
- \value Qt.Vertical Vertical
-
- \sa horizontal, vertical
-*/
-Qt::Orientation QQuickRangeSlider::orientation() const
-{
- Q_D(const QQuickRangeSlider);
- return d->orientation;
-}
-
-void QQuickRangeSlider::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickRangeSlider);
- if (d->orientation == orientation)
- return;
-
- d->orientation = orientation;
- emit orientationChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::RangeSlider::setValues(real firstValue, real secondValue)
-
- Sets \l first.value and \l second.value with the given arguments.
-
- If \a to is larger than \a from and \a firstValue is larger than
- \a secondValue, \a firstValue will be clamped to \a secondValue.
-
- If \a from is larger than \a to and \a secondValue is larger than
- \a firstValue, \a secondValue will be clamped to \a firstValue.
-
- This function may be necessary to set the first and second values
- after the control has been completed, as there is a circular
- dependency between firstValue and secondValue which can cause
- assigned values to be clamped to each other.
-
- \sa stepSize
-*/
-void QQuickRangeSlider::setValues(qreal firstValue, qreal secondValue)
-{
- Q_D(QQuickRangeSlider);
- // Restrict the values to be within to and from.
- const qreal smaller = qMin(d->to, d->from);
- const qreal larger = qMax(d->to, d->from);
- firstValue = qBound(smaller, firstValue, larger);
- secondValue = qBound(smaller, secondValue, larger);
-
- if (d->from > d->to) {
- // If the from and to values are reversed, the secondValue
- // might be less than the first value, which is not allowed.
- if (secondValue > firstValue)
- secondValue = firstValue;
- } else {
- // Otherwise, clamp first to second if it's too large.
- if (firstValue > secondValue)
- firstValue = secondValue;
- }
-
- // Then set both values. If they didn't change, no change signal will be emitted.
- QQuickRangeSliderNodePrivate *firstPrivate = QQuickRangeSliderNodePrivate::get(d->first);
- if (firstValue != firstPrivate->value) {
- firstPrivate->value = firstValue;
- emit d->first->valueChanged();
- }
-
- QQuickRangeSliderNodePrivate *secondPrivate = QQuickRangeSliderNodePrivate::get(d->second);
- if (secondValue != secondPrivate->value) {
- secondPrivate->value = secondValue;
- emit d->second->valueChanged();
- }
-
- // After we've set both values, then we can update the positions.
- // If we don't do this last, the positions may be incorrect.
- firstPrivate->updatePosition(true);
- secondPrivate->updatePosition();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::RangeSlider::live
-
- This property holds whether the slider provides live updates for the \l first.value
- and \l second.value properties while the respective handles are dragged.
-
- The default value is \c true.
-
- \sa first.value, second.value
-*/
-bool QQuickRangeSlider::live() const
-{
- Q_D(const QQuickRangeSlider);
- return d->live;
-}
-
-void QQuickRangeSlider::setLive(bool live)
-{
- Q_D(QQuickRangeSlider);
- if (d->live == live)
- return;
-
- d->live = live;
- emit liveChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::RangeSlider::horizontal
- \readonly
-
- This property holds whether the slider is horizontal.
-
- \sa orientation
-*/
-bool QQuickRangeSlider::isHorizontal() const
-{
- Q_D(const QQuickRangeSlider);
- return d->orientation == Qt::Horizontal;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::RangeSlider::vertical
- \readonly
-
- This property holds whether the slider is vertical.
-
- \sa orientation
-*/
-bool QQuickRangeSlider::isVertical() const
-{
- Q_D(const QQuickRangeSlider);
- return d->orientation == Qt::Vertical;
-}
-
-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);
- QQuickControl::keyPressEvent(event);
-
- QQuickRangeSliderNode *focusNode = d->first->handle()->hasActiveFocus()
- ? d->first : (d->second->handle()->hasActiveFocus() ? d->second : nullptr);
- if (!focusNode)
- return;
-
- const qreal oldValue = focusNode->value();
- if (d->orientation == Qt::Horizontal) {
- if (event->key() == Qt::Key_Left) {
- focusNode->setPressed(true);
- if (isMirrored())
- focusNode->increase();
- else
- focusNode->decrease();
- event->accept();
- } else if (event->key() == Qt::Key_Right) {
- focusNode->setPressed(true);
- if (isMirrored())
- focusNode->decrease();
- else
- focusNode->increase();
- event->accept();
- }
- } else {
- if (event->key() == Qt::Key_Up) {
- focusNode->setPressed(true);
- focusNode->increase();
- event->accept();
- } else if (event->key() == Qt::Key_Down) {
- focusNode->setPressed(true);
- focusNode->decrease();
- event->accept();
- }
- }
- if (!qFuzzyCompare(focusNode->value(), oldValue))
- emit focusNode->moved();
-}
-
-void QQuickRangeSlider::hoverEnterEvent(QHoverEvent *event)
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::hoverEnterEvent(event);
- d->updateHover(event->posF());
-}
-
-void QQuickRangeSlider::hoverMoveEvent(QHoverEvent *event)
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::hoverMoveEvent(event);
- d->updateHover(event->posF());
-}
-
-void QQuickRangeSlider::hoverLeaveEvent(QHoverEvent *event)
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::hoverLeaveEvent(event);
- d->first->setHovered(false);
- d->second->setHovered(false);
-}
-
-void QQuickRangeSlider::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::keyReleaseEvent(event);
- d->first->setPressed(false);
- d->second->setPressed(false);
-}
-
-void QQuickRangeSlider::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::mousePressEvent(event);
- d->handleMove(event->localPos());
- setKeepMouseGrab(true);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickRangeSlider::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickRangeSlider);
- switch (event->type()) {
- case QEvent::TouchUpdate:
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (!d->acceptTouch(point))
- continue;
-
- switch (point.state()) {
- case Qt::TouchPointPressed:
- d->handlePress(point.pos());
- break;
- case Qt::TouchPointMoved:
- if (!keepTouchGrab()) {
- if (d->orientation == Qt::Horizontal)
- setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - point.startPos().x(), Qt::XAxis, &point, qRound(d->touchDragThreshold)));
- else
- setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - point.startPos().y(), Qt::YAxis, &point, qRound(d->touchDragThreshold)));
- }
- if (keepTouchGrab())
- d->handleMove(point.pos());
- break;
- case Qt::TouchPointReleased:
- d->handleRelease(point.pos());
- break;
- default:
- break;
- }
- }
- break;
-
- default:
- QQuickControl::touchEvent(event);
- break;
- }
-}
-#endif
-
-void QQuickRangeSlider::mirrorChange()
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::mirrorChange();
- emit d->first->visualPositionChanged();
- emit d->second->visualPositionChanged();
-}
-
-void QQuickRangeSlider::classBegin()
-{
- Q_D(QQuickRangeSlider);
- QQuickControl::classBegin();
-
- QQmlContext *context = qmlContext(this);
- if (context) {
- QQmlEngine::setContextForObject(d->first, context);
- QQmlEngine::setContextForObject(d->second, context);
- }
-}
-
-void QQuickRangeSlider::componentComplete()
-{
- Q_D(QQuickRangeSlider);
- QQuickRangeSliderNodePrivate *firstPrivate = QQuickRangeSliderNodePrivate::get(d->first);
- QQuickRangeSliderNodePrivate *secondPrivate = QQuickRangeSliderNodePrivate::get(d->second);
- firstPrivate->executeHandle(true);
- secondPrivate->executeHandle(true);
-
- QQuickControl::componentComplete();
-
- if (firstPrivate->isPendingValue || secondPrivate->isPendingValue
- || !qFuzzyCompare(d->from, defaultFrom) || !qFuzzyCompare(d->to, defaultTo)) {
- // Properties were set while we were loading. To avoid clamping issues that occur when setting the
- // values of first and second overriding values set by the user, set them all at once at the end.
- // Another reason that we must set these values here is that the from and to values might have made the old range invalid.
- setValues(firstPrivate->isPendingValue ? firstPrivate->pendingValue : firstPrivate->value,
- secondPrivate->isPendingValue ? secondPrivate->pendingValue : secondPrivate->value);
-
- firstPrivate->pendingValue = 0;
- firstPrivate->isPendingValue = false;
- secondPrivate->pendingValue = 0;
- secondPrivate->isPendingValue = false;
- } else {
- // If there was no pending data, we must still update the positions,
- // as first.setValue()/second.setValue() won't be called as part of default construction.
- // Don't need to ignore the second position when updating the first position here,
- // as our default values are guaranteed to be valid.
- firstPrivate->updatePosition();
- secondPrivate->updatePosition();
- }
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::RangeSlider::first.increase()
-
- Increases the value of the handle by stepSize, or \c 0.1 if stepSize is not defined.
-
- \sa first
-*/
-
-/*!
- \qmlmethod void QtQuick.Controls::RangeSlider::first.decrease()
-
- Decreases the value of the handle by stepSize, or \c 0.1 if stepSize is not defined.
-
- \sa first
-*/
-
-/*!
- \qmlmethod void QtQuick.Controls::RangeSlider::second.increase()
-
- Increases the value of the handle by stepSize, or \c 0.1 if stepSize is not defined.
-
- \sa second
-*/
-
-/*!
- \qmlmethod void QtQuick.Controls::RangeSlider::second.decrease()
-
- Decreases the value of the handle by stepSize, or \c 0.1 if stepSize is not defined.
-
- \sa second
-*/
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickRangeSlider::accessibleRole() const
-{
- return QAccessible::Slider;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickrangeslider_p.h b/src/quicktemplates2/qquickrangeslider_p.h
deleted file mode 100644
index a42245a1..00000000
--- a/src/quicktemplates2/qquickrangeslider_p.h
+++ /dev/null
@@ -1,225 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKRANGESLIDER_P_H
-#define QQUICKRANGESLIDER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickRangeSliderPrivate;
-class QQuickRangeSliderNode;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickRangeSlider : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged FINAL)
- Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged FINAL)
- Q_PROPERTY(QQuickRangeSliderNode *first READ first CONSTANT FINAL)
- Q_PROPERTY(QQuickRangeSliderNode *second READ second CONSTANT FINAL)
- Q_PROPERTY(qreal stepSize READ stepSize WRITE setStepSize NOTIFY stepSizeChanged FINAL)
- Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged FINAL)
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool live READ live WRITE setLive NOTIFY liveChanged FINAL REVISION 2)
- Q_PROPERTY(bool horizontal READ isHorizontal NOTIFY orientationChanged FINAL REVISION 3)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool vertical READ isVertical NOTIFY orientationChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal touchDragThreshold READ touchDragThreshold WRITE setTouchDragThreshold RESET resetTouchDragThreshold NOTIFY touchDragThresholdChanged FINAL REVISION 5)
-
-public:
- explicit QQuickRangeSlider(QQuickItem *parent = nullptr);
- ~QQuickRangeSlider();
-
- qreal from() const;
- void setFrom(qreal from);
-
- qreal to() const;
- void setTo(qreal to);
-
- QQuickRangeSliderNode *first() const;
- QQuickRangeSliderNode *second() const;
-
- qreal stepSize() const;
- void setStepSize(qreal step);
-
- enum SnapMode {
- NoSnap,
- SnapAlways,
- SnapOnRelease
- };
- Q_ENUM(SnapMode)
-
- SnapMode snapMode() const;
- void setSnapMode(SnapMode mode);
-
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- Q_INVOKABLE void setValues(qreal firstValue, qreal secondValue);
-
- // 2.2 (Qt 5.9)
- bool live() const;
- void setLive(bool live);
-
- // 2.3 (Qt 5.10)
- bool isHorizontal() const;
- bool isVertical() const;
-
- // 2.5 (Qt 5.12)
- qreal touchDragThreshold() const;
- void setTouchDragThreshold(qreal touchDragThreshold);
- void resetTouchDragThreshold();
- Q_REVISION(5) Q_INVOKABLE qreal valueAt(qreal position) const;
-
-Q_SIGNALS:
- void fromChanged();
- void toChanged();
- void stepSizeChanged();
- void snapModeChanged();
- void orientationChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void liveChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void touchDragThresholdChanged();
-
-protected:
- void focusInEvent(QFocusEvent *event) override;
- void hoverEnterEvent(QHoverEvent *event) override;
- void hoverMoveEvent(QHoverEvent *event) override;
- void hoverLeaveEvent(QHoverEvent *event) override;
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
- void mirrorChange() override;
- void classBegin() override;
- void componentComplete() override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- friend class QQuickRangeSliderNode;
-
- Q_DISABLE_COPY(QQuickRangeSlider)
- Q_DECLARE_PRIVATE(QQuickRangeSlider)
-};
-
-class QQuickRangeSliderNodePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickRangeSliderNode : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY valueChanged FINAL)
- Q_PROPERTY(qreal position READ position NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL)
- Q_PROPERTY(QQuickItem *handle READ handle WRITE setHandle NOTIFY handleChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed NOTIFY pressedChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool hovered READ isHovered WRITE setHovered NOTIFY hoveredChanged FINAL REVISION 1)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitHandleWidth READ implicitHandleWidth NOTIFY implicitHandleWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitHandleHeight READ implicitHandleHeight NOTIFY implicitHandleHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "handle")
-
-public:
- explicit QQuickRangeSliderNode(qreal value, QQuickRangeSlider *slider);
- ~QQuickRangeSliderNode();
-
- qreal value() const;
- void setValue(qreal value);
-
- qreal position() const;
- qreal visualPosition() const;
-
- QQuickItem *handle() const;
- void setHandle(QQuickItem *handle);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- // 2.1 (Qt 5.8)
- bool isHovered() const;
- void setHovered(bool hovered);
-
- // 2.5 (Qt 5.12)
- qreal implicitHandleWidth() const;
- qreal implicitHandleHeight() const;
-
-public Q_SLOTS:
- void increase();
- void decrease();
-
-Q_SIGNALS:
- void valueChanged();
- void positionChanged();
- void visualPositionChanged();
- void handleChanged();
- void pressedChanged();
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void hoveredChanged();
- // 2.5 (Qt 5.12)
- /*Q_REVISION(5)*/ void moved();
- /*Q_REVISION(5)*/ void implicitHandleWidthChanged();
- /*Q_REVISION(5)*/ void implicitHandleHeightChanged();
-
-private:
- Q_DISABLE_COPY(QQuickRangeSliderNode)
- Q_DECLARE_PRIVATE(QQuickRangeSliderNode)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickRangeSlider)
-
-#endif // QQUICKRANGESLIDER_P_H
diff --git a/src/quicktemplates2/qquickroundbutton.cpp b/src/quicktemplates2/qquickroundbutton.cpp
deleted file mode 100644
index d930edbe..00000000
--- a/src/quicktemplates2/qquickroundbutton.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickroundbutton_p.h"
-
-#include <QtQuickTemplates2/private/qquickbutton_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype RoundButton
- \inherits Button
- \instantiates QQuickRoundButton
- \inqmlmodule QtQuick.Controls
- \since 5.8
- \ingroup qtquickcontrols2-buttons
- \brief A push-button control with rounded corners that can be clicked by the user.
-
- \image qtquickcontrols2-roundbutton.png
-
- RoundButton is identical to \l Button, except that it has a \l radius property
- which allows the corners to be rounded without having to customize the
- \l background.
-
- \snippet qtquickcontrols2-roundbutton.qml 1
-
- \sa {Customizing RoundButton}, {Button Controls}
-*/
-
-class QQuickRoundButtonPrivate : public QQuickButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickRoundButton)
-
-public:
- void setRadius(qreal newRadius = -1.0);
-
- qreal radius = 0;
- bool explicitRadius = false;
-};
-
-void QQuickRoundButtonPrivate::setRadius(qreal newRadius)
-{
- Q_Q(QQuickRoundButton);
- const qreal oldRadius = radius;
- if (newRadius < 0)
- radius = qMax<qreal>(0, qMin(width, height) / 2);
- else
- radius = newRadius;
-
- if (!qFuzzyCompare(radius, oldRadius))
- emit q->radiusChanged();
-}
-
-QQuickRoundButton::QQuickRoundButton(QQuickItem *parent)
- : QQuickButton(*(new QQuickRoundButtonPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::RoundButton::radius
-
- This property holds the radius of the button.
-
- To create a relatively square button that has slightly rounded corners,
- use a small value, such as \c 3.
-
- To create a completely circular button (the default), use a value that is
- equal to half of the width or height of the button, and make the button's
- width and height identical.
-
- To reset this property back to the default value, set its value to
- \c undefined.
-*/
-qreal QQuickRoundButton::radius() const
-{
- Q_D(const QQuickRoundButton);
- return d->radius;
-}
-
-void QQuickRoundButton::setRadius(qreal radius)
-{
- Q_D(QQuickRoundButton);
- d->explicitRadius = true;
- d->setRadius(radius);
-}
-
-void QQuickRoundButton::resetRadius()
-{
- Q_D(QQuickRoundButton);
- d->explicitRadius = false;
- d->setRadius();
-}
-
-void QQuickRoundButton::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickRoundButton);
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
- if (!d->explicitRadius)
- d->setRadius();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickroundbutton_p.h b/src/quicktemplates2/qquickroundbutton_p.h
deleted file mode 100644
index de6f1440..00000000
--- a/src/quicktemplates2/qquickroundbutton_p.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKROUNDBUTTON_P_H
-#define QQUICKROUNDBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickRoundButtonPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickRoundButton : public QQuickButton
-{
- Q_OBJECT
- Q_PROPERTY(qreal radius READ radius WRITE setRadius RESET resetRadius NOTIFY radiusChanged FINAL)
-
-public:
- explicit QQuickRoundButton(QQuickItem *parent = nullptr);
-
- qreal radius() const;
- void setRadius(qreal radius);
- void resetRadius();
-
-Q_SIGNALS:
- void radiusChanged();
-
-protected:
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
-private:
- Q_DISABLE_COPY(QQuickRoundButton)
- Q_DECLARE_PRIVATE(QQuickRoundButton)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickRoundButton)
-
-#endif // QQUICKROUNDBUTTON_P_H
diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp
deleted file mode 100644
index 535151d6..00000000
--- a/src/quicktemplates2/qquickscrollbar.cpp
+++ /dev/null
@@ -1,1080 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickscrollbar_p.h"
-#include "qquickscrollbar_p_p.h"
-#include "qquickscrollview_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickflickable_p.h>
-#if QT_CONFIG(accessibility)
-#include <QtQuick/private/qquickaccessibleattached_p.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ScrollBar
- \inherits Control
- \instantiates QQuickScrollBar
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-indicators
- \brief Vertical or horizontal interactive scroll bar.
-
- \image qtquickcontrols2-scrollbar.gif
-
- ScrollBar is an interactive bar that can be used to scroll to a specific
- position. A scroll bar can be either \l vertical or \l horizontal, and can
- be attached to any \l Flickable, such as \l ListView and \l GridView.
-
- \code
- Flickable {
- // ...
- ScrollBar.vertical: ScrollBar { }
- }
- \endcode
-
- \section1 Attaching ScrollBar to a Flickable
-
- When ScrollBar is attached \l {ScrollBar::vertical}{vertically} or
- \l {ScrollBar::horizontal}{horizontally} to a Flickable, its geometry and
- the following properties are automatically set and updated as appropriate:
-
- \list
- \li \l orientation
- \li \l position
- \li \l size
- \li \l active
- \endlist
-
- An attached ScrollBar re-parents itself to the target Flickable. A vertically
- attached ScrollBar resizes itself to the height of the Flickable, and positions
- itself to either side of it based on the \l {Control::mirrored}{layout direction}.
- A horizontally attached ScrollBar resizes itself to the width of the Flickable,
- and positions itself to the bottom. The automatic geometry management can be disabled
- by specifying another parent for the attached ScrollBar. This can be useful, for
- example, if the ScrollBar should be placed outside a clipping Flickable. This is
- demonstrated by the following example:
-
- \code
- Flickable {
- id: flickable
- clip: true
- // ...
- ScrollBar.vertical: ScrollBar {
- parent: flickable.parent
- anchors.top: flickable.top
- anchors.left: flickable.right
- anchors.bottom: flickable.bottom
- }
- }
- \endcode
-
- Notice that ScrollBar does not filter key events of the Flickable it is
- attached to. The following example illustrates how to implement scrolling
- with up and down keys:
-
- \code
- Flickable {
- focus: true
-
- Keys.onUpPressed: scrollBar.decrease()
- Keys.onDownPressed: scrollBar.increase()
-
- ScrollBar.vertical: ScrollBar { id: scrollBar }
- }
- \endcode
-
- \section1 Binding the Active State of Horizontal and Vertical Scroll Bars
-
- Horizontal and vertical scroll bars do not share the \l active state with
- each other by default. In order to keep both bars visible whilst scrolling
- to either direction, establish a two-way binding between the active states
- as presented by the following example:
-
- \snippet qtquickcontrols2-scrollbar-active.qml 1
-
- \section1 Non-attached Scroll Bars
-
- It is possible to create an instance of ScrollBar without using the
- attached property API. This is useful when the behavior of the attached
- scroll bar is not sufficient or a \l Flickable is not in use. In the
- following example, horizontal and vertical scroll bars are used to
- scroll over the text without using \l Flickable:
-
- \snippet qtquickcontrols2-scrollbar-non-attached.qml 1
-
- \image qtquickcontrols2-scrollbar-non-attached.png
-
- When using a non-attached ScrollBar, the following must be done manually:
-
- \list
- \li Layout the scroll bar (with the \l {Item::}{x} and \l {Item::}{y} or
- \l {Item::anchors}{anchor} properties, for example).
- \li Set the \l size and \l position properties to determine the size and position
- of the scroll bar in relation to the scrolled item.
- \li Set the \l active property to determine when the scroll bar will be
- visible.
- \endlist
-
- \sa ScrollIndicator, {Customizing ScrollBar}, {Indicator Controls}
-*/
-
-static const QQuickItemPrivate::ChangeTypes changeTypes = QQuickItemPrivate::Geometry | QQuickItemPrivate::Destroyed;
-static const QQuickItemPrivate::ChangeTypes horizontalChangeTypes = changeTypes | QQuickItemPrivate::ImplicitHeight;
-static const QQuickItemPrivate::ChangeTypes verticalChangeTypes = changeTypes | QQuickItemPrivate::ImplicitWidth;
-
-QQuickScrollBarPrivate::VisualArea QQuickScrollBarPrivate::visualArea() const
-{
- qreal visualPos = position;
- if (minimumSize > size)
- visualPos = position / (1.0 - size) * (1.0 - minimumSize);
-
- qreal visualSize = qBound<qreal>(0, qMax(size, minimumSize) + qMin<qreal>(0, visualPos), 1.0 - visualPos);
-
- visualPos = qBound<qreal>(0, visualPos, 1.0 - visualSize);
-
- return VisualArea(visualPos, visualSize);
-}
-
-qreal QQuickScrollBarPrivate::logicalPosition(qreal position) const
-{
- if (minimumSize > size)
- return position * (1.0 - size) / (1.0 - minimumSize);
- return position;
-}
-
-qreal QQuickScrollBarPrivate::snapPosition(qreal position) const
-{
- const qreal effectiveStep = stepSize * (1.0 - size);
- if (qFuzzyIsNull(effectiveStep))
- return position;
-
- return qRound(position / effectiveStep) * effectiveStep;
-}
-
-qreal QQuickScrollBarPrivate::positionAt(const QPointF &point) const
-{
- Q_Q(const QQuickScrollBar);
- if (orientation == Qt::Horizontal)
- return logicalPosition(point.x() - q->leftPadding()) / q->availableWidth();
- else
- return logicalPosition(point.y() - q->topPadding()) / q->availableHeight();
-}
-
-void QQuickScrollBarPrivate::setInteractive(bool enabled)
-{
- Q_Q(QQuickScrollBar);
- if (interactive == enabled)
- return;
-
- interactive = enabled;
- if (interactive) {
- q->setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- q->setCursor(Qt::ArrowCursor);
-#endif
- } else {
- q->setAcceptedMouseButtons(Qt::NoButton);
-#if QT_CONFIG(cursor)
- q->unsetCursor();
-#endif
- q->ungrabMouse();
- }
- emit q->interactiveChanged();
-}
-
-void QQuickScrollBarPrivate::updateActive()
-{
- Q_Q(QQuickScrollBar);
-#if QT_CONFIG(quicktemplates2_hover)
- bool hover = hovered;
-#else
- bool hover = false;
-#endif
- q->setActive(moving || (interactive && (pressed || hover)));
-}
-
-void QQuickScrollBarPrivate::resizeContent()
-{
- Q_Q(QQuickScrollBar);
- if (!contentItem)
- return;
-
- // - negative overshoot (pos < 0): clamp the pos to 0, and deduct the overshoot from the size
- // - positive overshoot (pos + size > 1): clamp the size to 1-pos
- const VisualArea visual = visualArea();
-
- if (orientation == Qt::Horizontal) {
- contentItem->setPosition(QPointF(q->leftPadding() + visual.position * q->availableWidth(), q->topPadding()));
- contentItem->setSize(QSizeF(q->availableWidth() * visual.size, q->availableHeight()));
- } else {
- contentItem->setPosition(QPointF(q->leftPadding(), q->topPadding() + visual.position * q->availableHeight()));
- contentItem->setSize(QSizeF(q->availableWidth(), q->availableHeight() * visual.size));
- }
-}
-
-void QQuickScrollBarPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickScrollBar);
- QQuickControlPrivate::handlePress(point);
- offset = positionAt(point) - position;
- qreal sz = qMax(size, logicalPosition(minimumSize));
- if (offset < 0 || offset > sz)
- offset = sz / 2;
- q->setPressed(true);
-}
-
-void QQuickScrollBarPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickScrollBar);
- QQuickControlPrivate::handleMove(point);
- qreal pos = qBound<qreal>(0.0, positionAt(point) - offset, 1.0 - size);
- if (snapMode == QQuickScrollBar::SnapAlways)
- pos = snapPosition(pos);
- q->setPosition(pos);
-}
-
-void QQuickScrollBarPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickScrollBar);
- QQuickControlPrivate::handleRelease(point);
- qreal pos = qBound<qreal>(0.0, positionAt(point) - offset, 1.0 - size);
- if (snapMode != QQuickScrollBar::NoSnap)
- pos = snapPosition(pos);
- q->setPosition(pos);
- offset = 0.0;
- q->setPressed(false);
-}
-
-void QQuickScrollBarPrivate::handleUngrab()
-{
- Q_Q(QQuickScrollBar);
- QQuickControlPrivate::handleUngrab();
- offset = 0.0;
- q->setPressed(false);
-}
-
-void QQuickScrollBarPrivate::visualAreaChange(const VisualArea &newVisualArea, const VisualArea &oldVisualArea)
-{
- Q_Q(QQuickScrollBar);
- if (!qFuzzyCompare(newVisualArea.size, oldVisualArea.size))
- emit q->visualSizeChanged();
- if (!qFuzzyCompare(newVisualArea.position, oldVisualArea.position))
- emit q->visualPositionChanged();
-}
-
-QQuickScrollBar::QQuickScrollBar(QQuickItem *parent)
- : QQuickControl(*(new QQuickScrollBarPrivate), parent)
-{
- setKeepMouseGrab(true);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-QQuickScrollBarAttached *QQuickScrollBar::qmlAttachedProperties(QObject *object)
-{
- return new QQuickScrollBarAttached(object);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ScrollBar::size
-
- This property holds the size of the scroll bar, scaled to \c {0.0 - 1.0}.
-
- \sa {Flickable::visibleArea.heightRatio}{Flickable::visibleArea}
-
- This property is automatically set when the scroll bar is
- \l {Attaching ScrollBar to a Flickable}{attached to a flickable}.
-
- \sa minimumSize, visualSize
-*/
-qreal QQuickScrollBar::size() const
-{
- Q_D(const QQuickScrollBar);
- return d->size;
-}
-
-void QQuickScrollBar::setSize(qreal size)
-{
- Q_D(QQuickScrollBar);
- if (qFuzzyCompare(d->size, size))
- return;
-
- auto oldVisualArea = d->visualArea();
- d->size = size;
- if (isComponentComplete())
- d->resizeContent();
- emit sizeChanged();
- d->visualAreaChange(d->visualArea(), oldVisualArea);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ScrollBar::position
-
- This property holds the position of the scroll bar, scaled to \c {0.0 - 1.0}.
-
- \sa {Flickable::visibleArea.yPosition}{Flickable::visibleArea}
-
- This property is automatically set when the scroll bar is
- \l {Attaching ScrollBar to a Flickable}{attached to a flickable}.
-
- \sa visualPosition
-*/
-qreal QQuickScrollBar::position() const
-{
- Q_D(const QQuickScrollBar);
- return d->position;
-}
-
-void QQuickScrollBar::setPosition(qreal position)
-{
- Q_D(QQuickScrollBar);
- if (qFuzzyCompare(d->position, position))
- return;
-
- auto oldVisualArea = d->visualArea();
- d->position = position;
- if (isComponentComplete())
- d->resizeContent();
- emit positionChanged();
- d->visualAreaChange(d->visualArea(), oldVisualArea);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ScrollBar::stepSize
-
- This property holds the step size. The default value is \c 0.0.
-
- \sa snapMode, increase(), decrease()
-*/
-qreal QQuickScrollBar::stepSize() const
-{
- Q_D(const QQuickScrollBar);
- return d->stepSize;
-}
-
-void QQuickScrollBar::setStepSize(qreal step)
-{
- Q_D(QQuickScrollBar);
- if (qFuzzyCompare(d->stepSize, step))
- return;
-
- d->stepSize = step;
- emit stepSizeChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ScrollBar::active
-
- This property holds whether the scroll bar is active, i.e. when it's \l pressed
- or the attached Flickable is \l {Flickable::moving}{moving}.
-
- It is possible to keep \l {Binding the Active State of Horizontal and Vertical Scroll Bars}
- {both horizontal and vertical bars visible} while scrolling in either direction.
-
- This property is automatically set when the scroll bar is
- \l {Attaching ScrollBar to a Flickable}{attached to a flickable}.
-*/
-bool QQuickScrollBar::isActive() const
-{
- Q_D(const QQuickScrollBar);
- return d->active;
-}
-
-void QQuickScrollBar::setActive(bool active)
-{
- Q_D(QQuickScrollBar);
- if (d->active == active)
- return;
-
- d->active = active;
- emit activeChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ScrollBar::pressed
-
- This property holds whether the scroll bar is pressed.
-*/
-bool QQuickScrollBar::isPressed() const
-{
- Q_D(const QQuickScrollBar);
- return d->pressed;
-}
-
-void QQuickScrollBar::setPressed(bool pressed)
-{
- Q_D(QQuickScrollBar);
- if (d->pressed == pressed)
- return;
-
- d->pressed = pressed;
- setAccessibleProperty("pressed", pressed);
- d->updateActive();
- emit pressedChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::ScrollBar::orientation
-
- This property holds the orientation of the scroll bar.
-
- Possible values:
- \value Qt.Horizontal Horizontal
- \value Qt.Vertical Vertical (default)
-
- This property is automatically set when the scroll bar is
- \l {Attaching ScrollBar to a Flickable}{attached to a flickable}.
-
- \sa horizontal, vertical
-*/
-Qt::Orientation QQuickScrollBar::orientation() const
-{
- Q_D(const QQuickScrollBar);
- return d->orientation;
-}
-
-void QQuickScrollBar::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickScrollBar);
- if (d->orientation == orientation)
- return;
-
- d->orientation = orientation;
- if (isComponentComplete())
- d->resizeContent();
- emit orientationChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty enumeration QtQuick.Controls::ScrollBar::snapMode
-
- This property holds the snap mode.
-
- Possible values:
- \value ScrollBar.NoSnap The scrollbar does not snap (default).
- \value ScrollBar.SnapAlways The scrollbar snaps while dragged.
- \value ScrollBar.SnapOnRelease The scrollbar does not snap while being dragged, but only after released.
-
- In the following table, the various modes are illustrated with animations.
- The movement and the \l stepSize (\c 0.25) are identical in each animation.
-
- \table
- \header
- \row \li \b Value \li \b Example
- \row \li \c ScrollBar.NoSnap \li \image qtquickcontrols2-scrollbar-nosnap.gif
- \row \li \c ScrollBar.SnapAlways \li \image qtquickcontrols2-scrollbar-snapalways.gif
- \row \li \c ScrollBar.SnapOnRelease \li \image qtquickcontrols2-scrollbar-snaponrelease.gif
- \endtable
-
- \sa stepSize
-*/
-QQuickScrollBar::SnapMode QQuickScrollBar::snapMode() const
-{
- Q_D(const QQuickScrollBar);
- return d->snapMode;
-}
-
-void QQuickScrollBar::setSnapMode(SnapMode mode)
-{
- Q_D(QQuickScrollBar);
- if (d->snapMode == mode)
- return;
-
- d->snapMode = mode;
- emit snapModeChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::ScrollBar::interactive
-
- This property holds whether the scroll bar is interactive. The default value is \c true.
-
- A non-interactive scroll bar is visually and behaviorally similar to \l ScrollIndicator.
- This property is useful for switching between typical mouse- and touch-orientated UIs
- with interactive and non-interactive scroll bars, respectively.
-*/
-bool QQuickScrollBar::isInteractive() const
-{
- Q_D(const QQuickScrollBar);
- return d->interactive;
-}
-
-void QQuickScrollBar::setInteractive(bool interactive)
-{
- Q_D(QQuickScrollBar);
- d->explicitInteractive = true;
- d->setInteractive(interactive);
-}
-
-void QQuickScrollBar::resetInteractive()
-{
- Q_D(QQuickScrollBar);
- d->explicitInteractive = false;
- d->setInteractive(true);
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty enumeration QtQuick.Controls::ScrollBar::policy
-
- This property holds the policy of the scroll bar. The default policy is \c ScrollBar.AsNeeded.
-
- Possible values:
- \value ScrollBar.AsNeeded The scroll bar is only shown when the content is too large to fit.
- \value ScrollBar.AlwaysOff The scroll bar is never shown.
- \value ScrollBar.AlwaysOn The scroll bar is always shown.
-
- The following example keeps the vertical scroll bar always visible:
-
- \snippet qtquickcontrols2-scrollbar-policy.qml 1
-*/
-QQuickScrollBar::Policy QQuickScrollBar::policy() const
-{
- Q_D(const QQuickScrollBar);
- return d->policy;
-}
-
-void QQuickScrollBar::setPolicy(Policy policy)
-{
- Q_D(QQuickScrollBar);
- if (d->policy == policy)
- return;
-
- d->policy = policy;
- emit policyChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::ScrollBar::horizontal
- \readonly
-
- This property holds whether the scroll bar is horizontal.
-
- \sa orientation
-*/
-bool QQuickScrollBar::isHorizontal() const
-{
- Q_D(const QQuickScrollBar);
- return d->orientation == Qt::Horizontal;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::ScrollBar::vertical
- \readonly
-
- This property holds whether the scroll bar is vertical.
-
- \sa orientation
-*/
-bool QQuickScrollBar::isVertical() const
-{
- Q_D(const QQuickScrollBar);
- return d->orientation == Qt::Vertical;
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::ScrollBar::minimumSize
-
- This property holds the minimum size of the scroll bar, scaled to \c {0.0 - 1.0}.
-
- \sa size, visualSize, visualPosition
-*/
-qreal QQuickScrollBar::minimumSize() const
-{
- Q_D(const QQuickScrollBar);
- return d->minimumSize;
-}
-
-void QQuickScrollBar::setMinimumSize(qreal minimumSize)
-{
- Q_D(QQuickScrollBar);
- if (qFuzzyCompare(d->minimumSize, minimumSize))
- return;
-
- auto oldVisualArea = d->visualArea();
- d->minimumSize = minimumSize;
- if (isComponentComplete())
- d->resizeContent();
- emit minimumSizeChanged();
- d->visualAreaChange(d->visualArea(), oldVisualArea);
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::ScrollBar::visualSize
-
- This property holds the effective visual size of the scroll bar,
- which may be limited by the \l {minimumSize}{minimum size}.
-
- \sa size, minimumSize
-*/
-qreal QQuickScrollBar::visualSize() const
-{
- Q_D(const QQuickScrollBar);
- return d->visualArea().size;
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::ScrollBar::visualPosition
-
- This property holds the effective visual position of the scroll bar,
- which may be limited by the \l {minimumSize}{minimum size}.
-
- \sa position, minimumSize
-*/
-qreal QQuickScrollBar::visualPosition() const
-{
- Q_D(const QQuickScrollBar);
- return d->visualArea().position;
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ScrollBar::increase()
-
- Increases the position by \l stepSize or \c 0.1 if stepSize is \c 0.0.
-
- \sa stepSize
-*/
-void QQuickScrollBar::increase()
-{
- Q_D(QQuickScrollBar);
- qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- bool wasActive = d->active;
- setActive(true);
- setPosition(qMin<qreal>(1.0 - d->size, d->position + step));
- setActive(wasActive);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::ScrollBar::decrease()
-
- Decreases the position by \l stepSize or \c 0.1 if stepSize is \c 0.0.
-
- \sa stepSize
-*/
-void QQuickScrollBar::decrease()
-{
- Q_D(QQuickScrollBar);
- qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- bool wasActive = d->active;
- setActive(true);
- setPosition(qMax<qreal>(0.0, d->position - step));
- setActive(wasActive);
-}
-
-void QQuickScrollBar::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickScrollBar);
- QQuickControl::mousePressEvent(event);
- d->handleMove(event->localPos());
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickScrollBar::hoverChange()
-{
- Q_D(QQuickScrollBar);
- d->updateActive();
-}
-#endif
-
-#if QT_CONFIG(accessibility)
-void QQuickScrollBar::accessibilityActiveChanged(bool active)
-{
- QQuickControl::accessibilityActiveChanged(active);
-
- Q_D(QQuickScrollBar);
- if (active) {
- setAccessibleProperty("pressed", d->pressed);
-
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this)) {
- connect(accessibleAttached, &QQuickAccessibleAttached::increaseAction, this, &QQuickScrollBar::increase);
- connect(accessibleAttached, &QQuickAccessibleAttached::decreaseAction, this, &QQuickScrollBar::decrease);
- }
- } else {
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this)) {
- disconnect(accessibleAttached, &QQuickAccessibleAttached::increaseAction, this, &QQuickScrollBar::increase);
- disconnect(accessibleAttached, &QQuickAccessibleAttached::decreaseAction, this, &QQuickScrollBar::decrease);
- }
- }
-}
-
-QAccessible::Role QQuickScrollBar::accessibleRole() const
-{
- return QAccessible::ScrollBar;
-}
-#endif
-
-void QQuickScrollBarAttachedPrivate::setFlickable(QQuickFlickable *item)
-{
- if (flickable) {
- // NOTE: Use removeItemChangeListener(Geometry) instead of updateOrRemoveGeometryChangeListener(Size).
- // The latter doesn't remove the listener but only resets its types. Thus, it leaves behind a dangling
- // pointer on destruction.
- QQuickItemPrivate::get(flickable)->removeItemChangeListener(this, QQuickItemPrivate::Geometry);
- if (horizontal)
- cleanupHorizontal();
- if (vertical)
- cleanupVertical();
- }
-
- flickable = item;
-
- if (item) {
- QQuickItemPrivate::get(item)->updateOrAddGeometryChangeListener(this, QQuickGeometryChange::Size);
- if (horizontal)
- initHorizontal();
- if (vertical)
- initVertical();
- }
-}
-
-void QQuickScrollBarAttachedPrivate::initHorizontal()
-{
- Q_ASSERT(flickable && horizontal);
-
- connect(flickable, &QQuickFlickable::movingHorizontallyChanged, this, &QQuickScrollBarAttachedPrivate::activateHorizontal);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = flickable->property("visibleArea").value<QObject *>();
- QObject::connect(area, SIGNAL(widthRatioChanged(qreal)), horizontal, SLOT(setSize(qreal)));
- QObject::connect(area, SIGNAL(xPositionChanged(qreal)), horizontal, SLOT(setPosition(qreal)));
-
- // ensure that the ScrollBar is stacked above the Flickable in a ScrollView
- QQuickItem *parent = horizontal->parentItem();
- if (parent && parent == flickable->parentItem())
- horizontal->stackAfter(flickable);
-
- layoutHorizontal();
- horizontal->setSize(area->property("widthRatio").toReal());
- horizontal->setPosition(area->property("xPosition").toReal());
-}
-
-void QQuickScrollBarAttachedPrivate::initVertical()
-{
- Q_ASSERT(flickable && vertical);
-
- connect(flickable, &QQuickFlickable::movingVerticallyChanged, this, &QQuickScrollBarAttachedPrivate::activateVertical);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = flickable->property("visibleArea").value<QObject *>();
- QObject::connect(area, SIGNAL(heightRatioChanged(qreal)), vertical, SLOT(setSize(qreal)));
- QObject::connect(area, SIGNAL(yPositionChanged(qreal)), vertical, SLOT(setPosition(qreal)));
-
- // ensure that the ScrollBar is stacked above the Flickable in a ScrollView
- QQuickItem *parent = vertical->parentItem();
- if (parent && parent == flickable->parentItem())
- vertical->stackAfter(flickable);
-
- layoutVertical();
- vertical->setSize(area->property("heightRatio").toReal());
- vertical->setPosition(area->property("yPosition").toReal());
-}
-
-void QQuickScrollBarAttachedPrivate::cleanupHorizontal()
-{
- Q_ASSERT(flickable && horizontal);
-
- disconnect(flickable, &QQuickFlickable::movingHorizontallyChanged, this, &QQuickScrollBarAttachedPrivate::activateHorizontal);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = flickable->property("visibleArea").value<QObject *>();
- QObject::disconnect(area, SIGNAL(widthRatioChanged(qreal)), horizontal, SLOT(setSize(qreal)));
- QObject::disconnect(area, SIGNAL(xPositionChanged(qreal)), horizontal, SLOT(setPosition(qreal)));
-}
-
-void QQuickScrollBarAttachedPrivate::cleanupVertical()
-{
- Q_ASSERT(flickable && vertical);
-
- disconnect(flickable, &QQuickFlickable::movingVerticallyChanged, this, &QQuickScrollBarAttachedPrivate::activateVertical);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = flickable->property("visibleArea").value<QObject *>();
- QObject::disconnect(area, SIGNAL(heightRatioChanged(qreal)), vertical, SLOT(setSize(qreal)));
- QObject::disconnect(area, SIGNAL(yPositionChanged(qreal)), vertical, SLOT(setPosition(qreal)));
-}
-
-void QQuickScrollBarAttachedPrivate::activateHorizontal()
-{
- QQuickScrollBarPrivate *p = QQuickScrollBarPrivate::get(horizontal);
- p->moving = flickable->isMovingHorizontally();
- p->updateActive();
-}
-
-void QQuickScrollBarAttachedPrivate::activateVertical()
-{
- QQuickScrollBarPrivate *p = QQuickScrollBarPrivate::get(vertical);
- p->moving = flickable->isMovingVertically();
- p->updateActive();
-}
-
-// TODO: QQuickFlickable::maxXYExtent()
-class QQuickFriendlyFlickable : public QQuickFlickable
-{
- friend class QQuickScrollBarAttachedPrivate;
-};
-
-void QQuickScrollBarAttachedPrivate::scrollHorizontal()
-{
- QQuickFriendlyFlickable *f = reinterpret_cast<QQuickFriendlyFlickable *>(flickable);
-
- const qreal viewwidth = f->width();
- const qreal maxxextent = -f->maxXExtent() + f->minXExtent();
- const qreal cx = horizontal->position() * (maxxextent + viewwidth) - f->minXExtent();
-
- if (!qIsNaN(cx) && !qFuzzyCompare(cx, flickable->contentX()))
- flickable->setContentX(cx);
-}
-
-void QQuickScrollBarAttachedPrivate::scrollVertical()
-{
- QQuickFriendlyFlickable *f = reinterpret_cast<QQuickFriendlyFlickable *>(flickable);
-
- const qreal viewheight = f->height();
- const qreal maxyextent = -f->maxYExtent() + f->minYExtent();
- const qreal cy = vertical->position() * (maxyextent + viewheight) - f->minYExtent();
-
- if (!qIsNaN(cy) && !qFuzzyCompare(cy, flickable->contentY()))
- flickable->setContentY(cy);
-}
-
-void QQuickScrollBarAttachedPrivate::mirrorVertical()
-{
- layoutVertical(true);
-}
-
-void QQuickScrollBarAttachedPrivate::layoutHorizontal(bool move)
-{
- Q_ASSERT(horizontal && flickable);
- if (horizontal->parentItem() != flickable)
- return;
- horizontal->setWidth(flickable->width());
- if (move)
- horizontal->setY(flickable->height() - horizontal->height());
-}
-
-void QQuickScrollBarAttachedPrivate::layoutVertical(bool move)
-{
- Q_ASSERT(vertical && flickable);
- if (vertical->parentItem() != flickable)
- return;
- vertical->setHeight(flickable->height());
- if (move)
- vertical->setX(vertical->isMirrored() ? 0 : flickable->width() - vertical->width());
-}
-
-void QQuickScrollBarAttachedPrivate::itemGeometryChanged(QQuickItem *item, const QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(item);
- Q_UNUSED(change);
- if (horizontal && horizontal->height() > 0) {
-#ifdef QT_QUICK_NEW_GEOMETRY_CHANGED_HANDLING // TODO: correct/rename diff to oldGeometry
- bool move = qFuzzyIsNull(horizontal->y()) || qFuzzyCompare(horizontal->y(), diff.height() - horizontal->height());
-#else
- bool move = qFuzzyIsNull(horizontal->y()) || qFuzzyCompare(horizontal->y(), item->height() - diff.height() - horizontal->height());
-#endif
- if (flickable)
- layoutHorizontal(move);
- }
- if (vertical && vertical->width() > 0) {
-#ifdef QT_QUICK_NEW_GEOMETRY_CHANGED_HANDLING // TODO: correct/rename diff to oldGeometry
- bool move = qFuzzyIsNull(vertical->x()) || qFuzzyCompare(vertical->x(), diff.width() - vertical->width());
-#else
- bool move = qFuzzyIsNull(vertical->x()) || qFuzzyCompare(vertical->x(), item->width() - diff.width() - vertical->width());
-#endif
- if (flickable)
- layoutVertical(move);
- }
-}
-
-void QQuickScrollBarAttachedPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- if (item == vertical && flickable)
- layoutVertical(true);
-}
-
-void QQuickScrollBarAttachedPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- if (item == horizontal && flickable)
- layoutHorizontal(true);
-}
-
-void QQuickScrollBarAttachedPrivate::itemDestroyed(QQuickItem *item)
-{
- if (item == horizontal)
- horizontal = nullptr;
- if (item == vertical)
- vertical = nullptr;
-}
-
-QQuickScrollBarAttached::QQuickScrollBarAttached(QObject *parent)
- : QObject(*(new QQuickScrollBarAttachedPrivate), parent)
-{
- Q_D(QQuickScrollBarAttached);
- d->setFlickable(qobject_cast<QQuickFlickable *>(parent));
-
- if (parent && !d->flickable && !qobject_cast<QQuickScrollView *>(parent))
- qmlWarning(parent) << "ScrollBar must be attached to a Flickable or ScrollView";
-}
-
-QQuickScrollBarAttached::~QQuickScrollBarAttached()
-{
- Q_D(QQuickScrollBarAttached);
- if (d->horizontal) {
- QQuickItemPrivate::get(d->horizontal)->removeItemChangeListener(d, horizontalChangeTypes);
- d->horizontal = nullptr;
- }
- if (d->vertical) {
- QQuickItemPrivate::get(d->vertical)->removeItemChangeListener(d, verticalChangeTypes);
- d->vertical = nullptr;
- }
- d->setFlickable(nullptr);
-}
-
-/*!
- \qmlattachedproperty ScrollBar QtQuick.Controls::ScrollBar::horizontal
-
- This property attaches a horizontal scroll bar to a \l Flickable.
-
- \code
- Flickable {
- contentWidth: 2000
- ScrollBar.horizontal: ScrollBar { }
- }
- \endcode
-
- \sa {Attaching ScrollBar to a Flickable}
-*/
-QQuickScrollBar *QQuickScrollBarAttached::horizontal() const
-{
- Q_D(const QQuickScrollBarAttached);
- return d->horizontal;
-}
-
-void QQuickScrollBarAttached::setHorizontal(QQuickScrollBar *horizontal)
-{
- Q_D(QQuickScrollBarAttached);
- if (d->horizontal == horizontal)
- return;
-
- if (d->horizontal) {
- QQuickItemPrivate::get(d->horizontal)->removeItemChangeListener(d, horizontalChangeTypes);
- QObjectPrivate::disconnect(d->horizontal, &QQuickScrollBar::positionChanged, d, &QQuickScrollBarAttachedPrivate::scrollHorizontal);
-
- if (d->flickable)
- d->cleanupHorizontal();
- }
-
- d->horizontal = horizontal;
-
- if (horizontal) {
- if (!horizontal->parentItem())
- horizontal->setParentItem(qobject_cast<QQuickItem *>(parent()));
- horizontal->setOrientation(Qt::Horizontal);
-
- QQuickItemPrivate::get(horizontal)->addItemChangeListener(d, horizontalChangeTypes);
- QObjectPrivate::connect(horizontal, &QQuickScrollBar::positionChanged, d, &QQuickScrollBarAttachedPrivate::scrollHorizontal);
-
- if (d->flickable)
- d->initHorizontal();
- }
- emit horizontalChanged();
-}
-
-/*!
- \qmlattachedproperty ScrollBar QtQuick.Controls::ScrollBar::vertical
-
- This property attaches a vertical scroll bar to a \l Flickable.
-
- \code
- Flickable {
- contentHeight: 2000
- ScrollBar.vertical: ScrollBar { }
- }
- \endcode
-
- \sa {Attaching ScrollBar to a Flickable}
-*/
-QQuickScrollBar *QQuickScrollBarAttached::vertical() const
-{
- Q_D(const QQuickScrollBarAttached);
- return d->vertical;
-}
-
-void QQuickScrollBarAttached::setVertical(QQuickScrollBar *vertical)
-{
- Q_D(QQuickScrollBarAttached);
- if (d->vertical == vertical)
- return;
-
- if (d->vertical) {
- QQuickItemPrivate::get(d->vertical)->removeItemChangeListener(d, verticalChangeTypes);
- QObjectPrivate::disconnect(d->vertical, &QQuickScrollBar::mirroredChanged, d, &QQuickScrollBarAttachedPrivate::mirrorVertical);
- QObjectPrivate::disconnect(d->vertical, &QQuickScrollBar::positionChanged, d, &QQuickScrollBarAttachedPrivate::scrollVertical);
-
- if (d->flickable)
- d->cleanupVertical();
- }
-
- d->vertical = vertical;
-
- if (vertical) {
- if (!vertical->parentItem())
- vertical->setParentItem(qobject_cast<QQuickItem *>(parent()));
- vertical->setOrientation(Qt::Vertical);
-
- QQuickItemPrivate::get(vertical)->addItemChangeListener(d, verticalChangeTypes);
- QObjectPrivate::connect(vertical, &QQuickScrollBar::mirroredChanged, d, &QQuickScrollBarAttachedPrivate::mirrorVertical);
- QObjectPrivate::connect(vertical, &QQuickScrollBar::positionChanged, d, &QQuickScrollBarAttachedPrivate::scrollVertical);
-
- if (d->flickable)
- d->initVertical();
- }
- emit verticalChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickscrollbar_p.h b/src/quicktemplates2/qquickscrollbar_p.h
deleted file mode 100644
index 5fad8240..00000000
--- a/src/quicktemplates2/qquickscrollbar_p.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSCROLLBAR_P_H
-#define QQUICKSCROLLBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickScrollBarAttached;
-class QQuickScrollBarPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickScrollBar : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal size READ size WRITE setSize NOTIFY sizeChanged FINAL)
- Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal stepSize READ stepSize WRITE setStepSize NOTIFY stepSizeChanged FINAL)
- Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed NOTIFY pressedChanged FINAL)
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged FINAL REVISION 2)
- Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive RESET resetInteractive NOTIFY interactiveChanged FINAL REVISION 2)
- Q_PROPERTY(Policy policy READ policy WRITE setPolicy NOTIFY policyChanged FINAL REVISION 2)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool horizontal READ isHorizontal NOTIFY orientationChanged FINAL REVISION 3)
- Q_PROPERTY(bool vertical READ isVertical NOTIFY orientationChanged FINAL REVISION 3)
- // 2.4 (Qt 5.11)
- Q_PROPERTY(qreal minimumSize READ minimumSize WRITE setMinimumSize NOTIFY minimumSizeChanged FINAL REVISION 4)
- Q_PROPERTY(qreal visualSize READ visualSize NOTIFY visualSizeChanged FINAL REVISION 4)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL REVISION 4)
-
-public:
- explicit QQuickScrollBar(QQuickItem *parent = nullptr);
-
- static QQuickScrollBarAttached *qmlAttachedProperties(QObject *object);
-
- qreal size() const;
- qreal position() const;
-
- qreal stepSize() const;
- void setStepSize(qreal step);
-
- bool isActive() const;
- void setActive(bool active);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- // 2.2 (Qt 5.9)
- enum SnapMode {
- NoSnap,
- SnapAlways,
- SnapOnRelease
- };
- Q_ENUM(SnapMode)
-
- SnapMode snapMode() const;
- void setSnapMode(SnapMode mode);
-
- bool isInteractive() const;
- void setInteractive(bool interactive);
- void resetInteractive();
-
- enum Policy {
- AsNeeded = Qt::ScrollBarAsNeeded,
- AlwaysOff = Qt::ScrollBarAlwaysOff,
- AlwaysOn = Qt::ScrollBarAlwaysOn
- };
- Q_ENUM(Policy)
-
- Policy policy() const;
- void setPolicy(Policy policy);
-
- // 2.3 (Qt 5.10)
- bool isHorizontal() const;
- bool isVertical() const;
-
- // 2.4 (Qt 5.11)
- qreal minimumSize() const;
- void setMinimumSize(qreal minimumSize);
-
- qreal visualSize() const;
- qreal visualPosition() const;
-
-public Q_SLOTS:
- void increase();
- void decrease();
- void setSize(qreal size);
- void setPosition(qreal position);
-
-Q_SIGNALS:
- void sizeChanged();
- void positionChanged();
- void stepSizeChanged();
- void activeChanged();
- void pressedChanged();
- void orientationChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void snapModeChanged();
- Q_REVISION(2) void interactiveChanged();
- Q_REVISION(2) void policyChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void minimumSizeChanged();
- Q_REVISION(4) void visualSizeChanged();
- Q_REVISION(4) void visualPositionChanged();
-
-protected:
- void mousePressEvent(QMouseEvent *event) override;
-
-#if QT_CONFIG(quicktemplates2_hover)
- void hoverChange() override;
-#endif
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickScrollBar)
- Q_DECLARE_PRIVATE(QQuickScrollBar)
-};
-
-class QQuickScrollBarAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickScrollBarAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickScrollBar *horizontal READ horizontal WRITE setHorizontal NOTIFY horizontalChanged FINAL)
- Q_PROPERTY(QQuickScrollBar *vertical READ vertical WRITE setVertical NOTIFY verticalChanged FINAL)
-
-public:
- explicit QQuickScrollBarAttached(QObject *parent = nullptr);
- ~QQuickScrollBarAttached();
-
- QQuickScrollBar *horizontal() const;
- void setHorizontal(QQuickScrollBar *horizontal);
-
- QQuickScrollBar *vertical() const;
- void setVertical(QQuickScrollBar *vertical);
-
-Q_SIGNALS:
- void horizontalChanged();
- void verticalChanged();
-
-private:
- Q_DISABLE_COPY(QQuickScrollBarAttached)
- Q_DECLARE_PRIVATE(QQuickScrollBarAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickScrollBar)
-QML_DECLARE_TYPEINFO(QQuickScrollBar, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKSCROLLBAR_P_H
diff --git a/src/quicktemplates2/qquickscrollbar_p_p.h b/src/quicktemplates2/qquickscrollbar_p_p.h
deleted file mode 100644
index 5c7628b9..00000000
--- a/src/quicktemplates2/qquickscrollbar_p_p.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSCROLLBAR_P_P_H
-#define QQUICKSCROLLBAR_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickscrollbar_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFlickable;
-
-class QQuickScrollBarPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickScrollBar)
-
-public:
- static QQuickScrollBarPrivate *get(QQuickScrollBar *bar)
- {
- return bar->d_func();
- }
-
- struct VisualArea
- {
- VisualArea(qreal pos, qreal sz)
- : position(pos), size(sz) { }
- qreal position = 0;
- qreal size = 0;
- };
- VisualArea visualArea() const;
-
- qreal logicalPosition(qreal position) const;
-
- qreal snapPosition(qreal position) const;
- qreal positionAt(const QPointF &point) const;
- void setInteractive(bool interactive);
- void updateActive();
- void resizeContent() override;
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- void visualAreaChange(const VisualArea &newVisualArea, const VisualArea &oldVisualArea);
-
- qreal size = 0;
- qreal position = 0;
- qreal stepSize = 0;
- qreal offset = 0;
- qreal minimumSize = 0;
- bool active = false;
- bool pressed = false;
- bool moving = false;
- bool interactive = true;
- bool explicitInteractive = false;
- Qt::Orientation orientation = Qt::Vertical;
- QQuickScrollBar::SnapMode snapMode = QQuickScrollBar::NoSnap;
- QQuickScrollBar::Policy policy = QQuickScrollBar::AsNeeded;
-};
-
-class QQuickScrollBarAttachedPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
-public:
- static QQuickScrollBarAttachedPrivate *get(QQuickScrollBarAttached *attached)
- {
- return attached->d_func();
- }
-
- void setFlickable(QQuickFlickable *flickable);
-
- void initHorizontal();
- void initVertical();
- void cleanupHorizontal();
- void cleanupVertical();
- void activateHorizontal();
- void activateVertical();
- void scrollHorizontal();
- void scrollVertical();
- void mirrorVertical();
-
- void layoutHorizontal(bool move = true);
- void layoutVertical(bool move = true);
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemDestroyed(QQuickItem *item) override;
-
- QQuickFlickable *flickable = nullptr;
- QQuickScrollBar *horizontal = nullptr;
- QQuickScrollBar *vertical = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSCROLLBAR_P_P_H
diff --git a/src/quicktemplates2/qquickscrollindicator.cpp b/src/quicktemplates2/qquickscrollindicator.cpp
deleted file mode 100644
index 1e411bce..00000000
--- a/src/quicktemplates2/qquickscrollindicator.cpp
+++ /dev/null
@@ -1,665 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickscrollindicator_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickflickable_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ScrollIndicator
- \inherits Control
- \instantiates QQuickScrollIndicator
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-indicators
- \brief Vertical or horizontal non-interactive scroll indicator.
-
- \image qtquickcontrols2-scrollindicator.gif
-
- ScrollIndicator is a non-interactive indicator that indicates the current scroll
- position. A scroll indicator can be either \l vertical or \l horizontal, and can
- be attached to any \l Flickable, such as \l ListView and \l GridView.
-
- \code
- Flickable {
- // ...
- ScrollIndicator.vertical: ScrollIndicator { }
- }
- \endcode
-
- \section1 Attaching ScrollIndicator to a Flickable
-
- \note When ScrollIndicator is attached \l {ScrollIndicator::vertical}{vertically}
- or \l {ScrollIndicator::horizontal}{horizontally} to a Flickable, its geometry and
- the following properties are automatically set and updated as appropriate:
-
- \list
- \li \l orientation
- \li \l position
- \li \l size
- \li \l active
- \endlist
-
- An attached ScrollIndicator re-parents itself to the target Flickable. A vertically
- attached ScrollIndicator resizes itself to the height of the Flickable, and positions
- itself to either side of it based on the \l {Control::mirrored}{layout direction}.
- A horizontally attached ScrollIndicator resizes itself to the width of the Flickable,
- and positions itself to the bottom. The automatic geometry management can be disabled
- by specifying another parent for the attached ScrollIndicator. This can be useful, for
- example, if the ScrollIndicator should be placed outside a clipping Flickable. This is
- demonstrated by the following example:
-
- \code
- Flickable {
- id: flickable
- clip: true
- // ...
- ScrollIndicator.vertical: ScrollIndicator {
- parent: flickable.parent
- anchors.top: flickable.top
- anchors.left: flickable.right
- anchors.bottom: flickable.bottom
- }
- }
- \endcode
-
- \section1 Binding the Active State of Horizontal and Vertical Scroll Indicators
-
- Horizontal and vertical scroll indicators do not share the \l active state with
- each other by default. In order to keep both indicators visible whilst scrolling
- to either direction, establish a two-way binding between the active states as
- presented by the following example:
-
- \snippet qtquickcontrols2-scrollindicator-active.qml 1
-
- \section1 Non-attached Scroll Indicators
-
- It is possible to create an instance of ScrollIndicator without using the
- attached property API. This is useful when the behavior of the attached
- scoll indicator is not sufficient or a \l Flickable is not in use. In the
- following example, horizontal and vertical scroll indicators are used to
- indicate how far the user has scrolled over the text (using \l MouseArea
- instead of \l Flickable):
-
- \snippet qtquickcontrols2-scrollindicator-non-attached.qml 1
-
- \image qtquickcontrols2-scrollindicator-non-attached.png
-
- \sa ScrollBar, {Customizing ScrollIndicator}, {Indicator Controls}
-*/
-
-static const QQuickItemPrivate::ChangeTypes changeTypes = QQuickItemPrivate::Geometry | QQuickItemPrivate::Destroyed;
-static const QQuickItemPrivate::ChangeTypes horizontalChangeTypes = changeTypes | QQuickItemPrivate::ImplicitHeight;
-static const QQuickItemPrivate::ChangeTypes verticalChangeTypes = changeTypes | QQuickItemPrivate::ImplicitWidth;
-
-class QQuickScrollIndicatorPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickScrollIndicator)
-
-public:
- struct VisualArea
- {
- VisualArea(qreal pos, qreal sz)
- : position(pos), size(sz) { }
- qreal position = 0;
- qreal size = 0;
- };
- VisualArea visualArea() const;
- void visualAreaChange(const VisualArea &newVisualArea, const VisualArea &oldVisualArea);
-
- void resizeContent() override;
-
- qreal size = 0;
- qreal minimumSize = 0;
- qreal position = 0;
- bool active = false;
- Qt::Orientation orientation = Qt::Vertical;
-};
-
-QQuickScrollIndicatorPrivate::VisualArea QQuickScrollIndicatorPrivate::visualArea() const
-{
- qreal visualPos = position;
- if (minimumSize > size)
- visualPos = position / (1.0 - size) * (1.0 - minimumSize);
-
- qreal visualSize = qBound<qreal>(0, qMax(size, minimumSize) + qMin<qreal>(0, visualPos), 1.0 - visualPos);
-
- visualPos = qBound<qreal>(0, visualPos, 1.0 - visualSize);
-
- return VisualArea(visualPos, visualSize);
-}
-
-void QQuickScrollIndicatorPrivate::visualAreaChange(const VisualArea &newVisualArea, const VisualArea &oldVisualArea)
-{
- Q_Q(QQuickScrollIndicator);
- if (!qFuzzyCompare(newVisualArea.size, oldVisualArea.size))
- emit q->visualSizeChanged();
- if (!qFuzzyCompare(newVisualArea.position, oldVisualArea.position))
- emit q->visualPositionChanged();
-}
-
-void QQuickScrollIndicatorPrivate::resizeContent()
-{
- Q_Q(QQuickScrollIndicator);
- if (!contentItem)
- return;
-
- // - negative overshoot (pos < 0): clamp the pos to 0, and deduct the overshoot from the size
- // - positive overshoot (pos + size > 1): clamp the size to 1-pos
- const VisualArea visual = visualArea();
-
- if (orientation == Qt::Horizontal) {
- contentItem->setPosition(QPointF(q->leftPadding() + visual.position * q->availableWidth(), q->topPadding()));
- contentItem->setSize(QSizeF(q->availableWidth() * visual.size, q->availableHeight()));
- } else {
- contentItem->setPosition(QPointF(q->leftPadding(), q->topPadding() + visual.position * q->availableHeight()));
- contentItem->setSize(QSizeF(q->availableWidth(), q->availableHeight() * visual.size));
- }
-}
-
-QQuickScrollIndicator::QQuickScrollIndicator(QQuickItem *parent)
- : QQuickControl(*(new QQuickScrollIndicatorPrivate), parent)
-{
-}
-
-QQuickScrollIndicatorAttached *QQuickScrollIndicator::qmlAttachedProperties(QObject *object)
-{
- return new QQuickScrollIndicatorAttached(object);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ScrollIndicator::size
-
- This property holds the size of the indicator, scaled to \c {0.0 - 1.0}.
-
- \sa {Flickable::visibleArea.heightRatio}{Flickable::visibleArea}
-
- This property is automatically set when the scroll indicator is
- \l {Attaching ScrollIndicator to a Flickable}{attached to a flickable}.
-
- \sa minimumSize, visualSize
-*/
-qreal QQuickScrollIndicator::size() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->size;
-}
-
-void QQuickScrollIndicator::setSize(qreal size)
-{
- Q_D(QQuickScrollIndicator);
- if (qFuzzyCompare(d->size, size))
- return;
-
- auto oldVisualArea = d->visualArea();
- d->size = size;
- if (isComponentComplete())
- d->resizeContent();
- emit sizeChanged();
- d->visualAreaChange(d->visualArea(), oldVisualArea);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::ScrollIndicator::position
-
- This property holds the position of the indicator, scaled to \c {0.0 - 1.0}.
-
- This property is automatically set when the scroll indicator is
- \l {Attaching ScrollIndicator to a Flickable}{attached to a flickable}.
-
- \sa {Flickable::visibleArea.yPosition}{Flickable::visibleArea}, visualPosition
-*/
-qreal QQuickScrollIndicator::position() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->position;
-}
-
-void QQuickScrollIndicator::setPosition(qreal position)
-{
- Q_D(QQuickScrollIndicator);
- if (qFuzzyCompare(d->position, position))
- return;
-
- auto oldVisualArea = d->visualArea();
- d->position = position;
- if (isComponentComplete())
- d->resizeContent();
- emit positionChanged();
- d->visualAreaChange(d->visualArea(), oldVisualArea);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::ScrollIndicator::active
-
- This property holds whether the indicator is active, that is, when the
- attached Flickable is \l {Flickable::moving}{moving}.
-
- It is possible to keep \l {Binding the Active State of Horizontal and Vertical Scroll Indicators}
- {both horizontal and vertical indicators visible} while scrolling in either direction.
-
- This property is automatically set when the scroll indicator is
- \l {Attaching ScrollIndicator to a Flickable}{attached to a flickable}.
-*/
-bool QQuickScrollIndicator::isActive() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->active;
-}
-
-void QQuickScrollIndicator::setActive(bool active)
-{
- Q_D(QQuickScrollIndicator);
- if (d->active == active)
- return;
-
- d->active = active;
- emit activeChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::ScrollIndicator::orientation
-
- This property holds the orientation of the indicator.
-
- Possible values:
- \value Qt.Horizontal Horizontal
- \value Qt.Vertical Vertical (default)
-
- This property is automatically set when the scroll indicator is
- \l {Attaching ScrollIndicator to a Flickable}{attached to a flickable}.
-
- \sa horizontal, vertical
-*/
-Qt::Orientation QQuickScrollIndicator::orientation() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->orientation;
-}
-
-void QQuickScrollIndicator::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickScrollIndicator);
- if (d->orientation == orientation)
- return;
-
- d->orientation = orientation;
- if (isComponentComplete())
- d->resizeContent();
- emit orientationChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::ScrollIndicator::horizontal
- \readonly
-
- This property holds whether the scroll indicator is horizontal.
-
- \sa orientation
-*/
-bool QQuickScrollIndicator::isHorizontal() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->orientation == Qt::Horizontal;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::ScrollIndicator::vertical
- \readonly
-
- This property holds whether the scroll indicator is vertical.
-
- \sa orientation
-*/
-bool QQuickScrollIndicator::isVertical() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->orientation == Qt::Vertical;
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::ScrollIndicator::minimumSize
-
- This property holds the minimum size of the indicator, scaled to \c {0.0 - 1.0}.
-
- \sa size, visualSize, visualPosition
-*/
-qreal QQuickScrollIndicator::minimumSize() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->minimumSize;
-}
-
-void QQuickScrollIndicator::setMinimumSize(qreal minimumSize)
-{
- Q_D(QQuickScrollIndicator);
- if (qFuzzyCompare(d->minimumSize, minimumSize))
- return;
-
- auto oldVisualArea = d->visualArea();
- d->minimumSize = minimumSize;
- if (isComponentComplete())
- d->resizeContent();
- emit minimumSizeChanged();
- d->visualAreaChange(d->visualArea(), oldVisualArea);
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::ScrollIndicator::visualSize
-
- This property holds the effective visual size of the indicator,
- which may be limited by the \l {minimumSize}{minimum size}.
-
- \sa size, minimumSize
-*/
-qreal QQuickScrollIndicator::visualSize() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->visualArea().size;
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty real QtQuick.Controls::ScrollIndicator::visualPosition
-
- This property holds the effective visual position of the indicator,
- which may be limited by the \l {minimumSize}{minimum size}.
-
- \sa position, minimumSize
-*/
-qreal QQuickScrollIndicator::visualPosition() const
-{
- Q_D(const QQuickScrollIndicator);
- return d->visualArea().position;
-}
-
-class QQuickScrollIndicatorAttachedPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
-public:
- void activateHorizontal();
- void activateVertical();
-
- void layoutHorizontal(bool move = true);
- void layoutVertical(bool move = true);
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemDestroyed(QQuickItem *item) override;
-
- QQuickFlickable *flickable = nullptr;
- QQuickScrollIndicator *horizontal = nullptr;
- QQuickScrollIndicator *vertical = nullptr;
-};
-
-void QQuickScrollIndicatorAttachedPrivate::activateHorizontal()
-{
- horizontal->setActive(flickable->isMovingHorizontally());
-}
-
-void QQuickScrollIndicatorAttachedPrivate::activateVertical()
-{
- vertical->setActive(flickable->isMovingVertically());
-}
-
-void QQuickScrollIndicatorAttachedPrivate::layoutHorizontal(bool move)
-{
- Q_ASSERT(horizontal && flickable);
- if (horizontal->parentItem() != flickable)
- return;
- horizontal->setWidth(flickable->width());
- if (move)
- horizontal->setY(flickable->height() - horizontal->height());
-}
-
-void QQuickScrollIndicatorAttachedPrivate::layoutVertical(bool move)
-{
- Q_ASSERT(vertical && flickable);
- if (vertical->parentItem() != flickable)
- return;
- vertical->setHeight(flickable->height());
- if (move && !QQuickItemPrivate::get(vertical)->isMirrored())
- vertical->setX(flickable->width() - vertical->width());
-}
-
-void QQuickScrollIndicatorAttachedPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(item);
- Q_UNUSED(change);
- if (horizontal && horizontal->height() > 0) {
-#ifdef QT_QUICK_NEW_GEOMETRY_CHANGED_HANDLING // TODO: correct/rename diff to oldGeometry
- bool move = qFuzzyIsNull(horizontal->y()) || qFuzzyCompare(horizontal->y(), diff.height() - horizontal->height());
-#else
- bool move = qFuzzyIsNull(horizontal->y()) || qFuzzyCompare(horizontal->y(), item->height() - diff.height() - horizontal->height());
-#endif
- layoutHorizontal(move);
- }
- if (vertical && vertical->width() > 0) {
-#ifdef QT_QUICK_NEW_GEOMETRY_CHANGED_HANDLING // TODO: correct/rename diff to oldGeometry
- bool move = qFuzzyIsNull(vertical->x()) || qFuzzyCompare(vertical->x(), diff.width() - vertical->width());
-#else
- bool move = qFuzzyIsNull(vertical->x()) || qFuzzyCompare(vertical->x(), item->width() - diff.width() - vertical->width());
-#endif
- layoutVertical(move);
- }
-}
-
-void QQuickScrollIndicatorAttachedPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- if (item == vertical)
- layoutVertical(true);
-}
-
-void QQuickScrollIndicatorAttachedPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- if (item == horizontal)
- layoutHorizontal(true);
-}
-
-void QQuickScrollIndicatorAttachedPrivate::itemDestroyed(QQuickItem *item)
-{
- if (item == horizontal)
- horizontal = nullptr;
- if (item == vertical)
- vertical = nullptr;
-}
-
-QQuickScrollIndicatorAttached::QQuickScrollIndicatorAttached(QObject *parent)
- : QObject(*(new QQuickScrollIndicatorAttachedPrivate), parent)
-{
- Q_D(QQuickScrollIndicatorAttached);
- d->flickable = qobject_cast<QQuickFlickable *>(parent);
- if (d->flickable)
- QQuickItemPrivate::get(d->flickable)->updateOrAddGeometryChangeListener(d, QQuickGeometryChange::Size);
- else if (parent)
- qmlWarning(parent) << "ScrollIndicator must be attached to a Flickable";
-}
-
-QQuickScrollIndicatorAttached::~QQuickScrollIndicatorAttached()
-{
- Q_D(QQuickScrollIndicatorAttached);
- if (d->flickable) {
- if (d->horizontal)
- QQuickItemPrivate::get(d->horizontal)->removeItemChangeListener(d, horizontalChangeTypes);
- if (d->vertical)
- QQuickItemPrivate::get(d->vertical)->removeItemChangeListener(d,verticalChangeTypes);
- // NOTE: Use removeItemChangeListener(Geometry) instead of updateOrRemoveGeometryChangeListener(Size).
- // The latter doesn't remove the listener but only resets its types. Thus, it leaves behind a dangling
- // pointer on destruction.
- QQuickItemPrivate::get(d->flickable)->removeItemChangeListener(d, QQuickItemPrivate::Geometry);
- }
-}
-
-/*!
- \qmlattachedproperty ScrollIndicator QtQuick.Controls::ScrollIndicator::horizontal
-
- This property attaches a horizontal scroll indicator to a \l Flickable.
-
- \code
- Flickable {
- contentWidth: 2000
- ScrollIndicator.horizontal: ScrollIndicator { }
- }
- \endcode
-
- \sa {Attaching ScrollIndicator to a Flickable}
-*/
-QQuickScrollIndicator *QQuickScrollIndicatorAttached::horizontal() const
-{
- Q_D(const QQuickScrollIndicatorAttached);
- return d->horizontal;
-}
-
-void QQuickScrollIndicatorAttached::setHorizontal(QQuickScrollIndicator *horizontal)
-{
- Q_D(QQuickScrollIndicatorAttached);
- if (d->horizontal == horizontal)
- return;
-
- if (d->horizontal && d->flickable) {
- QQuickItemPrivate::get(d->horizontal)->removeItemChangeListener(d, horizontalChangeTypes);
- QObjectPrivate::disconnect(d->flickable, &QQuickFlickable::movingHorizontallyChanged, d, &QQuickScrollIndicatorAttachedPrivate::activateHorizontal);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = d->flickable->property("visibleArea").value<QObject *>();
- disconnect(area, SIGNAL(widthRatioChanged(qreal)), d->horizontal, SLOT(setSize(qreal)));
- disconnect(area, SIGNAL(xPositionChanged(qreal)), d->horizontal, SLOT(setPosition(qreal)));
- }
-
- d->horizontal = horizontal;
-
- if (horizontal && d->flickable) {
- if (!horizontal->parentItem())
- horizontal->setParentItem(d->flickable);
- horizontal->setOrientation(Qt::Horizontal);
-
- QQuickItemPrivate::get(horizontal)->addItemChangeListener(d, horizontalChangeTypes);
- QObjectPrivate::connect(d->flickable, &QQuickFlickable::movingHorizontallyChanged, d, &QQuickScrollIndicatorAttachedPrivate::activateHorizontal);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = d->flickable->property("visibleArea").value<QObject *>();
- connect(area, SIGNAL(widthRatioChanged(qreal)), horizontal, SLOT(setSize(qreal)));
- connect(area, SIGNAL(xPositionChanged(qreal)), horizontal, SLOT(setPosition(qreal)));
-
- d->layoutHorizontal();
- horizontal->setSize(area->property("widthRatio").toReal());
- horizontal->setPosition(area->property("xPosition").toReal());
- }
- emit horizontalChanged();
-}
-
-/*!
- \qmlattachedproperty ScrollIndicator QtQuick.Controls::ScrollIndicator::vertical
-
- This property attaches a vertical scroll indicator to a \l Flickable.
-
- \code
- Flickable {
- contentHeight: 2000
- ScrollIndicator.vertical: ScrollIndicator { }
- }
- \endcode
-
- \sa {Attaching ScrollIndicator to a Flickable}
-*/
-QQuickScrollIndicator *QQuickScrollIndicatorAttached::vertical() const
-{
- Q_D(const QQuickScrollIndicatorAttached);
- return d->vertical;
-}
-
-void QQuickScrollIndicatorAttached::setVertical(QQuickScrollIndicator *vertical)
-{
- Q_D(QQuickScrollIndicatorAttached);
- if (d->vertical == vertical)
- return;
-
- if (d->vertical && d->flickable) {
- QQuickItemPrivate::get(d->vertical)->removeItemChangeListener(d, verticalChangeTypes);
- QObjectPrivate::disconnect(d->flickable, &QQuickFlickable::movingVerticallyChanged, d, &QQuickScrollIndicatorAttachedPrivate::activateVertical);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = d->flickable->property("visibleArea").value<QObject *>();
- disconnect(area, SIGNAL(heightRatioChanged(qreal)), d->vertical, SLOT(setSize(qreal)));
- disconnect(area, SIGNAL(yPositionChanged(qreal)), d->vertical, SLOT(setPosition(qreal)));
- }
-
- d->vertical = vertical;
-
- if (vertical && d->flickable) {
- if (!vertical->parentItem())
- vertical->setParentItem(d->flickable);
- vertical->setOrientation(Qt::Vertical);
-
- QQuickItemPrivate::get(vertical)->addItemChangeListener(d, verticalChangeTypes);
- QObjectPrivate::connect(d->flickable, &QQuickFlickable::movingVerticallyChanged, d, &QQuickScrollIndicatorAttachedPrivate::activateVertical);
-
- // TODO: export QQuickFlickableVisibleArea
- QObject *area = d->flickable->property("visibleArea").value<QObject *>();
- connect(area, SIGNAL(heightRatioChanged(qreal)), vertical, SLOT(setSize(qreal)));
- connect(area, SIGNAL(yPositionChanged(qreal)), vertical, SLOT(setPosition(qreal)));
-
- d->layoutVertical();
- vertical->setSize(area->property("heightRatio").toReal());
- vertical->setPosition(area->property("yPosition").toReal());
- }
- emit verticalChanged();
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickScrollIndicator::touchEvent(QTouchEvent *event)
-{
- event->ignore(); // QTBUG-61785
-}
-#endif
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickScrollIndicator::accessibleRole() const
-{
- return QAccessible::Indicator;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickscrollindicator_p.h b/src/quicktemplates2/qquickscrollindicator_p.h
deleted file mode 100644
index 4fa06a33..00000000
--- a/src/quicktemplates2/qquickscrollindicator_p.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSCROLLINDICATOR_P_H
-#define QQUICKSCROLLINDICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFlickable;
-class QQuickScrollIndicatorAttached;
-class QQuickScrollIndicatorPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickScrollIndicator : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal size READ size WRITE setSize NOTIFY sizeChanged FINAL)
- Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged FINAL)
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool horizontal READ isHorizontal NOTIFY orientationChanged FINAL REVISION 3)
- Q_PROPERTY(bool vertical READ isVertical NOTIFY orientationChanged FINAL REVISION 3)
- // 2.4 (Qt 5.11)
- Q_PROPERTY(qreal minimumSize READ minimumSize WRITE setMinimumSize NOTIFY minimumSizeChanged FINAL REVISION 4)
- Q_PROPERTY(qreal visualSize READ visualSize NOTIFY visualSizeChanged FINAL REVISION 4)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL REVISION 4)
-
-public:
- explicit QQuickScrollIndicator(QQuickItem *parent = nullptr);
-
- static QQuickScrollIndicatorAttached *qmlAttachedProperties(QObject *object);
-
- qreal size() const;
- qreal position() const;
-
- bool isActive() const;
- void setActive(bool active);
-
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- // 2.3 (Qt 5.10)
- bool isHorizontal() const;
- bool isVertical() const;
-
- // 2.4 (Qt 5.11)
- qreal minimumSize() const;
- void setMinimumSize(qreal minimumSize);
-
- qreal visualSize() const;
- qreal visualPosition() const;
-
-public Q_SLOTS:
- void setSize(qreal size);
- void setPosition(qreal position);
-
-Q_SIGNALS:
- void sizeChanged();
- void positionChanged();
- void activeChanged();
- void orientationChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void minimumSizeChanged();
- Q_REVISION(4) void visualSizeChanged();
- Q_REVISION(4) void visualPositionChanged();
-
-protected:
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickScrollIndicator)
- Q_DECLARE_PRIVATE(QQuickScrollIndicator)
-};
-
-class QQuickScrollIndicatorAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickScrollIndicatorAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickScrollIndicator *horizontal READ horizontal WRITE setHorizontal NOTIFY horizontalChanged FINAL)
- Q_PROPERTY(QQuickScrollIndicator *vertical READ vertical WRITE setVertical NOTIFY verticalChanged FINAL)
-
-public:
- explicit QQuickScrollIndicatorAttached(QObject *parent = nullptr);
- ~QQuickScrollIndicatorAttached();
-
- QQuickScrollIndicator *horizontal() const;
- void setHorizontal(QQuickScrollIndicator *horizontal);
-
- QQuickScrollIndicator *vertical() const;
- void setVertical(QQuickScrollIndicator *vertical);
-
-Q_SIGNALS:
- void horizontalChanged();
- void verticalChanged();
-
-private:
- Q_DISABLE_COPY(QQuickScrollIndicatorAttached)
- Q_DECLARE_PRIVATE(QQuickScrollIndicatorAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickScrollIndicator)
-QML_DECLARE_TYPEINFO(QQuickScrollIndicator, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKSCROLLINDICATOR_P_H
diff --git a/src/quicktemplates2/qquickscrollview.cpp b/src/quicktemplates2/qquickscrollview.cpp
deleted file mode 100644
index 70390351..00000000
--- a/src/quicktemplates2/qquickscrollview.cpp
+++ /dev/null
@@ -1,604 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickscrollview_p.h"
-#include "qquickpane_p_p.h"
-#include "qquickscrollbar_p_p.h"
-
-#include <QtQuick/private/qquickflickable_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ScrollView
- \inherits Pane
- \instantiates QQuickScrollView
- \inqmlmodule QtQuick.Controls
- \since 5.9
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Scrollable view.
-
- ScrollView provides scrolling for user-defined content. It can be used to
- either replace a \l Flickable, or to decorate an existing one.
-
- \image qtquickcontrols2-scrollview.png
-
- The first example demonstrates the simplest usage of ScrollView.
-
- \snippet qtquickcontrols2-scrollview.qml file
-
- \note ScrollView does not automatically clip its contents. If it is not used as
- a full-screen item, you should consider setting the \l {Item::}{clip} property
- to \c true, as shown above.
-
- The second example illustrates using an existing \l Flickable, that is,
- a \l ListView.
-
- \snippet qtquickcontrols2-scrollview-listview.qml file
-
- \section2 Sizing
-
- As with Flickable, there are several things to keep in mind when using
- ScrollView:
- \list
- \li If only a single item is used within a ScrollView, the content size is
- automatically calculated based on the implicit size of its contained item.
- However, if more than one item is used (or an implicit size is not
- provided), the \l {QtQuick.Controls::Pane::}{contentWidth} and
- \l {QtQuick.Controls::Pane::}{contentHeight} properties must
- be set to the combined size of its contained items.
- \li If the content size is less than or equal to the size of the ScrollView,
- it will not be flickable.
- \endlist
-
- \section2 Scroll Bars
-
- The horizontal and vertical scroll bars can be accessed and customized using
- the \l {ScrollBar::horizontal}{ScrollBar.horizontal} and \l {ScrollBar::vertical}
- {ScrollBar.vertical} attached properties. The following example adjusts the scroll
- bar policies so that the horizontal scroll bar is always off, and the vertical
- scroll bar is always on.
-
- \snippet qtquickcontrols2-scrollview-policy.qml file
-
- \section2 Touch vs. Mouse Interaction
-
- On touch, ScrollView enables flicking and makes the scroll bars non-interactive.
-
- \image qtquickcontrols2-scrollindicator.gif
-
- When interacted with a mouse device, flicking is disabled and the scroll bars
- are interactive.
-
- \image qtquickcontrols2-scrollbar.gif
-
- Scroll bars can be made interactive on touch, or non-interactive when interacted
- with a mouse device, by setting the \l {ScrollBar::}{interactive} property explicitly
- to \c true or \c false, respectively.
-
- \snippet qtquickcontrols2-scrollview-interactive.qml file
-
- \sa ScrollBar, ScrollIndicator, {Customizing ScrollView}, {Container Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-class QQuickScrollViewPrivate : public QQuickPanePrivate
-{
- Q_DECLARE_PUBLIC(QQuickScrollView)
-
-public:
- QQmlListProperty<QObject> contentData() override;
- QQmlListProperty<QQuickItem> contentChildren() override;
- QList<QQuickItem *> contentChildItems() const override;
-
- QQuickItem *getContentItem() override;
-
- QQuickFlickable *ensureFlickable(bool content);
- bool setFlickable(QQuickFlickable *flickable, bool content);
-
- void flickableContentWidthChanged();
- void flickableContentHeightChanged();
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
-
- QQuickScrollBar *verticalScrollBar() const;
- QQuickScrollBar *horizontalScrollBar() const;
-
- void setScrollBarsInteractive(bool interactive);
-
- static void contentData_append(QQmlListProperty<QObject> *prop, QObject *obj);
- static int contentData_count(QQmlListProperty<QObject> *prop);
- static QObject *contentData_at(QQmlListProperty<QObject> *prop, int index);
- static void contentData_clear(QQmlListProperty<QObject> *prop);
-
- static void contentChildren_append(QQmlListProperty<QQuickItem> *prop, QQuickItem *obj);
- static int contentChildren_count(QQmlListProperty<QQuickItem> *prop);
- static QQuickItem *contentChildren_at(QQmlListProperty<QQuickItem> *prop, int index);
- static void contentChildren_clear(QQmlListProperty<QQuickItem> *prop);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
-
- bool wasTouched = false;
- QQuickFlickable *flickable = nullptr;
- bool flickableHasExplicitContentWidth = true;
- bool flickableHasExplicitContentHeight = true;
-};
-
-QList<QQuickItem *> QQuickScrollViewPrivate::contentChildItems() const
-{
- if (!flickable)
- return QList<QQuickItem *>();
-
- return flickable->contentItem()->childItems();
-}
-
-QQuickItem *QQuickScrollViewPrivate::getContentItem()
-{
- if (!contentItem)
- executeContentItem();
- return ensureFlickable(false);
-}
-
-QQuickFlickable *QQuickScrollViewPrivate::ensureFlickable(bool content)
-{
- Q_Q(QQuickScrollView);
- if (!flickable) {
- flickableHasExplicitContentWidth = false;
- flickableHasExplicitContentHeight = false;
- setFlickable(new QQuickFlickable(q), content);
- }
- return flickable;
-}
-
-bool QQuickScrollViewPrivate::setFlickable(QQuickFlickable *item, bool content)
-{
- Q_Q(QQuickScrollView);
- if (item == flickable)
- return false;
-
- QQuickScrollBarAttached *attached = qobject_cast<QQuickScrollBarAttached *>(qmlAttachedPropertiesObject<QQuickScrollBar>(q, false));
-
- if (flickable) {
- flickable->removeEventFilter(q);
-
- if (attached)
- QQuickScrollBarAttachedPrivate::get(attached)->setFlickable(nullptr);
-
- QObjectPrivate::disconnect(flickable->contentItem(), &QQuickItem::childrenChanged, this, &QQuickPanePrivate::contentChildrenChange);
- QObjectPrivate::disconnect(flickable, &QQuickFlickable::contentWidthChanged, this, &QQuickScrollViewPrivate::flickableContentWidthChanged);
- QObjectPrivate::disconnect(flickable, &QQuickFlickable::contentHeightChanged, this, &QQuickScrollViewPrivate::flickableContentHeightChanged);
- }
-
- flickable = item;
- if (content)
- q->setContentItem(flickable);
-
- if (flickable) {
- flickable->installEventFilter(q);
- if (hasContentWidth)
- flickable->setContentWidth(contentWidth);
- else
- flickableContentWidthChanged();
- if (hasContentHeight)
- flickable->setContentHeight(contentHeight);
- else
- flickableContentHeightChanged();
-
- if (attached)
- QQuickScrollBarAttachedPrivate::get(attached)->setFlickable(flickable);
-
- QObjectPrivate::connect(flickable->contentItem(), &QQuickItem::childrenChanged, this, &QQuickPanePrivate::contentChildrenChange);
- QObjectPrivate::connect(flickable, &QQuickFlickable::contentWidthChanged, this, &QQuickScrollViewPrivate::flickableContentWidthChanged);
- QObjectPrivate::connect(flickable, &QQuickFlickable::contentHeightChanged, this, &QQuickScrollViewPrivate::flickableContentHeightChanged);
- }
-
- return true;
-}
-
-void QQuickScrollViewPrivate::flickableContentWidthChanged()
-{
- Q_Q(QQuickScrollView);
- if (!flickable || !componentComplete)
- return;
-
- const qreal cw = flickable->contentWidth();
- if (qFuzzyCompare(cw, implicitContentWidth))
- return;
-
- flickableHasExplicitContentWidth = true;
- implicitContentWidth = cw;
- emit q->implicitContentWidthChanged();
-}
-
-void QQuickScrollViewPrivate::flickableContentHeightChanged()
-{
- Q_Q(QQuickScrollView);
- if (!flickable || !componentComplete)
- return;
-
- const qreal ch = flickable->contentHeight();
- if (qFuzzyCompare(ch, implicitContentHeight))
- return;
-
- flickableHasExplicitContentHeight = true;
- implicitContentHeight = ch;
- emit q->implicitContentHeightChanged();
-}
-
-qreal QQuickScrollViewPrivate::getContentWidth() const
-{
- if (flickable && flickableHasExplicitContentWidth)
- return flickable->contentWidth();
-
- // The scrollview wraps a flickable created by us, and nobody searched for it and
- // modified its contentWidth. In that case, since the application does not control
- // this flickable, we fall back to calculate the content width based on the child
- // items inside it.
- return QQuickPanePrivate::getContentWidth();
-}
-
-qreal QQuickScrollViewPrivate::getContentHeight() const
-{
- if (flickable && flickableHasExplicitContentHeight)
- return flickable->contentHeight();
-
- // The scrollview wraps a flickable created by us, and nobody searched for it and
- // modified its contentHeight. In that case, since the application does not control
- // this flickable, we fall back to calculate the content height based on the child
- // items inside it.
- return QQuickPanePrivate::getContentHeight();
-}
-
-QQuickScrollBar *QQuickScrollViewPrivate::verticalScrollBar() const
-{
- Q_Q(const QQuickScrollView);
- QQuickScrollBarAttached *attached = qobject_cast<QQuickScrollBarAttached *>(qmlAttachedPropertiesObject<QQuickScrollBar>(q, false));
- if (!attached)
- return nullptr;
- return attached->vertical();
-}
-
-QQuickScrollBar *QQuickScrollViewPrivate::horizontalScrollBar() const
-{
- Q_Q(const QQuickScrollView);
- QQuickScrollBarAttached *attached = qobject_cast<QQuickScrollBarAttached *>(qmlAttachedPropertiesObject<QQuickScrollBar>(q, false));
- if (!attached)
- return nullptr;
- return attached->horizontal();
-}
-
-void QQuickScrollViewPrivate::setScrollBarsInteractive(bool interactive)
-{
- QQuickScrollBar *hbar = horizontalScrollBar();
- if (hbar) {
- QQuickScrollBarPrivate *p = QQuickScrollBarPrivate::get(hbar);
- if (!p->explicitInteractive)
- p->setInteractive(interactive);
- }
-
- QQuickScrollBar *vbar = verticalScrollBar();
- if (vbar) {
- QQuickScrollBarPrivate *p = QQuickScrollBarPrivate::get(vbar);
- if (!p->explicitInteractive)
- p->setInteractive(interactive);
- }
-}
-
-void QQuickScrollViewPrivate::contentData_append(QQmlListProperty<QObject> *prop, QObject *obj)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable && p->setFlickable(qobject_cast<QQuickFlickable *>(obj), true))
- return;
-
- QQuickFlickable *flickable = p->ensureFlickable(true);
- Q_ASSERT(flickable);
- QQmlListProperty<QObject> data = flickable->flickableData();
- data.append(&data, obj);
-}
-
-int QQuickScrollViewPrivate::contentData_count(QQmlListProperty<QObject> *prop)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- return 0;
-
- QQmlListProperty<QObject> data = p->flickable->flickableData();
- return data.count(&data);
-}
-
-QObject *QQuickScrollViewPrivate::contentData_at(QQmlListProperty<QObject> *prop, int index)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- return nullptr;
-
- QQmlListProperty<QObject> data = p->flickable->flickableData();
- return data.at(&data, index);
-}
-
-void QQuickScrollViewPrivate::contentData_clear(QQmlListProperty<QObject> *prop)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- return;
-
- QQmlListProperty<QObject> data = p->flickable->flickableData();
- return data.clear(&data);
-}
-
-void QQuickScrollViewPrivate::contentChildren_append(QQmlListProperty<QQuickItem> *prop, QQuickItem *item)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- p->setFlickable(qobject_cast<QQuickFlickable *>(item), true);
-
- QQuickFlickable *flickable = p->ensureFlickable(true);
- Q_ASSERT(flickable);
- QQmlListProperty<QQuickItem> children = flickable->flickableChildren();
- children.append(&children, item);
-}
-
-int QQuickScrollViewPrivate::contentChildren_count(QQmlListProperty<QQuickItem> *prop)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- return 0;
-
- QQmlListProperty<QQuickItem> children = p->flickable->flickableChildren();
- return children.count(&children);
-}
-
-QQuickItem *QQuickScrollViewPrivate::contentChildren_at(QQmlListProperty<QQuickItem> *prop, int index)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- return nullptr;
-
- QQmlListProperty<QQuickItem> children = p->flickable->flickableChildren();
- return children.at(&children, index);
-}
-
-void QQuickScrollViewPrivate::contentChildren_clear(QQmlListProperty<QQuickItem> *prop)
-{
- QQuickScrollViewPrivate *p = static_cast<QQuickScrollViewPrivate *>(prop->data);
- if (!p->flickable)
- return;
-
- QQmlListProperty<QQuickItem> children = p->flickable->flickableChildren();
- children.clear(&children);
-}
-
-void QQuickScrollViewPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- // a special case for width<->height dependent content (wrapping text) in ScrollView
- if (contentWidth < 0 && !componentComplete)
- return;
-
- QQuickPanePrivate::itemImplicitWidthChanged(item);
-}
-
-QQuickScrollView::QQuickScrollView(QQuickItem *parent)
- : QQuickPane(*(new QQuickScrollViewPrivate), parent)
-{
- Q_D(QQuickScrollView);
- d->contentWidth = -1;
- d->contentHeight = -1;
-
- setFiltersChildMouseEvents(true);
- setWheelEnabled(true);
-}
-
-/*!
- \qmlproperty list<Object> QtQuick.Controls::ScrollView::contentData
- \default
-
- This property holds the list of content data.
-
- The list contains all objects that have been declared in QML as children of the view.
-
- \note Unlike \c contentChildren, \c contentData does include non-visual QML objects.
-
- \sa Item::data, contentChildren
-*/
-QQmlListProperty<QObject> QQuickScrollViewPrivate::contentData()
-{
- Q_Q(QQuickScrollView);
- return QQmlListProperty<QObject>(q, this,
- QQuickScrollViewPrivate::contentData_append,
- QQuickScrollViewPrivate::contentData_count,
- QQuickScrollViewPrivate::contentData_at,
- QQuickScrollViewPrivate::contentData_clear);
-}
-
-/*!
- \qmlproperty list<Item> QtQuick.Controls::ScrollView::contentChildren
-
- This property holds the list of content children.
-
- The list contains all items that have been declared in QML as children of the view.
-
- \note Unlike \c contentData, \c contentChildren does not include non-visual QML objects.
-
- \sa Item::children, contentData
-*/
-QQmlListProperty<QQuickItem> QQuickScrollViewPrivate::contentChildren()
-{
- Q_Q(QQuickScrollView);
- return QQmlListProperty<QQuickItem>(q, this,
- QQuickScrollViewPrivate::contentChildren_append,
- QQuickScrollViewPrivate::contentChildren_count,
- QQuickScrollViewPrivate::contentChildren_at,
- QQuickScrollViewPrivate::contentChildren_clear);
-}
-
-bool QQuickScrollView::childMouseEventFilter(QQuickItem *item, QEvent *event)
-{
- Q_D(QQuickScrollView);
- switch (event->type()) {
- case QEvent::TouchBegin:
- d->wasTouched = true;
- d->setScrollBarsInteractive(false);
- return false;
-
- case QEvent::TouchEnd:
- d->wasTouched = false;
- return false;
-
- case QEvent::MouseButtonPress:
- // NOTE: Flickable does not handle touch events, only synthesized mouse events
- if (static_cast<QMouseEvent *>(event)->source() == Qt::MouseEventNotSynthesized) {
- d->wasTouched = false;
- d->setScrollBarsInteractive(true);
- return false;
- }
- return !d->wasTouched && item == d->flickable;
-
- case QEvent::MouseMove:
- case QEvent::MouseButtonRelease:
- if (static_cast<QMouseEvent *>(event)->source() == Qt::MouseEventNotSynthesized)
- return item == d->flickable;
- break;
-
- case QEvent::HoverEnter:
- case QEvent::HoverMove:
- if (d->wasTouched && (item == d->verticalScrollBar() || item == d->horizontalScrollBar()))
- d->setScrollBarsInteractive(true);
- break;
-
- default:
- break;
- }
-
- return false;
-}
-
-bool QQuickScrollView::eventFilter(QObject *object, QEvent *event)
-{
- Q_D(QQuickScrollView);
- if (event->type() == QEvent::Wheel) {
- d->setScrollBarsInteractive(true);
- if (!d->wheelEnabled)
- return true;
- }
- return QQuickPane::eventFilter(object, event);
-}
-
-void QQuickScrollView::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickScrollView);
- QQuickPane::keyPressEvent(event);
- switch (event->key()) {
- case Qt::Key_Up:
- if (QQuickScrollBar *vbar = d->verticalScrollBar()) {
- vbar->decrease();
- event->accept();
- }
- break;
- case Qt::Key_Down:
- if (QQuickScrollBar *vbar = d->verticalScrollBar()) {
- vbar->increase();
- event->accept();
- }
- break;
- case Qt::Key_Left:
- if (QQuickScrollBar *hbar = d->horizontalScrollBar()) {
- hbar->decrease();
- event->accept();
- }
- break;
- case Qt::Key_Right:
- if (QQuickScrollBar *hbar = d->horizontalScrollBar()) {
- hbar->increase();
- event->accept();
- }
- break;
- default:
- event->ignore();
- break;
- }
-}
-
-void QQuickScrollView::componentComplete()
-{
- Q_D(QQuickScrollView);
- QQuickPane::componentComplete();
- if (!d->contentItem)
- d->ensureFlickable(true);
-}
-
-void QQuickScrollView::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickScrollView);
- if (newItem != d->flickable) {
- // The new flickable was not created by us. In that case, we always
- // assume/require that it has an explicit content size assigned.
- d->flickableHasExplicitContentWidth = true;
- d->flickableHasExplicitContentHeight = true;
- d->setFlickable(qobject_cast<QQuickFlickable *>(newItem), false);
- }
- QQuickPane::contentItemChange(newItem, oldItem);
-}
-
-void QQuickScrollView::contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize)
-{
- Q_D(QQuickScrollView);
- QQuickPane::contentSizeChange(newSize, oldSize);
- if (d->flickable) {
- // Only set the content size on the flickable if the flickable doesn't
- // have an explicit assignment from before. Otherwise we can end up overwriting
- // assignments done to those properties by the application. The
- // exception is if the application has assigned a content size
- // directly to the scrollview, which will then win even if the
- // application has assigned something else to the flickable.
- if (d->hasContentWidth || !d->flickableHasExplicitContentWidth)
- d->flickable->setContentWidth(newSize.width());
- if (d->hasContentHeight || !d->flickableHasExplicitContentHeight)
- d->flickable->setContentHeight(newSize.height());
- }
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickScrollView::accessibleRole() const
-{
- return QAccessible::Pane;
-}
-#endif
-
-QT_END_NAMESPACE
-
-#include "moc_qquickscrollview_p.cpp"
diff --git a/src/quicktemplates2/qquickscrollview_p.h b/src/quicktemplates2/qquickscrollview_p.h
deleted file mode 100644
index 2b8d260e..00000000
--- a/src/quicktemplates2/qquickscrollview_p.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSCROLLVIEW_P_H
-#define QQUICKSCROLLVIEW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpane_p.h>
-#include <QtQml/qqmllist.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickScrollViewPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickScrollView : public QQuickPane
-{
- Q_OBJECT
-
-public:
- explicit QQuickScrollView(QQuickItem *parent = nullptr);
-
-protected:
- bool childMouseEventFilter(QQuickItem *item, QEvent *event) override;
- bool eventFilter(QObject *object, QEvent *event) override;
- void keyPressEvent(QKeyEvent *event) override;
-
- void componentComplete() override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- void contentSizeChange(const QSizeF &newSize, const QSizeF &oldSize) override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickScrollView)
- Q_DECLARE_PRIVATE(QQuickScrollView)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickScrollView)
-
-#endif // QQUICKSCROLLVIEW_P_H
diff --git a/src/quicktemplates2/qquickshortcutcontext.cpp b/src/quicktemplates2/qquickshortcutcontext.cpp
deleted file mode 100644
index 4e4b46fa..00000000
--- a/src/quicktemplates2/qquickshortcutcontext.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickshortcutcontext_p_p.h"
-#include "qquickoverlay_p_p.h"
-#include "qquicktooltip_p.h"
-#include "qquickpopup_p.h"
-#include "qquickmenu_p.h"
-#include "qquickmenubaritem_p.h"
-
-#include <QtGui/qguiapplication.h>
-#include <QtQuick/qquickrendercontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-static bool isBlockedByPopup(QQuickItem *item)
-{
- if (!item || !item->window())
- return false;
-
- QQuickOverlay *overlay = QQuickOverlay::overlay(item->window());
- const auto popups = QQuickOverlayPrivate::get(overlay)->stackingOrderPopups();
- for (QQuickPopup *popup : popups) {
- if (qobject_cast<QQuickToolTip *>(popup))
- continue; // ignore tooltips (QTBUG-60492)
- if (popup->isModal() || popup->closePolicy() & QQuickPopup::CloseOnEscape) {
- if (QQuickMenu *menu = qobject_cast<QQuickMenu *>(popup)) {
- if (qobject_cast<QQuickMenuBarItem *>(menu->parentItem()))
- continue;
- }
- return item != popup->popupItem() && !popup->popupItem()->isAncestorOf(item);
- }
- }
-
- return false;
-}
-
-bool QQuickShortcutContext::matcher(QObject *obj, Qt::ShortcutContext context)
-{
- QQuickItem *item = nullptr;
- switch (context) {
- case Qt::ApplicationShortcut:
- return true;
- case Qt::WindowShortcut:
- while (obj && !obj->isWindowType()) {
- item = qobject_cast<QQuickItem *>(obj);
- if (item && item->window()) {
- obj = item->window();
- break;
- } else if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(obj)) {
- obj = popup->window();
- item = popup->popupItem();
- break;
- }
- obj = obj->parent();
- }
- if (QWindow *renderWindow = QQuickRenderControl::renderWindowFor(qobject_cast<QQuickWindow *>(obj)))
- obj = renderWindow;
- return obj && obj == QGuiApplication::focusWindow() && !isBlockedByPopup(item);
- default:
- return false;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickshortcutcontext_p_p.h b/src/quicktemplates2/qquickshortcutcontext_p_p.h
deleted file mode 100644
index 44e63f1e..00000000
--- a/src/quicktemplates2/qquickshortcutcontext_p_p.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSHORTCUTCONTEXT_P_P_H
-#define QQUICKSHORTCUTCONTEXT_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qnamespace.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QObject;
-
-struct Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickShortcutContext
-{
- static bool matcher(QObject *object, Qt::ShortcutContext context);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSHORTCUTCONTEXT_P_P_H
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp
deleted file mode 100644
index 054ea502..00000000
--- a/src/quicktemplates2/qquickslider.cpp
+++ /dev/null
@@ -1,886 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickslider_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtQuick/private/qquickwindow_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Slider
- \inherits Control
- \instantiates QQuickSlider
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \brief Used to select a value by sliding a handle along a track.
-
- \image qtquickcontrols2-slider.gif
-
- Slider is used to select a value by sliding a handle along a track.
-
- In the example below, custom \l from, \l value, and \l to values are set:
-
- \code
- Slider {
- from: 1
- value: 25
- to: 100
- }
- \endcode
-
- The \l position property is expressed as a fraction of the control's size,
- in the range \c {0.0 - 1.0}. The \l visualPosition property is
- the same, except that it is reversed in a
- \l {Right-to-left User Interfaces}{right-to-left} application. The
- visualPosition is useful for positioning the handle when styling Slider.
- In the example above, \l visualPosition will be \c 0.24 in a left-to-right
- application, and \c 0.76 in a right-to-left application.
-
- For a slider that allows the user to select a range by providing two
- handles, see \l RangeSlider.
-
- \sa {Customizing Slider}, {Input Controls}
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal QtQuick.Controls::Slider::moved()
-
- This signal is emitted when the slider has been interactively moved
- by the user by either touch, mouse, wheel, or keys.
-*/
-
-class QQuickSliderPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSlider)
-
-public:
- qreal snapPosition(qreal position) const;
- qreal positionAt(const QPointF &point) const;
- void setPosition(qreal position);
- void updatePosition();
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- void cancelHandle();
- void executeHandle(bool complete = false);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- qreal from = 0;
- qreal to = 1;
- qreal value = 0;
- qreal position = 0;
- qreal stepSize = 0;
- qreal touchDragThreshold = -1; // in QQuickWindowPrivate::dragOverThreshold, '-1' implies using styleHints::startDragDistance()
- bool live = true;
- bool pressed = false;
- QPointF pressPoint;
- Qt::Orientation orientation = Qt::Horizontal;
- QQuickSlider::SnapMode snapMode = QQuickSlider::NoSnap;
- QQuickDeferredPointer<QQuickItem> handle;
-};
-
-qreal QQuickSliderPrivate::snapPosition(qreal position) const
-{
- const qreal range = to - from;
- if (qFuzzyIsNull(range))
- return position;
-
- const qreal effectiveStep = stepSize / range;
- if (qFuzzyIsNull(effectiveStep))
- return position;
-
- return qRound(position / effectiveStep) * effectiveStep;
-}
-
-qreal QQuickSliderPrivate::positionAt(const QPointF &point) const
-{
- Q_Q(const QQuickSlider);
- qreal pos = 0.0;
- if (orientation == Qt::Horizontal) {
- const qreal hw = handle ? handle->width() : 0;
- const qreal offset = hw / 2;
- const qreal extent = q->availableWidth() - hw;
- if (!qFuzzyIsNull(extent)) {
- if (q->isMirrored())
- pos = (q->width() - point.x() - q->rightPadding() - offset) / extent;
- else
- pos = (point.x() - q->leftPadding() - offset) / extent;
- }
- } else {
- const qreal hh = handle ? handle->height() : 0;
- const qreal offset = hh / 2;
- const qreal extent = q->availableHeight() - hh;
- if (!qFuzzyIsNull(extent))
- pos = (q->height() - point.y() - q->bottomPadding() - offset) / extent;
- }
- return qBound<qreal>(0.0, pos, 1.0);
-}
-
-void QQuickSliderPrivate::setPosition(qreal pos)
-{
- Q_Q(QQuickSlider);
- pos = qBound<qreal>(0.0, pos, 1.0);
- if (qFuzzyCompare(position, pos))
- return;
-
- position = pos;
- emit q->positionChanged();
- emit q->visualPositionChanged();
-}
-
-void QQuickSliderPrivate::updatePosition()
-{
- qreal pos = 0;
- if (!qFuzzyCompare(from, to))
- pos = (value - from) / (to - from);
- setPosition(pos);
-}
-
-void QQuickSliderPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickSlider);
- QQuickControlPrivate::handlePress(point);
- pressPoint = point;
- q->setPressed(true);
-}
-
-void QQuickSliderPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickSlider);
- QQuickControlPrivate::handleMove(point);
- const qreal oldPos = position;
- qreal pos = positionAt(point);
- if (snapMode == QQuickSlider::SnapAlways)
- pos = snapPosition(pos);
- if (live)
- q->setValue(q->valueAt(pos));
- else
- setPosition(pos);
- if (!qFuzzyCompare(pos, oldPos))
- emit q->moved();
-}
-
-void QQuickSliderPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickSlider);
- QQuickControlPrivate::handleRelease(point);
- pressPoint = QPointF();
- const qreal oldPos = position;
- qreal pos = positionAt(point);
- if (snapMode != QQuickSlider::NoSnap)
- pos = snapPosition(pos);
- qreal val = q->valueAt(pos);
- if (!qFuzzyCompare(val, value))
- q->setValue(val);
- else if (snapMode != QQuickSlider::NoSnap)
- setPosition(pos);
- if (!qFuzzyCompare(pos, oldPos))
- emit q->moved();
- q->setKeepMouseGrab(false);
- q->setKeepTouchGrab(false);
- q->setPressed(false);
-}
-
-void QQuickSliderPrivate::handleUngrab()
-{
- Q_Q(QQuickSlider);
- QQuickControlPrivate::handleUngrab();
- pressPoint = QPointF();
- q->setPressed(false);
-}
-
-static inline QString handleName() { return QStringLiteral("handle"); }
-
-void QQuickSliderPrivate::cancelHandle()
-{
- Q_Q(QQuickSlider);
- quickCancelDeferred(q, handleName());
-}
-
-void QQuickSliderPrivate::executeHandle(bool complete)
-{
- Q_Q(QQuickSlider);
- if (handle.wasExecuted())
- return;
-
- if (!handle || complete)
- quickBeginDeferred(q, handleName(), handle);
- if (complete)
- quickCompleteDeferred(q, handleName(), handle);
-}
-
-void QQuickSliderPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickSlider);
- QQuickControlPrivate::itemImplicitWidthChanged(item);
- if (item == handle)
- emit q->implicitHandleWidthChanged();
-}
-
-void QQuickSliderPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickSlider);
- QQuickControlPrivate::itemImplicitHeightChanged(item);
- if (item == handle)
- emit q->implicitHandleHeightChanged();
-}
-
-QQuickSlider::QQuickSlider(QQuickItem *parent)
- : QQuickControl(*(new QQuickSliderPrivate), parent)
-{
- setActiveFocusOnTab(true);
- setFocusPolicy(Qt::StrongFocus);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-QQuickSlider::~QQuickSlider()
-{
- Q_D(QQuickSlider);
- d->removeImplicitSizeListener(d->handle);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Slider::from
-
- This property holds the starting value for the range. The default value is \c 0.0.
-
- \sa to, value
-*/
-qreal QQuickSlider::from() const
-{
- Q_D(const QQuickSlider);
- return d->from;
-}
-
-void QQuickSlider::setFrom(qreal from)
-{
- Q_D(QQuickSlider);
- if (qFuzzyCompare(d->from, from))
- return;
-
- d->from = from;
- emit fromChanged();
- if (isComponentComplete()) {
- setValue(d->value);
- d->updatePosition();
- }
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Slider::to
-
- This property holds the end value for the range. The default value is \c 1.0.
-
- \sa from, value
-*/
-qreal QQuickSlider::to() const
-{
- Q_D(const QQuickSlider);
- return d->to;
-}
-
-void QQuickSlider::setTo(qreal to)
-{
- Q_D(QQuickSlider);
- if (qFuzzyCompare(d->to, to))
- return;
-
- d->to = to;
- emit toChanged();
- if (isComponentComplete()) {
- setValue(d->value);
- d->updatePosition();
- }
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Slider::value
-
- This property holds the value in the range \c from - \c to. The default value is \c 0.0.
-
- \sa position
-*/
-qreal QQuickSlider::value() const
-{
- Q_D(const QQuickSlider);
- return d->value;
-}
-
-void QQuickSlider::setValue(qreal value)
-{
- Q_D(QQuickSlider);
- if (isComponentComplete())
- value = d->from > d->to ? qBound(d->to, value, d->from) : qBound(d->from, value, d->to);
-
- if (qFuzzyCompare(d->value, value))
- return;
-
- d->value = value;
- d->updatePosition();
- emit valueChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Slider::position
- \readonly
-
- This property holds the logical position of the handle.
-
- The position is expressed as a fraction of the control's size, in the range
- \c {0.0 - 1.0}. For visualizing a slider, the right-to-left aware
- \l visualPosition should be used instead.
-
- \sa value, visualPosition, valueAt()
-*/
-qreal QQuickSlider::position() const
-{
- Q_D(const QQuickSlider);
- return d->position;
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Slider::visualPosition
- \readonly
-
- This property holds the visual position of the handle.
-
- The position is expressed as a fraction of the control's size, in the range
- \c {0.0 - 1.0}. When the control is \l {Control::mirrored}{mirrored}, the
- value is equal to \c {1.0 - position}. This makes the value suitable for
- visualizing the slider, taking right-to-left support into account.
-
- \sa position
-*/
-qreal QQuickSlider::visualPosition() const
-{
- Q_D(const QQuickSlider);
- if (d->orientation == Qt::Vertical || isMirrored())
- return 1.0 - d->position;
- return d->position;
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Slider::stepSize
-
- This property holds the step size. The default value is \c 0.0.
-
- \sa snapMode, increase(), decrease()
-*/
-qreal QQuickSlider::stepSize() const
-{
- Q_D(const QQuickSlider);
- return d->stepSize;
-}
-
-void QQuickSlider::setStepSize(qreal step)
-{
- Q_D(QQuickSlider);
- if (qFuzzyCompare(d->stepSize, step))
- return;
-
- d->stepSize = step;
- emit stepSizeChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Slider::snapMode
-
- This property holds the snap mode.
-
- The snap mode determines how the slider handle behaves with
- regards to the \l stepSize.
-
- Possible values:
- \value Slider.NoSnap The slider does not snap (default).
- \value Slider.SnapAlways The slider snaps while the handle is dragged.
- \value Slider.SnapOnRelease The slider does not snap while being dragged, but only after the handle is released.
-
- In the following table, the various modes are illustrated with animations.
- The movement of the mouse cursor and the \l stepSize (\c 0.2) are identical
- in each animation.
-
- \table
- \header
- \row \li \b Value \li \b Example
- \row \li \c Slider.NoSnap \li \image qtquickcontrols2-slider-nosnap.gif
- \row \li \c Slider.SnapAlways \li \image qtquickcontrols2-slider-snapalways.gif
- \row \li \c Slider.SnapOnRelease \li \image qtquickcontrols2-slider-snaponrelease.gif
- \endtable
-
- \sa stepSize
-*/
-QQuickSlider::SnapMode QQuickSlider::snapMode() const
-{
- Q_D(const QQuickSlider);
- return d->snapMode;
-}
-
-void QQuickSlider::setSnapMode(SnapMode mode)
-{
- Q_D(QQuickSlider);
- if (d->snapMode == mode)
- return;
-
- d->snapMode = mode;
- emit snapModeChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Slider::pressed
-
- This property holds whether the slider is pressed by either touch, mouse,
- or keys.
-*/
-bool QQuickSlider::isPressed() const
-{
- Q_D(const QQuickSlider);
- return d->pressed;
-}
-
-void QQuickSlider::setPressed(bool pressed)
-{
- Q_D(QQuickSlider);
- if (d->pressed == pressed)
- return;
-
- d->pressed = pressed;
- setAccessibleProperty("pressed", pressed);
- emit pressedChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::Slider::horizontal
- \readonly
-
- This property holds whether the slider is horizontal.
-
- \sa orientation
-*/
-bool QQuickSlider::isHorizontal() const
-{
- Q_D(const QQuickSlider);
- return d->orientation == Qt::Horizontal;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::Slider::vertical
- \readonly
-
- This property holds whether the slider is vertical.
-
- \sa orientation
-*/
-bool QQuickSlider::isVertical() const
-{
- Q_D(const QQuickSlider);
- return d->orientation == Qt::Vertical;
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::Slider::orientation
-
- This property holds the orientation.
-
- Possible values:
- \value Qt.Horizontal Horizontal (default)
- \value Qt.Vertical Vertical
-
- \sa horizontal, vertical
-*/
-Qt::Orientation QQuickSlider::orientation() const
-{
- Q_D(const QQuickSlider);
- return d->orientation;
-}
-
-void QQuickSlider::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickSlider);
- if (d->orientation == orientation)
- return;
-
- d->orientation = orientation;
- emit orientationChanged();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Slider::handle
-
- This property holds the handle item.
-
- \sa {Customizing Slider}
-*/
-QQuickItem *QQuickSlider::handle() const
-{
- QQuickSliderPrivate *d = const_cast<QQuickSliderPrivate *>(d_func());
- if (!d->handle)
- d->executeHandle();
- return d->handle;
-}
-
-void QQuickSlider::setHandle(QQuickItem *handle)
-{
- Q_D(QQuickSlider);
- if (d->handle == handle)
- return;
-
- if (!d->handle.isExecuting())
- d->cancelHandle();
-
- const qreal oldImplicitHandleWidth = implicitHandleWidth();
- const qreal oldImplicitHandleHeight = implicitHandleHeight();
-
- d->removeImplicitSizeListener(d->handle);
- delete d->handle;
- d->handle = handle;
-
- if (handle) {
- if (!handle->parentItem())
- handle->setParentItem(this);
- d->addImplicitSizeListener(handle);
- }
-
- if (!qFuzzyCompare(oldImplicitHandleWidth, implicitHandleWidth()))
- emit implicitHandleWidthChanged();
- if (!qFuzzyCompare(oldImplicitHandleHeight, implicitHandleHeight()))
- emit implicitHandleHeightChanged();
- if (!d->handle.isExecuting())
- emit handleChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlmethod real QtQuick.Controls::Slider::valueAt(real position)
-
- Returns the value for the given \a position.
-
- \sa value, position
-*/
-qreal QQuickSlider::valueAt(qreal position) const
-{
- Q_D(const QQuickSlider);
- const qreal value = (d->to - d->from) * position;
- if (qFuzzyIsNull(d->stepSize))
- return d->from + value;
- return d->from + qRound(value / d->stepSize) * d->stepSize;
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::Slider::live
-
- This property holds whether the slider provides live updates for the \l value
- property while the handle is dragged.
-
- The default value is \c true.
-
- \sa value, valueAt()
-*/
-bool QQuickSlider::live() const
-{
- Q_D(const QQuickSlider);
- return d->live;
-}
-
-void QQuickSlider::setLive(bool live)
-{
- Q_D(QQuickSlider);
- if (d->live == live)
- return;
-
- d->live = live;
- emit liveChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Slider::increase()
-
- Increases the value by \l stepSize or \c 0.1 if stepSize is not defined.
-
- \sa stepSize
-*/
-void QQuickSlider::increase()
-{
- Q_D(QQuickSlider);
- qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- setValue(d->value + step);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Slider::decrease()
-
- Decreases the value by \l stepSize or \c 0.1 if stepSize is not defined.
-
- \sa stepSize
-*/
-void QQuickSlider::decrease()
-{
- Q_D(QQuickSlider);
- qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- setValue(d->value - step);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty qreal QtQuick.Controls::Slider::touchDragThreshold
-
- This property holds the threshold (in logical pixels) at which a touch drag event will be initiated.
- The mouse drag threshold won't be affected.
- The default value is \c Qt.styleHints.startDragDistance.
-
- \sa QStyleHints
-*/
-qreal QQuickSlider::touchDragThreshold() const
-{
- Q_D(const QQuickSlider);
- return d->touchDragThreshold;
-}
-
-void QQuickSlider::setTouchDragThreshold(qreal touchDragThreshold)
-{
- Q_D(QQuickSlider);
- if (d->touchDragThreshold == touchDragThreshold)
- return;
-
- d->touchDragThreshold = touchDragThreshold;
- emit touchDragThresholdChanged();
-}
-
-void QQuickSlider::resetTouchDragThreshold()
-{
- setTouchDragThreshold(-1);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Slider::implicitHandleWidth
- \readonly
-
- This property holds the implicit handle width.
-
- The value is equal to \c {handle ? handle.implicitWidth : 0}.
-
- This is typically used, together with \l {Control::}{implicitContentWidth} and
- \l {Control::}{implicitBackgroundWidth}, to calculate the \l {Item::}{implicitWidth}.
-
- \sa implicitHandleHeight
-*/
-qreal QQuickSlider::implicitHandleWidth() const
-{
- Q_D(const QQuickSlider);
- if (!d->handle)
- return 0;
- return d->handle->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::Slider::implicitHandleHeight
- \readonly
-
- This property holds the implicit handle height.
-
- The value is equal to \c {handle ? handle.implicitHeight : 0}.
-
- This is typically used, together with \l {Control::}{implicitContentHeight} and
- \l {Control::}{implicitBackgroundHeight}, to calculate the \l {Item::}{implicitHeight}.
-
- \sa implicitHandleWidth
-*/
-qreal QQuickSlider::implicitHandleHeight() const
-{
- Q_D(const QQuickSlider);
- if (!d->handle)
- return 0;
- return d->handle->implicitHeight();
-}
-
-void QQuickSlider::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickSlider);
- QQuickControl::keyPressEvent(event);
-
- const qreal oldValue = d->value;
- if (d->orientation == Qt::Horizontal) {
- if (event->key() == Qt::Key_Left) {
- setPressed(true);
- if (isMirrored())
- increase();
- else
- decrease();
- event->accept();
- } else if (event->key() == Qt::Key_Right) {
- setPressed(true);
- if (isMirrored())
- decrease();
- else
- increase();
- event->accept();
- }
- } else {
- if (event->key() == Qt::Key_Up) {
- setPressed(true);
- increase();
- event->accept();
- } else if (event->key() == Qt::Key_Down) {
- setPressed(true);
- decrease();
- event->accept();
- }
- }
- if (!qFuzzyCompare(d->value, oldValue))
- emit moved();
-}
-
-void QQuickSlider::keyReleaseEvent(QKeyEvent *event)
-{
- QQuickControl::keyReleaseEvent(event);
- setPressed(false);
-}
-
-void QQuickSlider::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickSlider);
- QQuickControl::mousePressEvent(event);
- d->handleMove(event->localPos());
- setKeepMouseGrab(true);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickSlider::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickSlider);
- switch (event->type()) {
- case QEvent::TouchUpdate:
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (!d->acceptTouch(point))
- continue;
-
- switch (point.state()) {
- case Qt::TouchPointPressed:
- d->handlePress(point.pos());
- break;
- case Qt::TouchPointMoved:
- if (!keepTouchGrab()) {
- if (d->orientation == Qt::Horizontal)
- setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point, qRound(d->touchDragThreshold)));
- else
- setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - d->pressPoint.y(), Qt::YAxis, &point, qRound(d->touchDragThreshold)));
- }
- if (keepTouchGrab())
- d->handleMove(point.pos());
- break;
- case Qt::TouchPointReleased:
- d->handleRelease(point.pos());
- break;
- default:
- break;
- }
- }
- break;
-
- default:
- QQuickControl::touchEvent(event);
- break;
- }
-}
-#endif
-
-#if QT_CONFIG(wheelevent)
-void QQuickSlider::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickSlider);
- QQuickControl::wheelEvent(event);
- if (d->wheelEnabled) {
- const qreal oldValue = d->value;
- const QPointF angle = event->angleDelta();
- const qreal delta = (qFuzzyIsNull(angle.y()) ? angle.x() : (event->inverted() ? -angle.y() : angle.y())) / QWheelEvent::DefaultDeltasPerStep;
- const qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize;
- setValue(oldValue + step * delta);
- const bool wasMoved = !qFuzzyCompare(d->value, oldValue);
- if (wasMoved)
- emit moved();
- }
-}
-#endif
-
-void QQuickSlider::mirrorChange()
-{
- QQuickControl::mirrorChange();
- emit visualPositionChanged();
-}
-
-void QQuickSlider::componentComplete()
-{
- Q_D(QQuickSlider);
- d->executeHandle(true);
- QQuickControl::componentComplete();
- setValue(d->value);
- d->updatePosition();
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickSlider::accessibilityActiveChanged(bool active)
-{
- QQuickControl::accessibilityActiveChanged(active);
-
- Q_D(QQuickSlider);
- if (active)
- setAccessibleProperty("pressed", d->pressed);
-}
-
-QAccessible::Role QQuickSlider::accessibleRole() const
-{
- return QAccessible::Slider;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickslider_p.h b/src/quicktemplates2/qquickslider_p.h
deleted file mode 100644
index c65733dc..00000000
--- a/src/quicktemplates2/qquickslider_p.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSLIDER_P_H
-#define QQUICKSLIDER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSliderPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSlider : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged FINAL)
- Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged FINAL)
- Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY valueChanged FINAL)
- Q_PROPERTY(qreal position READ position NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL)
- Q_PROPERTY(qreal stepSize READ stepSize WRITE setStepSize NOTIFY stepSizeChanged FINAL)
- Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed NOTIFY pressedChanged FINAL)
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
- Q_PROPERTY(QQuickItem *handle READ handle WRITE setHandle NOTIFY handleChanged FINAL)
- Q_PROPERTY(bool live READ live WRITE setLive NOTIFY liveChanged FINAL REVISION 2)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool horizontal READ isHorizontal NOTIFY orientationChanged FINAL REVISION 3)
- Q_PROPERTY(bool vertical READ isVertical NOTIFY orientationChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal touchDragThreshold READ touchDragThreshold WRITE setTouchDragThreshold RESET resetTouchDragThreshold NOTIFY touchDragThresholdChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitHandleWidth READ implicitHandleWidth NOTIFY implicitHandleWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitHandleHeight READ implicitHandleHeight NOTIFY implicitHandleHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background,handle")
-
-public:
- explicit QQuickSlider(QQuickItem *parent = nullptr);
- ~QQuickSlider();
-
- qreal from() const;
- void setFrom(qreal from);
-
- qreal to() const;
- void setTo(qreal to);
-
- qreal value() const;
- void setValue(qreal value);
-
- qreal position() const;
- qreal visualPosition() const;
-
- qreal stepSize() const;
- void setStepSize(qreal step);
-
- enum SnapMode {
- NoSnap,
- SnapAlways,
- SnapOnRelease
- };
- Q_ENUM(SnapMode)
-
- SnapMode snapMode() const;
- void setSnapMode(SnapMode mode);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- QQuickItem *handle() const;
- void setHandle(QQuickItem *handle);
-
- // 2.1 (Qt 5.8)
- Q_REVISION(1) Q_INVOKABLE qreal valueAt(qreal position) const;
-
- // 2.2 (Qt 5.9)
- bool live() const;
- void setLive(bool live);
-
- // 2.3 (Qt 5.10)
- bool isHorizontal() const;
- bool isVertical() const;
-
- // 2.5 (Qt 5.12)
- qreal touchDragThreshold() const;
- void setTouchDragThreshold(qreal touchDragThreshold);
- void resetTouchDragThreshold();
-
- qreal implicitHandleWidth() const;
- qreal implicitHandleHeight() const;
-
-public Q_SLOTS:
- void increase();
- void decrease();
-
-Q_SIGNALS:
- void fromChanged();
- void toChanged();
- void valueChanged();
- void positionChanged();
- void visualPositionChanged();
- void stepSizeChanged();
- void snapModeChanged();
- void pressedChanged();
- void orientationChanged();
- void handleChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void moved();
- Q_REVISION(2) void liveChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void touchDragThresholdChanged();
- Q_REVISION(5) void implicitHandleWidthChanged();
- Q_REVISION(5) void implicitHandleHeightChanged();
-
-protected:
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
-
- void mirrorChange() override;
- void componentComplete() override;
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickSlider)
- Q_DECLARE_PRIVATE(QQuickSlider)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSlider)
-
-#endif // QQUICKSLIDER_P_H
diff --git a/src/quicktemplates2/qquickspinbox.cpp b/src/quicktemplates2/qquickspinbox.cpp
deleted file mode 100644
index 389e5c54..00000000
--- a/src/quicktemplates2/qquickspinbox.cpp
+++ /dev/null
@@ -1,1178 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickspinbox_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtGui/qguiapplication.h>
-#include <QtGui/qstylehints.h>
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQml/private/qqmllocale_p.h>
-#include <QtQml/private/qqmlengine_p.h>
-#include <QtQuick/private/qquicktextinput_p.h>
-
-QT_BEGIN_NAMESPACE
-
-// copied from qabstractbutton.cpp
-static const int AUTO_REPEAT_DELAY = 300;
-static const int AUTO_REPEAT_INTERVAL = 100;
-
-/*!
- \qmltype SpinBox
- \inherits Control
- \instantiates QQuickSpinBox
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup input
- \ingroup qtquickcontrols2-focusscopes
- \brief Allows the user to select from a set of preset values.
-
- \image qtquickcontrols2-spinbox.png
-
- SpinBox allows the user to choose an integer value by clicking the up
- or down indicator buttons, or by pressing up or down on the keyboard.
- Optionally, SpinBox can be also made \l editable, so the user can enter
- a text value in the input field.
-
- By default, SpinBox provides discrete values in the range of \c [0-99]
- with a \l stepSize of \c 1.
-
- \snippet qtquickcontrols2-spinbox.qml 1
-
- \section2 Custom Values
-
- \image qtquickcontrols2-spinbox-textual.png
-
- Even though SpinBox works on integer values, it can be customized to
- accept arbitrary input values. The following snippet demonstrates how
- \l validator, \l textFromValue and \l valueFromText can be used to
- customize the default behavior.
-
- \snippet qtquickcontrols2-spinbox-textual.qml 1
-
- In the same manner, SpinBox can be customized to accept floating point
- numbers:
-
- \image qtquickcontrols2-spinbox-double.png
-
- \snippet qtquickcontrols2-spinbox-double.qml 1
-
- \sa Tumbler, {Customizing SpinBox}, {Focus Management in Qt Quick Controls}
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal QtQuick.Controls::SpinBox::valueModified()
-
- This signal is emitted when the spin box value has been interactively
- modified by the user by either touch, mouse, wheel, or keys.
-*/
-
-class QQuickSpinBoxPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSpinBox)
-
-public:
- int boundValue(int value, bool wrap) const;
- void updateValue();
- bool setValue(int value, bool wrap, bool modified);
- bool stepBy(int steps, bool modified);
- void increase(bool modified);
- void decrease(bool modified);
-
- int effectiveStepSize() const;
-
- void updateDisplayText();
- void setDisplayText(const QString &displayText);
-
- bool upEnabled() const;
- void updateUpEnabled();
- bool downEnabled() const;
- void updateDownEnabled();
- void updateHover(const QPointF &pos);
-
- void startRepeatDelay();
- void startPressRepeat();
- void stopPressRepeat();
-
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
- void handleUngrab() override;
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- bool editable = false;
- bool wrap = false;
- int from = 0;
- int to = 99;
- int value = 0;
- int stepSize = 1;
- int delayTimer = 0;
- int repeatTimer = 0;
- QString displayText;
- QQuickSpinButton *up = nullptr;
- QQuickSpinButton *down = nullptr;
- QValidator *validator = nullptr;
- mutable QJSValue textFromValue;
- mutable QJSValue valueFromText;
- Qt::InputMethodHints inputMethodHints = Qt::ImhDigitsOnly;
-};
-
-class QQuickSpinButtonPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSpinButton)
-
-public:
- static QQuickSpinButtonPrivate *get(QQuickSpinButton *button)
- {
- return button->d_func();
- }
-
- void cancelIndicator();
- void executeIndicator(bool complete = false);
-
- bool pressed = false;
- bool hovered = false;
- QQuickDeferredPointer<QQuickItem> indicator;
-};
-
-int QQuickSpinBoxPrivate::boundValue(int value, bool wrap) const
-{
- bool inverted = from > to;
- if (!wrap)
- return inverted ? qBound(to, value, from) : qBound(from, value, to);
-
- int f = inverted ? to : from;
- int t = inverted ? from : to;
- if (value < f)
- value = t;
- else if (value > t)
- value = f;
-
- return value;
-}
-
-void QQuickSpinBoxPrivate::updateValue()
-{
- Q_Q(QQuickSpinBox);
- if (contentItem) {
- QVariant text = contentItem->property("text");
- if (text.isValid()) {
- int val = 0;
- QQmlEngine *engine = qmlEngine(q);
- if (engine && valueFromText.isCallable()) {
- QV4::ExecutionEngine *v4 = QQmlEnginePrivate::getV4Engine(engine);
- QJSValue loc(v4, QQmlLocale::wrap(v4, locale));
- val = valueFromText.call(QJSValueList() << text.toString() << loc).toInt();
- } else {
- val = locale.toInt(text.toString());
- }
- setValue(val, /* allowWrap = */ false, /* modified = */ true);
- }
- }
-}
-
-bool QQuickSpinBoxPrivate::setValue(int newValue, bool allowWrap, bool modified)
-{
- Q_Q(QQuickSpinBox);
- if (q->isComponentComplete())
- newValue = boundValue(newValue, allowWrap);
-
- if (value == newValue)
- return false;
-
- value = newValue;
-
- updateDisplayText();
- updateUpEnabled();
- updateDownEnabled();
-
- emit q->valueChanged();
- if (modified)
- emit q->valueModified();
- return true;
-}
-
-bool QQuickSpinBoxPrivate::stepBy(int steps, bool modified)
-{
- return setValue(value + steps, wrap, modified);
-}
-
-void QQuickSpinBoxPrivate::increase(bool modified)
-{
- setValue(value + effectiveStepSize(), wrap, modified);
-}
-
-void QQuickSpinBoxPrivate::decrease(bool modified)
-{
- setValue(value - effectiveStepSize(), wrap, modified);
-}
-
-int QQuickSpinBoxPrivate::effectiveStepSize() const
-{
- return from > to ? -1 * stepSize : stepSize;
-}
-
-void QQuickSpinBoxPrivate::updateDisplayText()
-{
- Q_Q(QQuickSpinBox);
- QString text;
- QQmlEngine *engine = qmlEngine(q);
- if (engine && textFromValue.isCallable()) {
- QV4::ExecutionEngine *v4 = QQmlEnginePrivate::getV4Engine(engine);
- QJSValue loc(v4, QQmlLocale::wrap(v4, locale));
- text = textFromValue.call(QJSValueList() << value << loc).toString();
- } else {
- text = locale.toString(value);
- }
- setDisplayText(text);
-}
-
-void QQuickSpinBoxPrivate::setDisplayText(const QString &text)
-{
- Q_Q(QQuickSpinBox);
- if (displayText == text)
- return;
-
- displayText = text;
- emit q->displayTextChanged();
-}
-
-bool QQuickSpinBoxPrivate::upEnabled() const
-{
- const QQuickItem *upIndicator = up->indicator();
- return upIndicator && upIndicator->isEnabled();
-}
-
-void QQuickSpinBoxPrivate::updateUpEnabled()
-{
- QQuickItem *upIndicator = up->indicator();
- if (!upIndicator)
- return;
-
- upIndicator->setEnabled(wrap || (from < to ? value < to : value > to));
-}
-
-bool QQuickSpinBoxPrivate::downEnabled() const
-{
- const QQuickItem *downIndicator = down->indicator();
- return downIndicator && downIndicator->isEnabled();
-}
-
-void QQuickSpinBoxPrivate::updateDownEnabled()
-{
- QQuickItem *downIndicator = down->indicator();
- if (!downIndicator)
- return;
-
- downIndicator->setEnabled(wrap || (from < to ? value > from : value < from));
-}
-
-void QQuickSpinBoxPrivate::updateHover(const QPointF &pos)
-{
- Q_Q(QQuickSpinBox);
- QQuickItem *ui = up->indicator();
- QQuickItem *di = down->indicator();
- up->setHovered(ui && ui->isEnabled() && ui->contains(q->mapToItem(ui, pos)));
- down->setHovered(di && di->isEnabled() && di->contains(q->mapToItem(di, pos)));
-}
-
-void QQuickSpinBoxPrivate::startRepeatDelay()
-{
- Q_Q(QQuickSpinBox);
- stopPressRepeat();
- delayTimer = q->startTimer(AUTO_REPEAT_DELAY);
-}
-
-void QQuickSpinBoxPrivate::startPressRepeat()
-{
- Q_Q(QQuickSpinBox);
- stopPressRepeat();
- repeatTimer = q->startTimer(AUTO_REPEAT_INTERVAL);
-}
-
-void QQuickSpinBoxPrivate::stopPressRepeat()
-{
- Q_Q(QQuickSpinBox);
- if (delayTimer > 0) {
- q->killTimer(delayTimer);
- delayTimer = 0;
- }
- if (repeatTimer > 0) {
- q->killTimer(repeatTimer);
- repeatTimer = 0;
- }
-}
-
-void QQuickSpinBoxPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickSpinBox);
- QQuickControlPrivate::handlePress(point);
- QQuickItem *ui = up->indicator();
- QQuickItem *di = down->indicator();
- up->setPressed(ui && ui->isEnabled() && ui->contains(ui->mapFromItem(q, point)));
- down->setPressed(di && di->isEnabled() && di->contains(di->mapFromItem(q, point)));
-
- bool pressed = up->isPressed() || down->isPressed();
- q->setAccessibleProperty("pressed", pressed);
- if (pressed)
- startRepeatDelay();
-}
-
-void QQuickSpinBoxPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickSpinBox);
- QQuickControlPrivate::handleMove(point);
- QQuickItem *ui = up->indicator();
- QQuickItem *di = down->indicator();
- up->setHovered(ui && ui->isEnabled() && ui->contains(ui->mapFromItem(q, point)));
- up->setPressed(up->isHovered());
- down->setHovered(di && di->isEnabled() && di->contains(di->mapFromItem(q, point)));
- down->setPressed(down->isHovered());
-
- bool pressed = up->isPressed() || down->isPressed();
- q->setAccessibleProperty("pressed", pressed);
- if (!pressed)
- stopPressRepeat();
-}
-
-void QQuickSpinBoxPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickSpinBox);
- QQuickControlPrivate::handleRelease(point);
- QQuickItem *ui = up->indicator();
- QQuickItem *di = down->indicator();
-
- int oldValue = value;
- if (up->isPressed()) {
- up->setPressed(false);
- if (repeatTimer <= 0 && ui && ui->contains(ui->mapFromItem(q, point)))
- q->increase();
- } else if (down->isPressed()) {
- down->setPressed(false);
- if (repeatTimer <= 0 && di && di->contains(di->mapFromItem(q, point)))
- q->decrease();
- }
- if (value != oldValue)
- emit q->valueModified();
-
- q->setAccessibleProperty("pressed", false);
- stopPressRepeat();
-}
-
-void QQuickSpinBoxPrivate::handleUngrab()
-{
- Q_Q(QQuickSpinBox);
- QQuickControlPrivate::handleUngrab();
- up->setPressed(false);
- down->setPressed(false);
-
- q->setAccessibleProperty("pressed", false);
- stopPressRepeat();
-}
-
-void QQuickSpinBoxPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickControlPrivate::itemImplicitWidthChanged(item);
- if (item == up->indicator())
- emit up->implicitIndicatorWidthChanged();
- else if (item == down->indicator())
- emit down->implicitIndicatorWidthChanged();
-}
-
-void QQuickSpinBoxPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickControlPrivate::itemImplicitHeightChanged(item);
- if (item == up->indicator())
- emit up->implicitIndicatorHeightChanged();
- else if (item == down->indicator())
- emit down->implicitIndicatorHeightChanged();
-}
-
-QQuickSpinBox::QQuickSpinBox(QQuickItem *parent)
- : QQuickControl(*(new QQuickSpinBoxPrivate), parent)
-{
- Q_D(QQuickSpinBox);
- d->up = new QQuickSpinButton(this);
- d->down = new QQuickSpinButton(this);
-
- setFlag(ItemIsFocusScope);
- setFiltersChildMouseEvents(true);
- setAcceptedMouseButtons(Qt::LeftButton);
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
-}
-
-QQuickSpinBox::~QQuickSpinBox()
-{
- Q_D(QQuickSpinBox);
- d->removeImplicitSizeListener(d->up->indicator());
- d->removeImplicitSizeListener(d->down->indicator());
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::SpinBox::from
-
- This property holds the starting value for the range. The default value is \c 0.
-
- \sa to, value
-*/
-int QQuickSpinBox::from() const
-{
- Q_D(const QQuickSpinBox);
- return d->from;
-}
-
-void QQuickSpinBox::setFrom(int from)
-{
- Q_D(QQuickSpinBox);
- if (d->from == from)
- return;
-
- d->from = from;
- emit fromChanged();
- if (isComponentComplete()) {
- if (!d->setValue(d->value, /* allowWrap = */ false, /* modified = */ false)) {
- d->updateUpEnabled();
- d->updateDownEnabled();
- }
- }
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::SpinBox::to
-
- This property holds the end value for the range. The default value is \c 99.
-
- \sa from, value
-*/
-int QQuickSpinBox::to() const
-{
- Q_D(const QQuickSpinBox);
- return d->to;
-}
-
-void QQuickSpinBox::setTo(int to)
-{
- Q_D(QQuickSpinBox);
- if (d->to == to)
- return;
-
- d->to = to;
- emit toChanged();
- if (isComponentComplete()) {
- if (!d->setValue(d->value, /* allowWrap = */false, /* modified = */ false)) {
- d->updateUpEnabled();
- d->updateDownEnabled();
- }
- }
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::SpinBox::value
-
- This property holds the value in the range \c from - \c to. The default value is \c 0.
-*/
-int QQuickSpinBox::value() const
-{
- Q_D(const QQuickSpinBox);
- return d->value;
-}
-
-void QQuickSpinBox::setValue(int value)
-{
- Q_D(QQuickSpinBox);
- d->setValue(value, /* allowWrap = */ false, /* modified = */ false);
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::SpinBox::stepSize
-
- This property holds the step size. The default value is \c 1.
-
- \sa increase(), decrease()
-*/
-int QQuickSpinBox::stepSize() const
-{
- Q_D(const QQuickSpinBox);
- return d->stepSize;
-}
-
-void QQuickSpinBox::setStepSize(int step)
-{
- Q_D(QQuickSpinBox);
- if (d->stepSize == step)
- return;
-
- d->stepSize = step;
- emit stepSizeChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::SpinBox::editable
-
- This property holds whether the spinbox is editable. The default value is \c false.
-
- \sa validator
-*/
-bool QQuickSpinBox::isEditable() const
-{
- Q_D(const QQuickSpinBox);
- return d->editable;
-}
-
-void QQuickSpinBox::setEditable(bool editable)
-{
- Q_D(QQuickSpinBox);
- if (d->editable == editable)
- return;
-
-#if QT_CONFIG(cursor)
- if (d->contentItem) {
- if (editable)
- d->contentItem->setCursor(Qt::IBeamCursor);
- else
- d->contentItem->unsetCursor();
- }
-#endif
-
- d->editable = editable;
- setAccessibleProperty("editable", editable);
- emit editableChanged();
-}
-
-/*!
- \qmlproperty Validator QtQuick.Controls::SpinBox::validator
-
- This property holds the input text validator for editable spinboxes. By
- default, SpinBox uses \l IntValidator to accept input of integer numbers.
-
- \code
- SpinBox {
- id: control
- validator: IntValidator {
- locale: control.locale.name
- bottom: Math.min(control.from, control.to)
- top: Math.max(control.from, control.to)
- }
- }
- \endcode
-
- \sa editable, textFromValue, valueFromText, {Control::locale}{locale}
-*/
-QValidator *QQuickSpinBox::validator() const
-{
- Q_D(const QQuickSpinBox);
- return d->validator;
-}
-
-void QQuickSpinBox::setValidator(QValidator *validator)
-{
- Q_D(QQuickSpinBox);
- if (d->validator == validator)
- return;
-
- d->validator = validator;
- emit validatorChanged();
-}
-
-/*!
- \qmlproperty function QtQuick.Controls::SpinBox::textFromValue
-
- This property holds a callback function that is called whenever
- an integer value needs to be converted to display text.
-
- The default function can be overridden to display custom text for a given
- value. This applies to both editable and non-editable spinboxes;
- for example, when using the up and down buttons or a mouse wheel to
- increment and decrement the value, the new value is converted to display
- text using this function.
-
- The callback function signature is \c {string function(value, locale)}.
- The function can have one or two arguments, where the first argument
- is the value to be converted, and the optional second argument is the
- locale that should be used for the conversion, if applicable.
-
- The default implementation does the conversion using
- \l {QtQml::Number::toLocaleString()}{Number.toLocaleString}():
-
- \code
- textFromValue: function(value, locale) { return Number(value).toLocaleString(locale, 'f', 0); }
- \endcode
-
- \note When applying a custom \c textFromValue implementation for editable
- spinboxes, a matching \l valueFromText implementation must be provided
- to be able to convert the custom text back to an integer value.
-
- \sa valueFromText, validator, {Control::locale}{locale}
-*/
-QJSValue QQuickSpinBox::textFromValue() const
-{
- Q_D(const QQuickSpinBox);
- if (!d->textFromValue.isCallable()) {
- QQmlEngine *engine = qmlEngine(this);
- if (engine)
- d->textFromValue = engine->evaluate(QStringLiteral("(function(value, locale) { return Number(value).toLocaleString(locale, 'f', 0); })"));
- }
- return d->textFromValue;
-}
-
-void QQuickSpinBox::setTextFromValue(const QJSValue &callback)
-{
- Q_D(QQuickSpinBox);
- if (!callback.isCallable()) {
- qmlWarning(this) << "textFromValue must be a callable function";
- return;
- }
- d->textFromValue = callback;
- emit textFromValueChanged();
-}
-
-/*!
- \qmlproperty function QtQuick.Controls::SpinBox::valueFromText
-
- This property holds a callback function that is called whenever
- input text needs to be converted to an integer value.
-
- This function only needs to be overridden when \l textFromValue
- is overridden for an editable spinbox.
-
- The callback function signature is \c {int function(text, locale)}.
- The function can have one or two arguments, where the first argument
- is the text to be converted, and the optional second argument is the
- locale that should be used for the conversion, if applicable.
-
- The default implementation does the conversion using \l {QtQml::Locale}{Number.fromLocaleString()}:
-
- \code
- valueFromText: function(text, locale) { return Number.fromLocaleString(locale, text); }
- \endcode
-
- \note When applying a custom \l textFromValue implementation for editable
- spinboxes, a matching \c valueFromText implementation must be provided
- to be able to convert the custom text back to an integer value.
-
- \sa textFromValue, validator, {Control::locale}{locale}
-*/
-QJSValue QQuickSpinBox::valueFromText() const
-{
- Q_D(const QQuickSpinBox);
- if (!d->valueFromText.isCallable()) {
- QQmlEngine *engine = qmlEngine(this);
- if (engine)
- d->valueFromText = engine->evaluate(QStringLiteral("function(text, locale) { return Number.fromLocaleString(locale, text); }"));
- }
- return d->valueFromText;
-}
-
-void QQuickSpinBox::setValueFromText(const QJSValue &callback)
-{
- Q_D(QQuickSpinBox);
- if (!callback.isCallable()) {
- qmlWarning(this) << "valueFromText must be a callable function";
- return;
- }
- d->valueFromText = callback;
- emit valueFromTextChanged();
-}
-
-/*!
- \qmlpropertygroup QtQuick.Controls::SpinBox::up
- \qmlproperty bool QtQuick.Controls::SpinBox::up.pressed
- \qmlproperty Item QtQuick.Controls::SpinBox::up.indicator
- \qmlproperty bool QtQuick.Controls::SpinBox::up.hovered
- \qmlproperty real QtQuick.Controls::SpinBox::up.implicitIndicatorWidth
- \qmlproperty real QtQuick.Controls::SpinBox::up.implicitIndicatorHeight
-
- These properties hold the up indicator item and whether it is pressed or
- hovered. The \c up.hovered property was introduced in QtQuick.Controls 2.1,
- and the \c up.implicitIndicatorWidth and \c up.implicitIndicatorHeight
- properties were introduced in QtQuick.Controls 2.5.
-
- \sa increase()
-*/
-QQuickSpinButton *QQuickSpinBox::up() const
-{
- Q_D(const QQuickSpinBox);
- return d->up;
-}
-
-/*!
- \qmlpropertygroup QtQuick.Controls::SpinBox::down
- \qmlproperty bool QtQuick.Controls::SpinBox::down.pressed
- \qmlproperty Item QtQuick.Controls::SpinBox::down.indicator
- \qmlproperty bool QtQuick.Controls::SpinBox::down.hovered
- \qmlproperty real QtQuick.Controls::SpinBox::down.implicitIndicatorWidth
- \qmlproperty real QtQuick.Controls::SpinBox::down.implicitIndicatorHeight
-
- These properties hold the down indicator item and whether it is pressed or
- hovered. The \c down.hovered property was introduced in QtQuick.Controls 2.1,
- and the \c down.implicitIndicatorWidth and \c down.implicitIndicatorHeight
- properties were introduced in QtQuick.Controls 2.5.
-
- \sa decrease()
-*/
-QQuickSpinButton *QQuickSpinBox::down() const
-{
- Q_D(const QQuickSpinBox);
- return d->down;
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty flags QtQuick.Controls::SpinBox::inputMethodHints
-
- This property provides hints to the input method about the expected content
- of the spin box and how it should operate.
-
- The default value is \c Qt.ImhDigitsOnly.
-
- \include inputmethodhints.qdocinc
-*/
-Qt::InputMethodHints QQuickSpinBox::inputMethodHints() const
-{
- Q_D(const QQuickSpinBox);
- return d->inputMethodHints;
-}
-
-void QQuickSpinBox::setInputMethodHints(Qt::InputMethodHints hints)
-{
- Q_D(QQuickSpinBox);
- if (d->inputMethodHints == hints)
- return;
-
- d->inputMethodHints = hints;
- emit inputMethodHintsChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty bool QtQuick.Controls::SpinBox::inputMethodComposing
- \readonly
-
- This property holds whether an editable spin box has partial text input from an input method.
-
- While it is composing, an input method may rely on mouse or key events from the spin box to
- edit or commit the partial text. This property can be used to determine when to disable event
- handlers that may interfere with the correct operation of an input method.
-*/
-bool QQuickSpinBox::isInputMethodComposing() const
-{
- Q_D(const QQuickSpinBox);
- return d->contentItem && d->contentItem->property("inputMethodComposing").toBool();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::SpinBox::wrap
-
- This property holds whether the spinbox wraps. The default value is \c false.
-
- If wrap is \c true, stepping past \l to changes the value to \l from and vice versa.
-*/
-bool QQuickSpinBox::wrap() const
-{
- Q_D(const QQuickSpinBox);
- return d->wrap;
-}
-
-void QQuickSpinBox::setWrap(bool wrap)
-{
- Q_D(QQuickSpinBox);
- if (d->wrap == wrap)
- return;
-
- d->wrap = wrap;
- if (d->value == d->from || d->value == d->to) {
- d->updateUpEnabled();
- d->updateDownEnabled();
- }
- emit wrapChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.4 (Qt 5.11)
- \qmlproperty string QtQuick.Controls::SpinBox::displayText
- \readonly
-
- This property holds the textual value of the spinbox.
-
- The value of the property is based on \l textFromValue and \l {Control::}
- {locale}, and equal to:
- \badcode
- var text = spinBox.textFromValue(spinBox.value, spinBox.locale)
- \endcode
-
- \sa textFromValue
-*/
-QString QQuickSpinBox::displayText() const
-{
- Q_D(const QQuickSpinBox);
- return d->displayText;
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::SpinBox::increase()
-
- Increases the value by \l stepSize, or \c 1 if stepSize is not defined.
-
- \sa stepSize
-*/
-void QQuickSpinBox::increase()
-{
- Q_D(QQuickSpinBox);
- d->increase(false);
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::SpinBox::decrease()
-
- Decreases the value by \l stepSize, or \c 1 if stepSize is not defined.
-
- \sa stepSize
-*/
-void QQuickSpinBox::decrease()
-{
- Q_D(QQuickSpinBox);
- d->decrease(false);
-}
-
-void QQuickSpinBox::focusInEvent(QFocusEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::focusInEvent(event);
-
- // When an editable SpinBox gets focus, it must pass on the focus to its editor.
- if (d->editable && d->contentItem && !d->contentItem->hasActiveFocus())
- d->contentItem->forceActiveFocus(event->reason());
-}
-
-void QQuickSpinBox::hoverEnterEvent(QHoverEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::hoverEnterEvent(event);
- d->updateHover(event->posF());
-}
-
-void QQuickSpinBox::hoverMoveEvent(QHoverEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::hoverMoveEvent(event);
- d->updateHover(event->posF());
-}
-
-void QQuickSpinBox::hoverLeaveEvent(QHoverEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::hoverLeaveEvent(event);
- d->down->setHovered(false);
- d->up->setHovered(false);
-}
-
-void QQuickSpinBox::keyPressEvent(QKeyEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::keyPressEvent(event);
-
- switch (event->key()) {
- case Qt::Key_Up:
- if (d->upEnabled()) {
- d->increase(true);
- d->up->setPressed(true);
- event->accept();
- }
- break;
-
- case Qt::Key_Down:
- if (d->downEnabled()) {
- d->decrease(true);
- d->down->setPressed(true);
- event->accept();
- }
- break;
-
- default:
- break;
- }
-
- setAccessibleProperty("pressed", d->up->isPressed() || d->down->isPressed());
-}
-
-void QQuickSpinBox::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::keyReleaseEvent(event);
-
- if (d->editable && (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return))
- d->updateValue();
-
- d->up->setPressed(false);
- d->down->setPressed(false);
- setAccessibleProperty("pressed", false);
-}
-
-void QQuickSpinBox::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::timerEvent(event);
- if (event->timerId() == d->delayTimer) {
- d->startPressRepeat();
- } else if (event->timerId() == d->repeatTimer) {
- if (d->up->isPressed())
- d->increase(true);
- else if (d->down->isPressed())
- d->decrease(true);
- }
-}
-
-#if QT_CONFIG(wheelevent)
-void QQuickSpinBox::wheelEvent(QWheelEvent *event)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::wheelEvent(event);
- if (d->wheelEnabled) {
- const QPointF angle = event->angleDelta();
- const qreal delta = (qFuzzyIsNull(angle.y()) ? angle.x() : angle.y()) / QWheelEvent::DefaultDeltasPerStep;
- d->stepBy(qRound(d->effectiveStepSize() * delta), true);
- }
-}
-#endif
-
-void QQuickSpinBox::classBegin()
-{
- Q_D(QQuickSpinBox);
- QQuickControl::classBegin();
-
- QQmlContext *context = qmlContext(this);
- if (context) {
- QQmlEngine::setContextForObject(d->up, context);
- QQmlEngine::setContextForObject(d->down, context);
- }
-}
-
-void QQuickSpinBox::componentComplete()
-{
- Q_D(QQuickSpinBox);
- QQuickSpinButtonPrivate::get(d->up)->executeIndicator(true);
- QQuickSpinButtonPrivate::get(d->down)->executeIndicator(true);
-
- QQuickControl::componentComplete();
- if (!d->setValue(d->value, /* allowWrap = */ false, /* modified = */ false)) {
- d->updateDisplayText();
- d->updateUpEnabled();
- d->updateDownEnabled();
- }
-}
-
-void QQuickSpinBox::itemChange(ItemChange change, const ItemChangeData &value)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::itemChange(change, value);
- if (d->editable && change == ItemActiveFocusHasChanged && !value.boolValue)
- d->updateValue();
-}
-
-void QQuickSpinBox::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickSpinBox);
- if (QQuickTextInput *oldInput = qobject_cast<QQuickTextInput *>(oldItem))
- disconnect(oldInput, &QQuickTextInput::inputMethodComposingChanged, this, &QQuickSpinBox::inputMethodComposingChanged);
-
- if (newItem) {
- newItem->setActiveFocusOnTab(true);
- if (d->activeFocus)
- newItem->forceActiveFocus(d->focusReason);
-#if QT_CONFIG(cursor)
- if (d->editable)
- newItem->setCursor(Qt::IBeamCursor);
-#endif
-
- if (QQuickTextInput *newInput = qobject_cast<QQuickTextInput *>(newItem))
- connect(newInput, &QQuickTextInput::inputMethodComposingChanged, this, &QQuickSpinBox::inputMethodComposingChanged);
- }
-}
-
-void QQuickSpinBox::localeChange(const QLocale &newLocale, const QLocale &oldLocale)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::localeChange(newLocale, oldLocale);
- d->updateDisplayText();
-}
-
-QFont QQuickSpinBox::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::SpinBox);
-}
-
-QPalette QQuickSpinBox::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::SpinBox);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickSpinBox::accessibleRole() const
-{
- return QAccessible::SpinBox;
-}
-
-void QQuickSpinBox::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickSpinBox);
- QQuickControl::accessibilityActiveChanged(active);
-
- if (active)
- setAccessibleProperty("editable", d->editable);
-}
-#endif
-
-static inline QString indicatorName() { return QStringLiteral("indicator"); }
-
-void QQuickSpinButtonPrivate::cancelIndicator()
-{
- Q_Q(QQuickSpinButton);
- quickCancelDeferred(q, indicatorName());
-}
-
-void QQuickSpinButtonPrivate::executeIndicator(bool complete)
-{
- Q_Q(QQuickSpinButton);
- if (indicator.wasExecuted())
- return;
-
- if (!indicator || complete)
- quickBeginDeferred(q, indicatorName(), indicator);
- if (complete)
- quickCompleteDeferred(q, indicatorName(), indicator);
-}
-
-QQuickSpinButton::QQuickSpinButton(QQuickSpinBox *parent)
- : QObject(*(new QQuickSpinButtonPrivate), parent)
-{
-}
-
-bool QQuickSpinButton::isPressed() const
-{
- Q_D(const QQuickSpinButton);
- return d->pressed;
-}
-
-void QQuickSpinButton::setPressed(bool pressed)
-{
- Q_D(QQuickSpinButton);
- if (d->pressed == pressed)
- return;
-
- d->pressed = pressed;
- emit pressedChanged();
-}
-
-QQuickItem *QQuickSpinButton::indicator() const
-{
- QQuickSpinButtonPrivate *d = const_cast<QQuickSpinButtonPrivate *>(d_func());
- if (!d->indicator)
- d->executeIndicator();
- return d->indicator;
-}
-
-void QQuickSpinButton::setIndicator(QQuickItem *indicator)
-{
- Q_D(QQuickSpinButton);
- if (d->indicator == indicator)
- return;
-
- if (!d->indicator.isExecuting())
- d->cancelIndicator();
-
- const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
- const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
-
- QQuickSpinBox *spinBox = static_cast<QQuickSpinBox *>(parent());
- QQuickSpinBoxPrivate::get(spinBox)->removeImplicitSizeListener(d->indicator);
- delete d->indicator;
- d->indicator = indicator;
-
- if (indicator) {
- if (!indicator->parentItem())
- indicator->setParentItem(spinBox);
- QQuickSpinBoxPrivate::get(spinBox)->addImplicitSizeListener(indicator);
- }
-
- if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
- emit implicitIndicatorWidthChanged();
- if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
- emit implicitIndicatorHeightChanged();
- if (!d->indicator.isExecuting())
- emit indicatorChanged();
-}
-
-bool QQuickSpinButton::isHovered() const
-{
- Q_D(const QQuickSpinButton);
- return d->hovered;
-}
-
-void QQuickSpinButton::setHovered(bool hovered)
-{
- Q_D(QQuickSpinButton);
- if (d->hovered == hovered)
- return;
-
- d->hovered = hovered;
- emit hoveredChanged();
-}
-
-qreal QQuickSpinButton::implicitIndicatorWidth() const
-{
- Q_D(const QQuickSpinButton);
- if (!d->indicator)
- return 0;
- return d->indicator->implicitWidth();
-}
-
-qreal QQuickSpinButton::implicitIndicatorHeight() const
-{
- Q_D(const QQuickSpinButton);
- if (!d->indicator)
- return 0;
- return d->indicator->implicitHeight();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickspinbox_p.h b/src/quicktemplates2/qquickspinbox_p.h
deleted file mode 100644
index 4a339b76..00000000
--- a/src/quicktemplates2/qquickspinbox_p.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSPINBOX_P_H
-#define QQUICKSPINBOX_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQml/qjsvalue.h>
-
-QT_BEGIN_NAMESPACE
-
-class QValidator;
-class QQuickSpinButton;
-class QQuickSpinButtonPrivate;
-class QQuickSpinBoxPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSpinBox : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(int from READ from WRITE setFrom NOTIFY fromChanged FINAL)
- Q_PROPERTY(int to READ to WRITE setTo NOTIFY toChanged FINAL)
- Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged FINAL)
- Q_PROPERTY(int stepSize READ stepSize WRITE setStepSize NOTIFY stepSizeChanged FINAL)
- Q_PROPERTY(bool editable READ isEditable WRITE setEditable NOTIFY editableChanged FINAL)
- Q_PROPERTY(QValidator *validator READ validator WRITE setValidator NOTIFY validatorChanged FINAL)
- Q_PROPERTY(QJSValue textFromValue READ textFromValue WRITE setTextFromValue NOTIFY textFromValueChanged FINAL)
- Q_PROPERTY(QJSValue valueFromText READ valueFromText WRITE setValueFromText NOTIFY valueFromTextChanged FINAL)
- Q_PROPERTY(QQuickSpinButton *up READ up CONSTANT FINAL)
- Q_PROPERTY(QQuickSpinButton *down READ down CONSTANT FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints NOTIFY inputMethodHintsChanged FINAL REVISION 2)
- Q_PROPERTY(bool inputMethodComposing READ isInputMethodComposing NOTIFY inputMethodComposingChanged FINAL REVISION 2)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool wrap READ wrap WRITE setWrap NOTIFY wrapChanged FINAL REVISION 3)
- // 2.4 (Qt 5.11)
- Q_PROPERTY(QString displayText READ displayText NOTIFY displayTextChanged FINAL REVISION 4)
-
-public:
- explicit QQuickSpinBox(QQuickItem *parent = nullptr);
- ~QQuickSpinBox();
-
- int from() const;
- void setFrom(int from);
-
- int to() const;
- void setTo(int to);
-
- int value() const;
- void setValue(int value);
-
- int stepSize() const;
- void setStepSize(int step);
-
- bool isEditable() const;
- void setEditable(bool editable);
-
- QValidator *validator() const;
- void setValidator(QValidator *validator);
-
- QJSValue textFromValue() const;
- void setTextFromValue(const QJSValue &callback);
-
- QJSValue valueFromText() const;
- void setValueFromText(const QJSValue &callback);
-
- QQuickSpinButton *up() const;
- QQuickSpinButton *down() const;
-
- // 2.2 (Qt 5.9)
- Qt::InputMethodHints inputMethodHints() const;
- void setInputMethodHints(Qt::InputMethodHints hints);
-
- bool isInputMethodComposing() const;
-
- // 2.3 (Qt 5.10)
- bool wrap() const;
- void setWrap(bool wrap);
-
- // 2.4 (Qt 5.11)
- QString displayText() const;
-
-public Q_SLOTS:
- void increase();
- void decrease();
-
-Q_SIGNALS:
- void fromChanged();
- void toChanged();
- void valueChanged();
- void stepSizeChanged();
- void editableChanged();
- void validatorChanged();
- void textFromValueChanged();
- void valueFromTextChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void valueModified();
- Q_REVISION(2) void inputMethodHintsChanged();
- Q_REVISION(2) void inputMethodComposingChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void wrapChanged();
- // 2.4 (Qt 5.11)
- Q_REVISION(4) void displayTextChanged();
-
-protected:
- void focusInEvent(QFocusEvent *event) override;
- void hoverEnterEvent(QHoverEvent *event) override;
- void hoverMoveEvent(QHoverEvent *event) override;
- void hoverLeaveEvent(QHoverEvent *event) override;
- void keyPressEvent(QKeyEvent *event) override;
- void keyReleaseEvent(QKeyEvent *event) override;
- void timerEvent(QTimerEvent *event) override;
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
-
- void classBegin() override;
- void componentComplete() override;
- void itemChange(ItemChange change, const ItemChangeData &value) override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickSpinBox)
- Q_DECLARE_PRIVATE(QQuickSpinBox)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSpinButton : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed NOTIFY pressedChanged FINAL)
- Q_PROPERTY(QQuickItem *indicator READ indicator WRITE setIndicator NOTIFY indicatorChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool hovered READ isHovered WRITE setHovered NOTIFY hoveredChanged FINAL REVISION 1)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(qreal implicitIndicatorWidth READ implicitIndicatorWidth NOTIFY implicitIndicatorWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitIndicatorHeight READ implicitIndicatorHeight NOTIFY implicitIndicatorHeightChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "indicator")
-
-public:
- explicit QQuickSpinButton(QQuickSpinBox *parent);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
- QQuickItem *indicator() const;
- void setIndicator(QQuickItem *indicator);
-
- // 2.1 (Qt 5.8)
- bool isHovered() const;
- void setHovered(bool hovered);
-
- // 2.5 (Qt 5.12)
- qreal implicitIndicatorWidth() const;
- qreal implicitIndicatorHeight() const;
-
-Q_SIGNALS:
- void pressedChanged();
- void indicatorChanged();
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void hoveredChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void implicitIndicatorWidthChanged();
- Q_REVISION(5) void implicitIndicatorHeightChanged();
-
-private:
- Q_DISABLE_COPY(QQuickSpinButton)
- Q_DECLARE_PRIVATE(QQuickSpinButton)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSpinBox)
-
-#endif // QQUICKSPINBOX_P_H
diff --git a/src/quicktemplates2/qquicksplitview.cpp b/src/quicktemplates2/qquicksplitview.cpp
deleted file mode 100644
index 75cd9674..00000000
--- a/src/quicktemplates2/qquicksplitview.cpp
+++ /dev/null
@@ -1,2049 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicksplitview_p.h"
-#include "qquicksplitview_p_p.h"
-#include "qquickcontentitem_p.h"
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qloggingcategory.h>
-#include <QtCore/qcborarray.h>
-#include <QtCore/qcbormap.h>
-#include <QtCore/qcborvalue.h>
-#include <QtQml/QQmlInfo>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype SplitView
- \inherits Control
- \instantiates QQuickSplitView
- \inqmlmodule QtQuick.Controls
- \since 5.13
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Lays out items with a draggable splitter between each item
-
- SplitView is a control that lays out items horizontally or vertically with
- a draggable splitter between each item.
-
- SplitView supports the following attached properties on items it manages:
-
- \list
- \li \l SplitView.minimumWidth
- \li \l SplitView.minimumHeight
- \li \l SplitView.preferredWidth
- \li \l SplitView.preferredHeight
- \li \l SplitView.maximumWidth
- \li \l SplitView.maximumHeight
- \li \l SplitView.fillWidth (true for only one child)
- \li \l SplitView.fillHeight (true for only one child)
- \endlist
-
- In addition, each handle has the following read-only attached properties:
-
- \list
- \li \l SplitHandle.hovered
- \li \l SplitHandle.pressed
- \endlist
-
- The preferred size of items in a SplitView can be specified via
- \l {Item::}{implicitWidth} and \l {Item::}{implicitHeight} or
- \c SplitView.preferredWidth and \c SplitView.preferredHeight:
-
- \code
- SplitView {
- anchors.fill: parent
-
- Item {
- SplitView.preferredWidth: 50
- }
-
- // ...
- }
- \endcode
-
- For a horizontal SplitView, it's not necessary to specify the preferred
- height of each item, as they will be resized to the height of the view.
- This applies in reverse for vertical views.
-
- When a split handle is dragged, the \c SplitView.preferredWidth or
- \c SplitView.preferredHeight property is overwritten, depending on the
- \l orientation of the view.
-
- To limit the size of items in a horizontal view, use the following
- properties:
-
- \code
- SplitView {
- anchors.fill: parent
-
- Item {
- SplitView.minimumWidth: 25
- SplitView.preferredWidth: 50
- SplitView.maximumWidth: 100
- }
-
- // ...
- }
- \endcode
-
- To limit the size of items in a vertical view, use the following
- properties:
-
- \code
- SplitView {
- anchors.fill: parent
- orientation: Qt.Vertical
-
- Item {
- SplitView.minimumHeight: 25
- SplitView.preferredHeight: 50
- SplitView.maximumHeight: 100
- }
-
- // ...
- }
- \endcode
-
- There will always be one item (the fill item) in the SplitView that has
- \c SplitView.fillWidth set to \c true (or \c SplitView.fillHeight, if
- \l orientation is \c Qt.Vertical). This means that the item will get all
- leftover space when other items have been laid out. By default, the last
- visible child of the SplitView will have this set, but it can be changed by
- explicitly setting \c fillWidth to \c true on another item.
-
- A handle can belong to the item either on the left or top side, or on the
- right or bottom side:
-
- \list
- \li If the fill item is to the right: the handle belongs to the left
- item.
- \li If the fill item is on the left: the handle belongs to the right
- item.
- \endlist
-
- To create a SplitView with three items, and let the center item get
- superfluous space, one could do the following:
-
- \code
- SplitView {
- anchors.fill: parent
- orientation: Qt.Horizontal
-
- Rectangle {
- implicitWidth: 200
- SplitView.maximumWidth: 400
- color: "lightblue"
- Label {
- text: "View 1"
- anchors.centerIn: parent
- }
- }
- Rectangle {
- id: centerItem
- SplitView.minimumWidth: 50
- SplitView.fillWidth: true
- color: "lightgray"
- Label {
- text: "View 2"
- anchors.centerIn: parent
- }
- }
- Rectangle {
- implicitWidth: 200
- color: "lightgreen"
- Label {
- text: "View 3"
- anchors.centerIn: parent
- }
- }
- }
- \endcode
-
- \section1 Serializing SplitView's State
-
- The main purpose of SplitView is to allow users to easily configure the
- size of various UI elements. In addition, the user's preferred sizes should
- be remembered across sessions. To achieve this, the values of the \c
- SplitView.preferredWidth and \c SplitView.preferredHeight properties can be
- serialized using the \l saveState() and \l restoreState() functions:
-
- \qml \QtMinorVersion
- import QtQuick.Controls 2.\1
- import Qt.labs.settings 1.0
-
- ApplicationWindow {
- // ...
-
- Component.onCompleted: splitView.restoreState(settings.splitView)
- Component.onDestruction: settings.splitView = splitView.saveState()
-
- Settings {
- id: settings
- property var splitView
- }
-
- SplitView {
- id: splitView
- // ...
- }
- }
- \endqml
-
- Alternatively, the \l {Settings::}{value()} and \l {Settings::}{setValue()}
- functions of \l Settings can be used:
-
- \qml \QtMinorVersion
- import QtQuick.Controls 2.\1
- import Qt.labs.settings 1.0
-
- ApplicationWindow {
- // ...
-
- Component.onCompleted: splitView.restoreState(settings.value("ui/splitview"))
- Component.onDestruction: settings.setValue("ui/splitview", splitView.saveState())
-
- Settings {
- id: settings
- }
-
- SplitView {
- id: splitView
- // ...
- }
- }
- \endqml
-
- \sa SplitHandle, {Customizing SplitView}, {Container Controls}
-*/
-
-Q_LOGGING_CATEGORY(qlcQQuickSplitView, "qt.quick.controls.splitview")
-Q_LOGGING_CATEGORY(qlcQQuickSplitViewMouse, "qt.quick.controls.splitview.mouse")
-Q_LOGGING_CATEGORY(qlcQQuickSplitViewState, "qt.quick.controls.splitview.state")
-
-void QQuickSplitViewPrivate::updateFillIndex()
-{
- const int count = contentModel->count();
- const bool horizontal = isHorizontal();
-
- qCDebug(qlcQQuickSplitView) << "looking for fillWidth/Height item amongst" << count << "items";
-
- m_fillIndex = -1;
- int i = 0;
- int lastVisibleIndex = -1;
- for (; i < count; ++i) {
- QQuickItem *item = qobject_cast<QQuickItem*>(contentModel->object(i));
- if (!item->isVisible())
- continue;
-
- lastVisibleIndex = i;
-
- const QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, false));
- if (!attached)
- continue;
-
- if ((horizontal && attached->fillWidth()) || (!horizontal && attached->fillHeight())) {
- m_fillIndex = i;
- qCDebug(qlcQQuickSplitView) << "found fillWidth/Height item at index" << m_fillIndex;
- break;
- }
- }
-
- if (m_fillIndex == -1) {
- // If there was no item with fillWidth/fillHeight set, m_fillIndex will be -1,
- // and we'll set it to the last visible item.
- // If there was an item with fillWidth/fillHeight set, we were already done and this will be skipped.
- m_fillIndex = lastVisibleIndex != -1 ? lastVisibleIndex : count - 1;
- qCDebug(qlcQQuickSplitView) << "found no fillWidth/Height item; using last item at index" << m_fillIndex;
- }
-}
-
-/*
- Resizes split items according to their preferred size and any constraints.
-
- If a split item is being resized due to a split handle being dragged,
- it will be resized accordingly.
-
- Items that aren't visible are skipped.
-*/
-void QQuickSplitViewPrivate::layoutResizeSplitItems(qreal &usedWidth, qreal &usedHeight, int &indexBeingResizedDueToDrag)
-{
- const int count = contentModel->count();
- const bool horizontal = isHorizontal();
- for (int index = 0; index < count; ++index) {
- QQuickItem *item = qobject_cast<QQuickItem*>(contentModel->object(index));
- if (!item->isVisible()) {
- // The item is not visible, so skip it.
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": split item " << item
- << " at index " << index << " is not visible; skipping it and its handles (if any)";
- continue;
- }
-
- const QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
- QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, false));
- const auto sizeData = effectiveSizeData(itemPrivate, attached);
-
- const bool resizeLeftItem = m_fillIndex > m_pressedHandleIndex;
- // True if any handle is pressed.
- const bool isAHandlePressed = m_pressedHandleIndex != -1;
- // True if this particular item is being resized as a result of a handle being dragged.
- const bool isBeingResized = isAHandlePressed && ((resizeLeftItem && index == m_pressedHandleIndex)
- || (!resizeLeftItem && index == m_pressedHandleIndex + 1));
- if (isBeingResized) {
- indexBeingResizedDueToDrag = index;
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": dragging handle for item";
- }
-
- const qreal size = horizontal ? width : height;
- qreal requestedSize = 0;
- if (isBeingResized) {
- // Don't let the mouse go past either edge of the SplitView.
- const qreal clampedMousePos = horizontal
- ? qBound(qreal(0.0), m_mousePos.x(), width)
- : qBound(qreal(0.0), m_mousePos.y(), height);
-
- // We also need to ensure that the item's edge doesn't go too far
- // out and hence give the item more space than is available.
- const int firstIndex = resizeLeftItem ? m_pressedHandleIndex + 1 : 0;
- const int lastIndex = resizeLeftItem ? contentModel->count() - 1 : m_pressedHandleIndex;
- const qreal accumulated = accumulatedSize(firstIndex, lastIndex);
-
- const qreal mousePosRelativeToLeftHandleEdge = horizontal
- ? m_pressPos.x() - m_handlePosBeforePress.x()
- : m_pressPos.y() - m_handlePosBeforePress.y();
-
- const QQuickItem *pressedHandleItem = m_handleItems.at(m_pressedHandleIndex);
- const qreal pressedHandleSize = horizontal ? pressedHandleItem->width() : pressedHandleItem->height();
-
- if (resizeLeftItem) {
- // The handle shouldn't cross other handles, so use the right edge of
- // the first handle to the left as the left edge.
- qreal leftEdge = 0;
- if (m_pressedHandleIndex - 1 >= 0) {
- const QQuickItem *leftHandle = m_handleItems.at(m_pressedHandleIndex - 1);
- leftEdge = horizontal
- ? leftHandle->x() + leftHandle->width()
- : leftHandle->y() + leftHandle->height();
- }
-
- // The mouse can be clicked anywhere in the handle, and if we don't account for
- // its position within the handle, the handle will jump when dragged.
- const qreal pressedHandlePos = clampedMousePos - mousePosRelativeToLeftHandleEdge;
-
- const qreal rightStop = size - accumulated - pressedHandleSize;
- qreal leftStop = qMax(leftEdge, pressedHandlePos);
- // qBound() doesn't care if min is greater than max, but we do.
- if (leftStop > rightStop)
- leftStop = rightStop;
- const qreal newHandlePos = qBound(leftStop, pressedHandlePos, rightStop);
- const qreal newItemSize = newHandlePos - leftEdge;
-
- // Modify the preferredWidth, otherwise the original implicitWidth/preferredWidth
- // will be used on the next layout (when it's no longer being resized).
- if (!attached) {
- // Force the attached object to be created since we rely on it.
- attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, true));
- }
-
- /*
- Users could conceivably respond to size changes in items by setting attached
- SplitView properties:
-
- onWidthChanged: if (width < 10) secondItem.SplitView.preferredWidth = 100
-
- We handle this by doing another layout after the current layout if the
- attached/implicit size properties are set during this layout. However, we also
- need to set preferredWidth/Height here (for reasons mentioned in the comment above),
- but we don't want this to count as a request for a delayed layout, so we guard against it.
- */
- m_ignoreNextLayoutRequest = true;
-
- if (horizontal)
- attached->setPreferredWidth(newItemSize);
- else
- attached->setPreferredHeight(newItemSize);
-
- // We still need to use requestedWidth in the setWidth() call below,
- // because sizeData has already been calculated and now contains an old
- // effectivePreferredWidth value.
- requestedSize = newItemSize;
-
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": resized (dragged) " << item
- << " (clampedMousePos=" << clampedMousePos
- << " pressedHandlePos=" << pressedHandlePos
- << " accumulated=" << accumulated
- << " leftEdge=" << leftEdge
- << " leftStop=" << leftStop
- << " rightStop=" << rightStop
- << " newHandlePos=" << newHandlePos
- << " newItemSize=" << newItemSize << ")";
- } else { // Resizing the item on the right.
- // The handle shouldn't cross other handles, so use the left edge of
- // the first handle to the right as the right edge.
- qreal rightEdge = size;
- if (m_pressedHandleIndex + 1 < m_handleItems.size()) {
- const QQuickItem *rightHandle = m_handleItems.at(m_pressedHandleIndex + 1);
- rightEdge = horizontal ? rightHandle->x() : rightHandle->y();
- }
-
- // The mouse can be clicked anywhere in the handle, and if we don't account for
- // its position within the handle, the handle will jump when dragged.
- const qreal pressedHandlePos = clampedMousePos - mousePosRelativeToLeftHandleEdge;
-
- const qreal leftStop = accumulated - pressedHandleSize;
- qreal rightStop = qMin(rightEdge - pressedHandleSize, pressedHandlePos);
- // qBound() doesn't care if min is greater than max, but we do.
- if (rightStop < leftStop)
- rightStop = leftStop;
- const qreal newHandlePos = qBound(leftStop, pressedHandlePos, rightStop);
- const qreal newItemSize = rightEdge - (newHandlePos + pressedHandleSize);
-
- // Modify the preferredWidth, otherwise the original implicitWidth/preferredWidth
- // will be used on the next layout (when it's no longer being resized).
- if (!attached) {
- // Force the attached object to be created since we rely on it.
- attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, true));
- }
-
- m_ignoreNextLayoutRequest = true;
-
- if (horizontal)
- attached->setPreferredWidth(newItemSize);
- else
- attached->setPreferredHeight(newItemSize);
-
- // We still need to use requestedSize in the setWidth()/setHeight() call below,
- // because sizeData has already been calculated and now contains an old
- // effectivePreferredWidth/Height value.
- requestedSize = newItemSize;
-
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": resized (dragged) " << item
- << " (clampedMousePos=" << clampedMousePos
- << " pressedHandlePos=" << pressedHandlePos
- << " accumulated=" << accumulated
- << " leftEdge=" << rightEdge
- << " leftStop=" << leftStop
- << " rightStop=" << rightStop
- << " newHandlePos=" << newHandlePos
- << " newItemSize=" << newItemSize << ")";
- }
- } else if (index != m_fillIndex) {
- // No handle is being dragged and we're not the fill item,
- // so set our preferred size as we normally would.
- requestedSize = horizontal
- ? sizeData.effectivePreferredWidth : sizeData.effectivePreferredHeight;
- }
-
- if (index != m_fillIndex) {
- if (horizontal) {
- item->setWidth(qBound(
- sizeData.effectiveMinimumWidth,
- requestedSize,
- sizeData.effectiveMaximumWidth));
- item->setHeight(height);
- } else {
- item->setWidth(width);
- item->setHeight(qBound(
- sizeData.effectiveMinimumHeight,
- requestedSize,
- sizeData.effectiveMaximumHeight));
- }
-
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": resized split item " << item
- << " (effective"
- << " minW=" << sizeData.effectiveMinimumWidth
- << ", minH=" << sizeData.effectiveMinimumHeight
- << ", prfW=" << sizeData.effectivePreferredWidth
- << ", prfH=" << sizeData.effectivePreferredHeight
- << ", maxW=" << sizeData.effectiveMaximumWidth
- << ", maxH=" << sizeData.effectiveMaximumHeight << ")";
-
- // Keep track of how much space has been used so far.
- if (horizontal)
- usedWidth += item->width();
- else
- usedHeight += item->height();
- } else if (indexBeingResizedDueToDrag != m_fillIndex) {
- // The fill item is resized afterwards, outside of the loop.
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": skipping fill item as we resize it last";
- }
-
- // Also account for the size of the handle for this item (if any).
- // We do this for the fill item too, which is why it's outside of the check above.
- if (index < count - 1 && m_handle) {
- QQuickItem *handleItem = m_handleItems.at(index);
- // The handle for an item that's not visible will usually already be skipped
- // with the item visibility check higher up, but if the view looks like this
- // [ visible ] | [ visible (fill) ] | [ hidden ]
- // ^
- // hidden
- // and we're iterating over the second item (which is visible but has no handle),
- // we need to add an extra check for it to avoid it still taking up space.
- if (handleItem->isVisible()) {
- if (horizontal) {
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index
- << ": handle takes up " << handleItem->width() << " width";
- usedWidth += handleItem->width();
- } else {
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index
- << ": handle takes up " << handleItem->height() << " height";
- usedHeight += handleItem->height();
- }
- } else {
- qCDebug(qlcQQuickSplitView).nospace() << " - " << index << ": handle is not visible; skipping it";
- }
- }
- }
-}
-
-/*
- Resizes the fill item by giving it the remaining space
- after all other items have been resized.
-
- Items that aren't visible are skipped.
-*/
-void QQuickSplitViewPrivate::layoutResizeFillItem(QQuickItem *fillItem,
- qreal &usedWidth, qreal &usedHeight, int indexBeingResizedDueToDrag)
-{
- // Only bother resizing if it it's visible. Also, if it's being resized due to a drag,
- // then we've already set its size in layoutResizeSplitItems(), so no need to do it here.
- if (!fillItem->isVisible() || indexBeingResizedDueToDrag == m_fillIndex) {
- qCDebug(qlcQQuickSplitView).nospace() << m_fillIndex << ": - fill item " << fillItem
- << " is not visible or was already resized due to a drag;"
- << " skipping it and its handles (if any)";
- return;
- }
-
- const QQuickItemPrivate *fillItemPrivate = QQuickItemPrivate::get(fillItem);
- const QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(fillItem, false));
- const auto fillSizeData = effectiveSizeData(fillItemPrivate, attached);
- if (isHorizontal()) {
- fillItem->setWidth(qBound(
- fillSizeData.effectiveMinimumWidth,
- width - usedWidth,
- fillSizeData.effectiveMaximumWidth));
- fillItem->setHeight(height);
- } else {
- fillItem->setWidth(width);
- fillItem->setHeight(qBound(
- fillSizeData.effectiveMinimumHeight,
- height - usedHeight,
- fillSizeData.effectiveMaximumHeight));
- }
-
- qCDebug(qlcQQuickSplitView).nospace() << " - " << m_fillIndex
- << ": resized split fill item " << fillItem << " (effective"
- << " minW=" << fillSizeData.effectiveMinimumWidth
- << ", minH=" << fillSizeData.effectiveMinimumHeight
- << ", maxW=" << fillSizeData.effectiveMaximumWidth
- << ", maxH=" << fillSizeData.effectiveMaximumHeight << ")";
-}
-
-/*
- Positions items by laying them out in a row or column.
-
- Items that aren't visible are skipped.
-*/
-void QQuickSplitViewPrivate::layoutPositionItems(const QQuickItem *fillItem)
-{
- const bool horizontal = isHorizontal();
- const int count = contentModel->count();
- qreal usedWidth = 0;
- qreal usedHeight = 0;
-
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = qobject_cast<QQuickItem*>(contentModel->object(i));
- if (!item->isVisible()) {
- qCDebug(qlcQQuickSplitView).nospace() << " - " << i << ": split item " << item
- << " is not visible; skipping it and its handles (if any)";
- continue;
- }
-
- // Position the item.
- if (horizontal) {
- item->setX(usedWidth);
- item->setY(0);
- } else {
- item->setX(0);
- item->setY(usedHeight);
- }
-
- // Keep track of how much space has been used so far.
- if (horizontal)
- usedWidth += item->width();
- else
- usedHeight += item->height();
-
- if (Q_UNLIKELY(qlcQQuickSplitView().isDebugEnabled())) {
- const QQuickItemPrivate *fillItemPrivate = QQuickItemPrivate::get(fillItem);
- const QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(fillItem, false));
- const auto sizeData = effectiveSizeData(fillItemPrivate, attached);
- qCDebug(qlcQQuickSplitView).nospace() << " - " << i << ": positioned "
- << (i == m_fillIndex ? "fill item " : "item ") << item << " (effective"
- << " minW=" << sizeData.effectiveMinimumWidth
- << ", minH=" << sizeData.effectiveMinimumHeight
- << ", prfW=" << sizeData.effectivePreferredWidth
- << ", prfH=" << sizeData.effectivePreferredHeight
- << ", maxW=" << sizeData.effectiveMaximumWidth
- << ", maxH=" << sizeData.effectiveMaximumHeight << ")";
- }
-
- // Position the handle for this item (if any).
- if (i < count - 1 && m_handle) {
- // Position the handle.
- QQuickItem *handleItem = m_handleItems.at(i);
- handleItem->setX(horizontal ? usedWidth : 0);
- handleItem->setY(horizontal ? 0 : usedHeight);
-
- if (horizontal)
- usedWidth += handleItem->width();
- else
- usedHeight += handleItem->height();
-
- qCDebug(qlcQQuickSplitView).nospace() << " - " << i << ": positioned handle " << handleItem;
- }
- }
-}
-
-void QQuickSplitViewPrivate::requestLayout()
-{
- Q_Q(QQuickSplitView);
- q->polish();
-}
-
-void QQuickSplitViewPrivate::layout()
-{
- if (!componentComplete)
- return;
-
- if (m_layingOut)
- return;
-
- const int count = contentModel->count();
- if (count <= 0)
- return;
-
- Q_ASSERT_X(m_fillIndex < count, Q_FUNC_INFO, qPrintable(
- QString::fromLatin1("m_fillIndex is %1 but our count is %2").arg(m_fillIndex).arg(count)));
-
- Q_ASSERT_X(!m_handle || m_handleItems.size() == count - 1, Q_FUNC_INFO, qPrintable(QString::fromLatin1(
- "Expected %1 handle items, but there are %2").arg(count - 1).arg(m_handleItems.size())));
-
- // We allow mouse events to instantly trigger layouts, whereas with e.g.
- // attached properties being set, we require a delayed layout.
- // To prevent recursive calls during mouse events, we need this guard.
- QBoolBlocker guard(m_layingOut, true);
-
- const bool horizontal = isHorizontal();
- qCDebug(qlcQQuickSplitView) << "laying out" << count << "split items"
- << (horizontal ? "horizontally" : "vertically") << "in SplitView" << q_func();
-
- qreal usedWidth = 0;
- qreal usedHeight = 0;
- int indexBeingResizedDueToDrag = -1;
-
- qCDebug(qlcQQuickSplitView) << " resizing:";
-
- // First, resize the items. We need to do this first because otherwise fill
- // items would take up all of the remaining space as soon as they are encountered.
- layoutResizeSplitItems(usedWidth, usedHeight, indexBeingResizedDueToDrag);
-
- qCDebug(qlcQQuickSplitView).nospace()
- << " - (remaining width=" << width - usedWidth
- << " remaining height=" << height - usedHeight << ")";
-
- // Give the fill item the remaining space.
- QQuickItem *fillItem = qobject_cast<QQuickItem*>(contentModel->object(m_fillIndex));
- layoutResizeFillItem(fillItem, usedWidth, usedHeight, indexBeingResizedDueToDrag);
-
- qCDebug(qlcQQuickSplitView) << " positioning:";
-
- // Position the items.
- layoutPositionItems(fillItem);
-
- qCDebug(qlcQQuickSplitView).nospace() << "finished layouting";
-}
-
-void QQuickSplitViewPrivate::createHandles()
-{
- Q_ASSERT(m_handle);
- // A handle only makes sense if there are two items on either side.
- if (contentModel->count() <= 1)
- return;
-
- // Create new handle items if there aren't enough.
- const int count = contentModel->count() - 1;
- qCDebug(qlcQQuickSplitView) << "creating" << count << "handles";
- m_handleItems.reserve(count);
- for (int i = 0; i < count; ++i)
- createHandleItem(i);
-}
-
-void QQuickSplitViewPrivate::createHandleItem(int index)
-{
- Q_Q(QQuickSplitView);
- if (contentModel->count() <= 1)
- return;
-
- qCDebug(qlcQQuickSplitView) << "- creating handle for split item at index" << index
- << "from handle component" << m_handle;
-
- // If we don't use the correct context, it won't be possible to refer to
- // the control's id from within the delegate.
- QQmlContext *creationContext = m_handle->creationContext();
- // The component might not have been created in QML, in which case
- // the creation context will be null and we have to create it ourselves.
- if (!creationContext)
- creationContext = qmlContext(q);
- QQmlContext *context = new QQmlContext(creationContext, q);
- context->setContextObject(q);
- QQuickItem *item = qobject_cast<QQuickItem*>(m_handle->beginCreate(context));
- if (item) {
- // Insert the item to our list of items *before* its parent is set to us,
- // so that we can avoid it being added as a content item by checking
- // if it is in the list in isContent().
- m_handleItems.insert(index, item);
-
- item->setParentItem(q);
-
- m_handle->completeCreate();
- resizeHandle(item);
- }
-}
-
-void QQuickSplitViewPrivate::removeExcessHandles()
-{
- int excess = m_handleItems.size() - qMax(0, contentModel->count() - 1);
- for (; excess > 0; --excess) {
- QQuickItem *handleItem = m_handleItems.takeLast();
- delete handleItem;
- }
-}
-
-qreal QQuickSplitViewPrivate::accumulatedSize(int firstIndex, int lastIndex) const
-{
- qreal size = 0.0;
- const bool horizontal = isHorizontal();
- for (int i = firstIndex; i <= lastIndex; ++i) {
- QQuickItem *item = qobject_cast<QQuickItem*>(contentModel->object(i));
- if (item->isVisible()) {
- if (i != m_fillIndex) {
- size += horizontal ? item->width() : item->height();
- } else {
- // If the fill item has a minimum size specified, we must respect it.
- const QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, false));
- if (attached) {
- const QQuickSplitViewAttachedPrivate *attachedPrivate
- = QQuickSplitViewAttachedPrivate::get(attached);
- if (horizontal && attachedPrivate->m_isMinimumWidthSet)
- size += attachedPrivate->m_minimumWidth;
- else if (!horizontal && attachedPrivate->m_isMinimumHeightSet)
- size += attachedPrivate->m_minimumHeight;
- }
- }
- }
-
- // Only add the handle's width if there's actually a handle for this split item index.
- if (i < lastIndex || lastIndex < contentModel->count() - 1) {
- const QQuickItem *handleItem = m_handleItems.at(i);
- if (handleItem->isVisible())
- size += horizontal ? handleItem->width() : handleItem->height();
- }
- }
- return size;
-}
-
-qreal effectiveMinimumWidth(const QQuickSplitViewAttachedPrivate *attachedPrivate)
-{
- return attachedPrivate && attachedPrivate->m_isMinimumWidthSet ? attachedPrivate->m_minimumWidth : 0;
-}
-
-qreal effectiveMinimumHeight(const QQuickSplitViewAttachedPrivate *attachedPrivate)
-{
- return attachedPrivate && attachedPrivate->m_isMinimumHeightSet ? attachedPrivate->m_minimumHeight : 0;
-}
-
-qreal effectivePreferredWidth(const QQuickSplitViewAttachedPrivate *attachedPrivate,
- const QQuickItemPrivate *itemPrivate)
-{
- return attachedPrivate && attachedPrivate->m_isPreferredWidthSet
- ? attachedPrivate->m_preferredWidth : itemPrivate->implicitWidth;
-}
-
-qreal effectivePreferredHeight(const QQuickSplitViewAttachedPrivate *attachedPrivate,
- const QQuickItemPrivate *itemPrivate)
-{
- return attachedPrivate && attachedPrivate->m_isPreferredHeightSet
- ? attachedPrivate->m_preferredHeight : itemPrivate->implicitHeight;
-}
-
-qreal effectiveMaximumWidth(const QQuickSplitViewAttachedPrivate *attachedPrivate)
-{
- return attachedPrivate && attachedPrivate->m_isMaximumWidthSet
- ? attachedPrivate->m_maximumWidth : std::numeric_limits<qreal>::infinity();
-}
-
-qreal effectiveMaximumHeight(const QQuickSplitViewAttachedPrivate *attachedPrivate)
-{
- return attachedPrivate && attachedPrivate->m_isMaximumHeightSet
- ? attachedPrivate->m_maximumHeight : std::numeric_limits<qreal>::infinity();
-}
-
-// We don't just take an index, because the item and attached properties object
-// will both be used outside of this function by calling code, so save some
-// time by not accessing them twice.
-QQuickSplitViewPrivate::EffectiveSizeData QQuickSplitViewPrivate::effectiveSizeData(
- const QQuickItemPrivate *itemPrivate, const QQuickSplitViewAttached *attached) const
-{
- EffectiveSizeData data;
- const QQuickSplitViewAttachedPrivate *attachedPrivate = attached ? QQuickSplitViewAttachedPrivate::get(attached) : nullptr;
- data.effectiveMinimumWidth = effectiveMinimumWidth(attachedPrivate);
- data.effectiveMinimumHeight = effectiveMinimumHeight(attachedPrivate);
- data.effectivePreferredWidth = effectivePreferredWidth(attachedPrivate, itemPrivate);
- data.effectivePreferredHeight = effectivePreferredHeight(attachedPrivate, itemPrivate);
- data.effectiveMaximumWidth = effectiveMaximumWidth(attachedPrivate);
- data.effectiveMaximumHeight = effectiveMaximumHeight(attachedPrivate);
- return data;
-}
-
-int QQuickSplitViewPrivate::handleIndexForSplitIndex(int splitIndex) const
-{
- // If it's the last item in the view, it doesn't have a handle, so use
- // the handle for the previous item.
- return splitIndex == contentModel->count() - 1 ? splitIndex - 1 : splitIndex;
-}
-
-void QQuickSplitViewPrivate::destroyHandles()
-{
- qDeleteAll(m_handleItems);
- m_handleItems.clear();
-}
-
-void QQuickSplitViewPrivate::resizeHandle(QQuickItem *handleItem)
-{
- const bool horizontal = isHorizontal();
- handleItem->setWidth(horizontal ? handleItem->implicitWidth() : width);
- handleItem->setHeight(horizontal ? height : handleItem->implicitHeight());
-}
-
-void QQuickSplitViewPrivate::resizeHandles()
-{
- for (QQuickItem *handleItem : m_handleItems)
- resizeHandle(handleItem);
-}
-
-void QQuickSplitViewPrivate::updateHandleVisibilities()
-{
- // If this is the first item that is visible, we won't have any
- // handles yet, because we don't create a handle if we only have one item.
- if (m_handleItems.isEmpty())
- return;
-
- // If the visibility/children change makes any item the last (right/bottom-most)
- // visible item, we don't want to display a handle for it either:
- // [ visible (fill) ] | [ hidden ] | [ hidden ]
- // ^ ^
- // hidden hidden
- const int count = contentModel->count();
- int lastVisibleItemIndex = -1;
- for (int i = count - 1; i >= 0; --i) {
- const QQuickItem *item = qobject_cast<QQuickItem*>(contentModel->object(i));
- if (item->isVisible()) {
- lastVisibleItemIndex = i;
- break;
- }
- }
-
- for (int i = 0; i < count - 1; ++i) {
- const QQuickItem *item = qobject_cast<QQuickItem*>(contentModel->object(i));
- QQuickItem *handleItem = m_handleItems.at(i);
- if (i != lastVisibleItemIndex)
- handleItem->setVisible(item->isVisible());
- else
- handleItem->setVisible(false);
- qCDebug(qlcQQuickSplitView) << "set visible property of handle at index"
- << i << "to" << handleItem->isVisible();
- }
-}
-
-void QQuickSplitViewPrivate::setResizing(bool resizing)
-{
- Q_Q(QQuickSplitView);
- if (resizing == m_resizing)
- return;
-
- m_resizing = resizing;
- emit q->resizingChanged();
-}
-
-bool QQuickSplitViewPrivate::isHorizontal() const
-{
- return m_orientation == Qt::Horizontal;
-}
-
-QQuickItem *QQuickSplitViewPrivate::getContentItem()
-{
- Q_Q(QQuickSplitView);
- if (QQuickItem *item = QQuickContainerPrivate::getContentItem())
- return item;
-
- // TODO: why are several created?
- return new QQuickContentItem(q);
-}
-
-void QQuickSplitViewPrivate::handlePress(const QPointF &point)
-{
- Q_Q(QQuickSplitView);
- QQuickContainerPrivate::handlePress(point);
-
- QQuickItem *pressedItem = q->childAt(point.x(), point.y());
- const int pressedHandleIndex = m_handleItems.indexOf(pressedItem);
- if (pressedHandleIndex != -1) {
- m_pressedHandleIndex = pressedHandleIndex;
- m_pressPos = point;
- m_mousePos = point;
-
- const QQuickItem *leftOrTopItem = qobject_cast<QQuickItem*>(contentModel->object(m_pressedHandleIndex));
- const QQuickItem *rightOrBottomItem = qobject_cast<QQuickItem*>(contentModel->object(m_pressedHandleIndex + 1));
- const bool isHorizontal = m_orientation == Qt::Horizontal;
- m_leftOrTopItemSizeBeforePress = isHorizontal ? leftOrTopItem->width() : leftOrTopItem->height();
- m_rightOrBottomItemSizeBeforePress = isHorizontal ? rightOrBottomItem->width() : rightOrBottomItem->height();
- m_handlePosBeforePress = pressedItem->position();
-
- // Avoid e.g. Flickable stealing our drag if we're inside it.
- q->setKeepMouseGrab(true);
-
- // Force the attached object to be created since we rely on it.
- QQuickSplitHandleAttached *handleAttached = qobject_cast<QQuickSplitHandleAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitHandleAttached>(pressedItem, true));
- QQuickSplitHandleAttachedPrivate::get(handleAttached)->setPressed(true);
-
- setResizing(true);
-
- qCDebug(qlcQQuickSplitViewMouse).nospace() << "handled press -"
- << " left/top index=" << m_pressedHandleIndex << ","
- << " size before press=" << m_leftOrTopItemSizeBeforePress << ","
- << " right/bottom index=" << m_pressedHandleIndex + 1 << ","
- << " size before press=" << m_rightOrBottomItemSizeBeforePress;
- }
-}
-
-void QQuickSplitViewPrivate::handleMove(const QPointF &point)
-{
- QQuickContainerPrivate::handleMove(point);
-
- if (m_pressedHandleIndex != -1) {
- m_mousePos = point;
- // Don't request layouts for input events because we want
- // resizing to be as responsive and smooth as possible.
- updatePolish();
- }
-}
-
-void QQuickSplitViewPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickSplitView);
- QQuickContainerPrivate::handleRelease(point);
-
- if (m_pressedHandleIndex != -1) {
- QQuickItem *pressedHandle = m_handleItems.at(m_pressedHandleIndex);
- QQuickSplitHandleAttached *handleAttached = qobject_cast<QQuickSplitHandleAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitHandleAttached>(pressedHandle, true));
- QQuickSplitHandleAttachedPrivate::get(handleAttached)->setPressed(false);
- }
-
- setResizing(false);
-
- m_pressedHandleIndex = -1;
- m_pressPos = QPointF();
- m_mousePos = QPointF();
- m_handlePosBeforePress = QPointF();
- m_leftOrTopItemSizeBeforePress = 0.0;
- m_rightOrBottomItemSizeBeforePress = 0.0;
- q->setKeepMouseGrab(false);
-}
-
-void QQuickSplitViewPrivate::itemVisibilityChanged(QQuickItem *item)
-{
- const int itemIndex = contentModel->indexOf(item, nullptr);
- Q_ASSERT(itemIndex != -1);
-
- qCDebug(qlcQQuickSplitView) << "visible property of split item"
- << item << "at index" << itemIndex << "changed to" << item->isVisible();
-
- // The visibility of an item just changed, so we need to update the visibility
- // of the corresponding handle (if one exists).
-
- const int handleIndex = handleIndexForSplitIndex(itemIndex);
- QQuickItem *handleItem = m_handleItems.at(handleIndex);
- handleItem->setVisible(item->isVisible());
-
- qCDebug(qlcQQuickSplitView) << "set visible property of handle item"
- << handleItem << "at index" << handleIndex << "to" << item->isVisible();
-
- updateHandleVisibilities();
- updateFillIndex();
- requestLayout();
-}
-
-void QQuickSplitViewPrivate::itemImplicitWidthChanged(QQuickItem *)
-{
- requestLayout();
-}
-
-void QQuickSplitViewPrivate::itemImplicitHeightChanged(QQuickItem *)
-{
- requestLayout();
-}
-
-void QQuickSplitViewPrivate::updatePolish()
-{
- layout();
-}
-
-QQuickSplitViewPrivate *QQuickSplitViewPrivate::get(QQuickSplitView *splitView)
-{
- return splitView->d_func();
-}
-
-QQuickSplitView::QQuickSplitView(QQuickItem *parent)
- : QQuickContainer(*(new QQuickSplitViewPrivate), parent)
-{
- Q_D(QQuickSplitView);
- d->changeTypes |= QQuickItemPrivate::Visibility;
-
- setAcceptedMouseButtons(Qt::LeftButton);
-}
-
-QQuickSplitView::QQuickSplitView(QQuickSplitViewPrivate &dd, QQuickItem *parent)
- : QQuickContainer(dd, parent)
-{
- Q_D(QQuickSplitView);
- d->changeTypes |= QQuickItemPrivate::Visibility;
-
- setAcceptedMouseButtons(Qt::LeftButton);
-}
-
-QQuickSplitView::~QQuickSplitView()
-{
- Q_D(QQuickSplitView);
- for (int i = 0; i < d->contentModel->count(); ++i) {
- QQuickItem *item = qobject_cast<QQuickItem*>(d->contentModel->object(i));
- d->removeImplicitSizeListener(item);
- }
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::SplitView::orientation
-
- This property holds the orientation of the SplitView.
-
- The orientation determines how the split items are laid out:
-
- Possible values:
- \value Qt.Horizontal The items are laid out horizontally (default).
- \value Qt.Vertical The items are laid out vertically.
-*/
-Qt::Orientation QQuickSplitView::orientation() const
-{
- Q_D(const QQuickSplitView);
- return d->m_orientation;
-}
-
-void QQuickSplitView::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickSplitView);
- if (orientation == d->m_orientation)
- return;
-
- d->m_orientation = orientation;
- d->resizeHandles();
- d->requestLayout();
- emit orientationChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::SplitView::resizing
- \readonly
-
- This property is \c true when the user is resizing
- split items by dragging on the splitter handles.
-*/
-bool QQuickSplitView::isResizing() const
-{
- Q_D(const QQuickSplitView);
- return d->m_resizing;
-}
-
-/*!
- \qmlproperty Component QtQuick.Controls::SplitView::handle
-
- This property holds the handle component.
-
- An instance of this component will be instantiated \c {count - 1}
- times, as long as \l count is greater than than \c {1}.
-
- The following table explains how each handle will be resized
- depending on the orientation of the split view:
-
- \table
- \header
- \li Orientation
- \li Handle Width
- \li Handle Height
- \row
- \li \c Qt.Horizontal
- \li \c implicitWidth
- \li The \l height of the SplitView.
- \row
- \li \c Qt.Vertical
- \li The \l width of the SplitView.
- \li \c implicitHeight
- \endtable
-
- \sa {Customizing SplitView}
-*/
-QQmlComponent *QQuickSplitView::handle()
-{
- Q_D(const QQuickSplitView);
- return d->m_handle;
-}
-
-void QQuickSplitView::setHandle(QQmlComponent *handle)
-{
- Q_D(QQuickSplitView);
- if (handle == d->m_handle)
- return;
-
- qCDebug(qlcQQuickSplitView) << "setting handle" << handle;
-
- if (d->m_handle)
- d->destroyHandles();
-
- d->m_handle = handle;
-
- if (d->m_handle)
- d->createHandles();
-
- d->requestLayout();
-
- emit handleChanged();
-}
-
-bool QQuickSplitView::isContent(QQuickItem *item) const
-{
- Q_D(const QQuickSplitView);
- if (!qmlContext(item))
- return false;
-
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return false;
-
- return !d->m_handleItems.contains(item);
-}
-
-QQuickSplitViewAttached *QQuickSplitView::qmlAttachedProperties(QObject *object)
-{
- return new QQuickSplitViewAttached(object);
-}
-
-/*!
- \qmlmethod var QtQuick.Controls::SplitView::saveState()
-
- Saves the preferred sizes of split items into a byte array and returns it.
-
- \sa {Serializing SplitView's State}, restoreState()
-*/
-QVariant QQuickSplitView::saveState()
-{
- Q_D(QQuickSplitView);
- qCDebug(qlcQQuickSplitViewState) << "saving state for split items in" << this;
-
- // Save the preferred sizes of each split item.
- QCborArray cborArray;
- for (int i = 0; i < d->contentModel->count(); ++i) {
- const QQuickItem *item = qobject_cast<QQuickItem*>(d->contentModel->object(i));
- const QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, false));
- // Don't serialise stuff if we don't need to. If a split item was given a preferred
- // size in QML or it was dragged, it will have an attached object and either
- // m_isPreferredWidthSet or m_isPreferredHeightSet (or both) will be true,
- // so items without these can be skipped. We write the index of each item
- // that has data so that we know which item to set it on when restoring.
- if (!attached)
- continue;
-
- const QQuickSplitViewAttachedPrivate *attachedPrivate = QQuickSplitViewAttachedPrivate::get(attached);
- if (!attachedPrivate->m_isPreferredWidthSet && !attachedPrivate->m_isPreferredHeightSet)
- continue;
-
- QCborMap cborMap;
- cborMap[QLatin1String("index")] = i;
- if (attachedPrivate->m_isPreferredWidthSet) {
- cborMap[QLatin1String("preferredWidth")] = static_cast<double>(attachedPrivate->m_preferredWidth);
-
- qCDebug(qlcQQuickSplitViewState).nospace() << "- wrote preferredWidth of "
- << attachedPrivate->m_preferredWidth << " for split item " << item << " at index " << i;
- }
- if (attachedPrivate->m_isPreferredHeightSet) {
- cborMap[QLatin1String("preferredHeight")] = static_cast<double>(attachedPrivate->m_preferredHeight);
-
- qCDebug(qlcQQuickSplitViewState).nospace() << "- wrote preferredHeight of "
- << attachedPrivate->m_preferredHeight << " for split item " << item << " at index " << i;
- }
-
- cborArray.append(cborMap);
- }
-
- const QByteArray byteArray = cborArray.toCborValue().toCbor();
- qCDebug(qlcQQuickSplitViewState) << "the resulting byte array is:" << byteArray;
- return QVariant(byteArray);
-}
-
-/*!
- \qmlmethod bool QtQuick.Controls::SplitView::restoreState(state)
-
- Reads the preferred sizes from \a state and applies them to the split items.
-
- Returns \c true if the state was successfully restored, otherwise \c false.
-
- \sa {Serializing SplitView's State}, saveState()
-*/
-bool QQuickSplitView::restoreState(const QVariant &state)
-{
- const QByteArray cborByteArray = state.toByteArray();
- Q_D(QQuickSplitView);
- if (cborByteArray.isEmpty())
- return false;
-
- QCborParserError parserError;
- const QCborValue cborValue(QCborValue::fromCbor(cborByteArray, &parserError));
- if (parserError.error != QCborError::NoError) {
- qmlWarning(this) << "Error reading SplitView state:" << parserError.errorString();
- return false;
- }
-
- qCDebug(qlcQQuickSplitViewState) << "restoring state for split items of" << this
- << "from the following string:" << state;
-
- const QCborArray cborArray(cborValue.toArray());
- const int ourCount = d->contentModel->count();
- // This could conceivably happen if items were removed from the SplitView since the state was last saved.
- if (cborArray.size() > ourCount) {
- qmlWarning(this) << "Error reading SplitView state: expected "
- << ourCount << " or less split items but got " << cborArray.size();
- return false;
- }
-
- for (auto it = cborArray.constBegin(); it != cborArray.constEnd(); ++it) {
- QCborMap cborMap(it->toMap());
- const int splitItemIndex = cborMap.value(QLatin1String("index")).toInteger();
- const bool isPreferredWidthSet = cborMap.contains(QLatin1String("preferredWidth"));
- const bool isPreferredHeightSet = cborMap.contains(QLatin1String("preferredHeight"));
-
- QQuickItem *item = qobject_cast<QQuickItem*>(d->contentModel->object(splitItemIndex));
- // If the split item does not have a preferred size specified in QML, it could still have
- // been resized via dragging before it was saved. In this case, it won't have an
- // attached object upon application startup, so we create it.
- QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, true));
- if (isPreferredWidthSet) {
- const qreal preferredWidth = cborMap.value(QLatin1String("preferredWidth")).toDouble();
- attached->setPreferredWidth(preferredWidth);
- }
- if (isPreferredHeightSet) {
- const qreal preferredHeight = cborMap.value(QLatin1String("preferredHeight")).toDouble();
- attached->setPreferredHeight(preferredHeight);
- }
-
- const QQuickSplitViewAttachedPrivate *attachedPrivate = QQuickSplitViewAttachedPrivate::get(attached);
- qCDebug(qlcQQuickSplitViewState).nospace()
- << "- restored the following state for split item " << item << " at index " << splitItemIndex
- << ": preferredWidthSet=" << attachedPrivate->m_isPreferredWidthSet
- << " preferredWidth=" << attachedPrivate->m_preferredWidth
- << " preferredHeightSet=" << attachedPrivate->m_isPreferredHeightSet
- << " preferredHeight=" << attachedPrivate->m_preferredHeight;
- }
-
- return true;
-}
-
-void QQuickSplitView::componentComplete()
-{
- Q_D(QQuickSplitView);
- QQuickControl::componentComplete();
- d->resizeHandles();
- d->updateFillIndex();
- d->updatePolish();
-}
-
-void QQuickSplitView::hoverMoveEvent(QHoverEvent *event)
-{
- Q_D(QQuickSplitView);
- QQuickContainer::hoverMoveEvent(event);
-
- QQuickItem *hoveredItem = childAt(event->pos().x(), event->pos().y());
- if (!hoveredItem) {
- // No handle is hovered.
- if (d->m_hoveredHandleIndex != -1) {
- // The previously-hovered handle is no longer hovered.
- QQuickItem *oldHoveredHandle = d->m_handleItems.at(d->m_hoveredHandleIndex);
- QQuickSplitHandleAttached *handleAttached = qobject_cast<QQuickSplitHandleAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitHandleAttached>(oldHoveredHandle, true));
- QQuickSplitHandleAttachedPrivate::get(handleAttached)->setHovered(false);
- }
-
- qCDebug(qlcQQuickSplitViewMouse) << "handle item at index" << d->m_hoveredHandleIndex << "is no longer hovered";
-
- d->m_hoveredHandleIndex = -1;
-
-#if QT_CONFIG(cursor)
- setCursor(Qt::ArrowCursor);
-#endif
- } else {
- // A child item of ours is hovered.
-
- // First, clear the hovered flag of any previously-hovered handle.
- if (d->m_hoveredHandleIndex != -1) {
- QQuickItem *oldHoveredHandle = d->m_handleItems.at(d->m_hoveredHandleIndex);
- QQuickSplitHandleAttached *handleAttached = qobject_cast<QQuickSplitHandleAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitHandleAttached>(oldHoveredHandle, true));
- QQuickSplitHandleAttachedPrivate::get(handleAttached)->setHovered(false);
- }
-
- // Now check if the newly hovered item is actually a handle.
- const int hoveredHandleIndex = d->m_handleItems.indexOf(hoveredItem);
- if (hoveredHandleIndex == -1)
- return;
-
- // It's a handle, so it's now hovered.
- d->m_hoveredHandleIndex = hoveredHandleIndex;
-
- QQuickSplitHandleAttached *handleAttached = qobject_cast<QQuickSplitHandleAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitHandleAttached>(hoveredItem, true));
- QQuickSplitHandleAttachedPrivate::get(handleAttached)->setHovered(true);
-
-#if QT_CONFIG(cursor)
- setCursor(d->m_orientation == Qt::Horizontal ? Qt::SplitHCursor : Qt::SplitVCursor);
-#endif
-
- qCDebug(qlcQQuickSplitViewMouse) << "handle item at index" << d->m_hoveredHandleIndex << "is now hovered";
- }
-}
-
-void QQuickSplitView::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickSplitView);
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
- d->resizeHandles();
- d->requestLayout();
-}
-
-void QQuickSplitView::itemAdded(int index, QQuickItem *item)
-{
- Q_D(QQuickSplitView);
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return;
-
- const int count = d->contentModel->count();
- qCDebug(qlcQQuickSplitView).nospace() << "split item " << item << " added at index " << index
- << "; there are now " << count << " items";
-
- QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, false));
- if (attached)
- QQuickSplitViewAttachedPrivate::get(attached)->setView(this);
-
- // Only need to add handles if we have more than one split item.
- if (count > 1) {
- // If the item was added at the end, it shouldn't get a handle;
- // the handle always goes to the split item on the left.
- d->createHandleItem(index < count - 1 ? index : index - 1);
- }
-
- d->addImplicitSizeListener(item);
-
- d->updateHandleVisibilities();
- d->updateFillIndex();
- d->requestLayout();
-}
-
-void QQuickSplitView::itemMoved(int index, QQuickItem *item)
-{
- Q_D(QQuickSplitView);
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return;
-
- qCDebug(qlcQQuickSplitView) << "split item" << item << "moved to index" << index;
-
- d->updateHandleVisibilities();
- d->updateFillIndex();
- d->requestLayout();
-}
-
-void QQuickSplitView::itemRemoved(int index, QQuickItem *item)
-{
- Q_D(QQuickSplitView);
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return;
-
- qCDebug(qlcQQuickSplitView).nospace() << "split item " << item << " removed from index " << index
- << "; there are now " << d->contentModel->count() << " items";
-
- // Clear hovered/pressed handle if there are any.
- if (d->m_hoveredHandleIndex != -1 || d->m_pressedHandleIndex != -1) {
- const int handleIndex = d->m_hoveredHandleIndex != -1 ? d->m_hoveredHandleIndex : d->m_pressedHandleIndex;
- QQuickItem *itemHandle = d->m_handleItems.at(handleIndex);
- QQuickSplitHandleAttached *handleAttached = qobject_cast<QQuickSplitHandleAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitHandleAttached>(itemHandle, false));
- if (handleAttached) {
- auto handleAttachedPrivate = QQuickSplitHandleAttachedPrivate::get(handleAttached);
- handleAttachedPrivate->setHovered(false);
- handleAttachedPrivate->setPressed(false);
- }
-
- setKeepMouseGrab(false);
- d->m_hoveredHandleIndex = -1;
- d->m_pressedHandleIndex = -1;
- }
-
- // Unset any attached properties since the item is no longer owned by us.
- QQuickSplitViewAttached *attached = qobject_cast<QQuickSplitViewAttached*>(
- qmlAttachedPropertiesObject<QQuickSplitView>(item, false));
- if (attached)
- QQuickSplitViewAttachedPrivate::get(attached)->setView(this);
-
- d->removeImplicitSizeListener(item);
-
- d->removeExcessHandles();
- d->updateHandleVisibilities();
- d->updateFillIndex();
- d->requestLayout();
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickSplitView::accessibleRole() const
-{
- return QAccessible::Pane;
-}
-#endif
-
-QQuickSplitViewAttached::QQuickSplitViewAttached(QObject *parent)
- : QObject(*(new QQuickSplitViewAttachedPrivate), parent)
-{
- Q_D(QQuickSplitViewAttached);
- QQuickItem *item = qobject_cast<QQuickItem *>(parent);
- if (!item) {
- qmlWarning(parent) << "SplitView: attached properties can only be used on Items";
- return;
- }
-
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return;
-
- d->m_splitItem = item;
-
- // Child items get added to SplitView's contentItem, so we have to ensure
- // that exists first before trying to set m_splitView.
- // Apparently, in some cases it's normal for the parent item
- // to not exist until shortly after this constructor has run.
- if (!item->parentItem())
- return;
-
- // This will get hit when attached SplitView properties are imperatively set
- // on an item that previously had none set, for example.
- QQuickSplitView *splitView = qobject_cast<QQuickSplitView*>(item->parentItem()->parentItem());
- if (!splitView) {
- qmlWarning(parent) << "SplitView: attached properties must be accessed through a direct child of SplitView";
- return;
- }
-
- d->setView(splitView);
-}
-
-/*!
- \qmlattachedproperty SplitView QtQuick.Controls::SplitView::view
-
- This attached property holds the split view of the item it is
- attached to, or \c null if the item is not in a split view.
-*/
-QQuickSplitView *QQuickSplitViewAttached::view() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_splitView;
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::SplitView::minimumWidth
-
- This attached property controls the minimum width of the split item.
- The \l preferredWidth is bound within the \l minimumWidth and
- \l maximumWidth. A split item cannot be dragged to be smaller than
- its \c minimumWidth.
-
- The default value is \c 0. To reset this property to its default value,
- set it to \c undefined.
-
- \sa maximumWidth, preferredWidth, fillWidth, minimumHeight
-*/
-qreal QQuickSplitViewAttached::minimumWidth() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_minimumWidth;
-}
-
-void QQuickSplitViewAttached::setMinimumWidth(qreal width)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isMinimumWidthSet = true;
- if (qFuzzyCompare(width, d->m_minimumWidth))
- return;
-
- d->m_minimumWidth = width;
- d->requestLayoutView();
- emit minimumWidthChanged();
-}
-
-void QQuickSplitViewAttached::resetMinimumWidth()
-{
- Q_D(QQuickSplitViewAttached);
- const qreal oldEffectiveMinimumWidth = effectiveMinimumWidth(d);
-
- d->m_isMinimumWidthSet = false;
- d->m_minimumWidth = -1;
-
- const qreal newEffectiveMinimumWidth = effectiveMinimumWidth(d);
- if (qFuzzyCompare(newEffectiveMinimumWidth, oldEffectiveMinimumWidth))
- return;
-
- d->requestLayoutView();
- emit minimumWidthChanged();
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::SplitView::minimumHeight
-
- This attached property controls the minimum height of the split item.
- The \l preferredHeight is bound within the \l minimumHeight and
- \l maximumHeight. A split item cannot be dragged to be smaller than
- its \c minimumHeight.
-
- The default value is \c 0. To reset this property to its default value,
- set it to \c undefined.
-
- \sa maximumHeight, preferredHeight, fillHeight, minimumWidth
-*/
-qreal QQuickSplitViewAttached::minimumHeight() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_minimumHeight;
-}
-
-void QQuickSplitViewAttached::setMinimumHeight(qreal height)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isMinimumHeightSet = true;
- if (qFuzzyCompare(height, d->m_minimumHeight))
- return;
-
- d->m_minimumHeight = height;
- d->requestLayoutView();
- emit minimumHeightChanged();
-}
-
-void QQuickSplitViewAttached::resetMinimumHeight()
-{
- Q_D(QQuickSplitViewAttached);
- const qreal oldEffectiveMinimumHeight = effectiveMinimumHeight(d);
-
- d->m_isMinimumHeightSet = false;
- d->m_minimumHeight = -1;
-
- const qreal newEffectiveMinimumHeight = effectiveMinimumHeight(d);
- if (qFuzzyCompare(newEffectiveMinimumHeight, oldEffectiveMinimumHeight))
- return;
-
- d->requestLayoutView();
- emit minimumHeightChanged();
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::SplitView::preferredWidth
-
- This attached property controls the preferred width of the split item. The
- preferred width will be used as the size of the item, and will be bound
- within the \l minimumWidth and \l maximumWidth. If the preferred width
- is not set, the item's \l {Item::}{implicitWidth} will be used.
-
- When a split item is resized, the preferredWidth will be set in order
- to keep track of the new size.
-
- By default, this property is not set, and therefore
- \l {Item::}{implicitWidth} will be used instead. To reset this property to
- its default value, set it to \c undefined.
-
- \note Do not set the \l width property of a split item, as it will be
- overwritten upon each layout of the SplitView.
-
- \sa minimumWidth, maximumWidth, fillWidth, preferredHeight
-*/
-qreal QQuickSplitViewAttached::preferredWidth() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_preferredWidth;
-}
-
-void QQuickSplitViewAttached::setPreferredWidth(qreal width)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isPreferredWidthSet = true;
- // Make sure that we clear this flag now, before we emit the change signals
- // which could cause another setter to be called.
- auto splitViewPrivate = d->m_splitView ? QQuickSplitViewPrivate::get(d->m_splitView) : nullptr;
- const bool ignoreNextLayoutRequest = splitViewPrivate && splitViewPrivate->m_ignoreNextLayoutRequest;
- if (splitViewPrivate)
- splitViewPrivate->m_ignoreNextLayoutRequest = false;
-
- if (qFuzzyCompare(width, d->m_preferredWidth))
- return;
-
- d->m_preferredWidth = width;
-
- if (!ignoreNextLayoutRequest) {
- // We are currently in the middle of performing a layout, and the user (not our internal code)
- // changed the preferred width of one of the split items, so request another layout.
- d->requestLayoutView();
- }
-
- emit preferredWidthChanged();
-}
-
-void QQuickSplitViewAttached::resetPreferredWidth()
-{
- Q_D(QQuickSplitViewAttached);
- const qreal oldEffectivePreferredWidth = effectivePreferredWidth(
- d, QQuickItemPrivate::get(d->m_splitItem));
-
- d->m_isPreferredWidthSet = false;
- d->m_preferredWidth = -1;
-
- const qreal newEffectivePreferredWidth = effectivePreferredWidth(
- d, QQuickItemPrivate::get(d->m_splitItem));
- if (qFuzzyCompare(newEffectivePreferredWidth, oldEffectivePreferredWidth))
- return;
-
- d->requestLayoutView();
- emit preferredWidthChanged();
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::SplitView::preferredHeight
-
- This attached property controls the preferred height of the split item. The
- preferred height will be used as the size of the item, and will be bound
- within the \l minimumHeight and \l maximumHeight. If the preferred height
- is not set, the item's \l {Item::}{implicitHeight} will be used.
-
- When a split item is resized, the preferredHeight will be set in order
- to keep track of the new size.
-
- By default, this property is not set, and therefore
- \l {Item::}{implicitHeight} will be used instead. To reset this property to
- its default value, set it to \c undefined.
-
- \note Do not set the \l height property of a split item, as it will be
- overwritten upon each layout of the SplitView.
-
- \sa minimumHeight, maximumHeight, fillHeight, preferredWidth
-*/
-qreal QQuickSplitViewAttached::preferredHeight() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_preferredHeight;
-}
-
-void QQuickSplitViewAttached::setPreferredHeight(qreal height)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isPreferredHeightSet = true;
- // Make sure that we clear this flag now, before we emit the change signals
- // which could cause another setter to be called.
- auto splitViewPrivate = d->m_splitView ? QQuickSplitViewPrivate::get(d->m_splitView) : nullptr;
- const bool ignoreNextLayoutRequest = splitViewPrivate && splitViewPrivate->m_ignoreNextLayoutRequest;
- if (splitViewPrivate)
- splitViewPrivate->m_ignoreNextLayoutRequest = false;
-
- if (qFuzzyCompare(height, d->m_preferredHeight))
- return;
-
- d->m_preferredHeight = height;
-
- if (!ignoreNextLayoutRequest) {
- // We are currently in the middle of performing a layout, and the user (not our internal code)
- // changed the preferred height of one of the split items, so request another layout.
- d->requestLayoutView();
- }
-
- emit preferredHeightChanged();
-}
-
-void QQuickSplitViewAttached::resetPreferredHeight()
-{
- Q_D(QQuickSplitViewAttached);
- const qreal oldEffectivePreferredHeight = effectivePreferredHeight(
- d, QQuickItemPrivate::get(d->m_splitItem));
-
- d->m_isPreferredHeightSet = false;
- d->m_preferredHeight = -1;
-
- const qreal newEffectivePreferredHeight = effectivePreferredHeight(
- d, QQuickItemPrivate::get(d->m_splitItem));
- if (qFuzzyCompare(newEffectivePreferredHeight, oldEffectivePreferredHeight))
- return;
-
- d->requestLayoutView();
- emit preferredHeightChanged();
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::SplitView::maximumWidth
-
- This attached property controls the maximum width of the split item.
- The \l preferredWidth is bound within the \l minimumWidth and
- \l maximumWidth. A split item cannot be dragged to be larger than
- its \c maximumWidth.
-
- The default value is \c Infinity. To reset this property to its default
- value, set it to \c undefined.
-
- \sa minimumWidth, preferredWidth, fillWidth, maximumHeight
-*/
-qreal QQuickSplitViewAttached::maximumWidth() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_maximumWidth;
-}
-
-void QQuickSplitViewAttached::setMaximumWidth(qreal width)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isMaximumWidthSet = true;
- if (qFuzzyCompare(width, d->m_maximumWidth))
- return;
-
- d->m_maximumWidth = width;
- d->requestLayoutView();
- emit maximumWidthChanged();
-}
-
-void QQuickSplitViewAttached::resetMaximumWidth()
-{
- Q_D(QQuickSplitViewAttached);
- const qreal oldEffectiveMaximumWidth = effectiveMaximumWidth(d);
-
- d->m_isMaximumWidthSet = false;
- d->m_maximumWidth = -1;
-
- const qreal newEffectiveMaximumWidth = effectiveMaximumWidth(d);
- if (qFuzzyCompare(newEffectiveMaximumWidth, oldEffectiveMaximumWidth))
- return;
-
- d->requestLayoutView();
- emit maximumWidthChanged();
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::SplitView::maximumHeight
-
- This attached property controls the maximum height of the split item.
- The \l preferredHeight is bound within the \l minimumHeight and
- \l maximumHeight. A split item cannot be dragged to be larger than
- its \c maximumHeight.
-
- The default value is \c Infinity. To reset this property to its default
- value, set it to \c undefined.
-
- \sa minimumHeight, preferredHeight, fillHeight, maximumWidth
-*/
-qreal QQuickSplitViewAttached::maximumHeight() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_maximumHeight;
-}
-
-void QQuickSplitViewAttached::setMaximumHeight(qreal height)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isMaximumHeightSet = true;
- if (qFuzzyCompare(height, d->m_maximumHeight))
- return;
-
- d->m_maximumHeight = height;
- d->requestLayoutView();
- emit maximumHeightChanged();
-}
-
-void QQuickSplitViewAttached::resetMaximumHeight()
-{
- Q_D(QQuickSplitViewAttached);
- const qreal oldEffectiveMaximumHeight = effectiveMaximumHeight(d);
-
- d->m_isMaximumHeightSet = false;
- d->m_maximumHeight = -1;
-
- const qreal newEffectiveMaximumHeight = effectiveMaximumHeight(d);
- if (qFuzzyCompare(newEffectiveMaximumHeight, oldEffectiveMaximumHeight))
- return;
-
- d->requestLayoutView();
- emit maximumHeightChanged();
-}
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SplitView::fillWidth
-
- This attached property controls whether the item takes the remaining space
- in the split view after all other items have been laid out.
-
- By default, the last visible child of the split view will have this set,
- but it can be changed by explicitly setting \c fillWidth to \c true on
- another item.
-
- The width of a split item with \c fillWidth set to \c true is still
- restricted within its \l minimumWidth and \l maximumWidth.
-
- \sa minimumWidth, preferredWidth, maximumWidth, fillHeight
-*/
-bool QQuickSplitViewAttached::fillWidth() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_fillWidth;
-}
-
-void QQuickSplitViewAttached::setFillWidth(bool fill)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isFillWidthSet = true;
- if (fill == d->m_fillWidth)
- return;
-
- d->m_fillWidth = fill;
- if (d->m_splitView && d->m_splitView->orientation() == Qt::Horizontal)
- QQuickSplitViewPrivate::get(d->m_splitView)->updateFillIndex();
- d->requestLayoutView();
- emit fillWidthChanged();
-}
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SplitView::fillHeight
-
- This attached property controls whether the item takes the remaining space
- in the split view after all other items have been laid out.
-
- By default, the last visible child of the split view will have this set,
- but it can be changed by explicitly setting \c fillHeight to \c true on
- another item.
-
- The height of a split item with \c fillHeight set to \c true is still
- restricted within its \l minimumHeight and \l maximumHeight.
-
- \sa minimumHeight, preferredHeight, maximumHeight, fillWidth
-*/
-bool QQuickSplitViewAttached::fillHeight() const
-{
- Q_D(const QQuickSplitViewAttached);
- return d->m_fillHeight;
-}
-
-void QQuickSplitViewAttached::setFillHeight(bool fill)
-{
- Q_D(QQuickSplitViewAttached);
- d->m_isFillHeightSet = true;
- if (fill == d->m_fillHeight)
- return;
-
- d->m_fillHeight = fill;
- if (d->m_splitView && d->m_splitView->orientation() == Qt::Vertical)
- QQuickSplitViewPrivate::get(d->m_splitView)->updateFillIndex();
- d->requestLayoutView();
- emit fillHeightChanged();
-}
-
-QQuickSplitViewAttachedPrivate::QQuickSplitViewAttachedPrivate()
- : m_fillWidth(false)
- , m_fillHeight(false)
- , m_isFillWidthSet(false)
- , m_isFillHeightSet(false)
- , m_isMinimumWidthSet(false)
- , m_isMinimumHeightSet(false)
- , m_isPreferredWidthSet(false)
- , m_isPreferredHeightSet(false)
- , m_isMaximumWidthSet(false)
- , m_isMaximumHeightSet(false)
- , m_minimumWidth(0)
- , m_minimumHeight(0)
- , m_preferredWidth(-1)
- , m_preferredHeight(-1)
- , m_maximumWidth(std::numeric_limits<qreal>::infinity())
- , m_maximumHeight(std::numeric_limits<qreal>::infinity())
-{
-}
-
-void QQuickSplitViewAttachedPrivate::setView(QQuickSplitView *newView)
-{
- Q_Q(QQuickSplitViewAttached);
- if (newView == m_splitView)
- return;
-
- m_splitView = newView;
- qCDebug(qlcQQuickSplitView) << "set SplitView" << newView << "on attached object" << this;
- emit q->viewChanged();
-}
-
-void QQuickSplitViewAttachedPrivate::requestLayoutView()
-{
- if (m_splitView)
- QQuickSplitViewPrivate::get(m_splitView)->requestLayout();
-}
-
-QQuickSplitViewAttachedPrivate *QQuickSplitViewAttachedPrivate::get(QQuickSplitViewAttached *attached)
-{
- return attached->d_func();
-}
-
-const QQuickSplitViewAttachedPrivate *QQuickSplitViewAttachedPrivate::get(const QQuickSplitViewAttached *attached)
-{
- return attached->d_func();
-}
-
-QQuickSplitHandleAttachedPrivate::QQuickSplitHandleAttachedPrivate()
- : m_hovered(false)
- , m_pressed(false)
-{
-}
-
-void QQuickSplitHandleAttachedPrivate::setHovered(bool hovered)
-{
- Q_Q(QQuickSplitHandleAttached);
- if (hovered == m_hovered)
- return;
-
- m_hovered = hovered;
- emit q->hoveredChanged();
-}
-
-void QQuickSplitHandleAttachedPrivate::setPressed(bool pressed)
-{
- Q_Q(QQuickSplitHandleAttached);
- if (pressed == m_pressed)
- return;
-
- m_pressed = pressed;
- emit q->pressedChanged();
-}
-
-QQuickSplitHandleAttachedPrivate *QQuickSplitHandleAttachedPrivate::get(QQuickSplitHandleAttached *attached)
-{
- return attached->d_func();
-}
-
-const QQuickSplitHandleAttachedPrivate *QQuickSplitHandleAttachedPrivate::get(const QQuickSplitHandleAttached *attached)
-{
- return attached->d_func();
-}
-
-QQuickSplitHandleAttached::QQuickSplitHandleAttached(QObject *parent)
- : QObject(*(new QQuickSplitViewAttachedPrivate), parent)
-{
-}
-
-/*!
- \qmltype SplitHandle
- \inherits QtObject
- \instantiates QQuickSplitHandleAttached
- \inqmlmodule QtQuick.Controls
- \since 5.13
- \brief Provides attached properties for SplitView handles
-
- SplitHandle provides attached properties for \l SplitView handles.
-
- For split items themselves, use the attached \l SplitView properties.
-
- \sa SplitView
-*/
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SplitHandle::hovered
-
- This attached property holds whether the split handle is hovered.
-
- \sa pressed
-*/
-bool QQuickSplitHandleAttached::isHovered() const
-{
- Q_D(const QQuickSplitHandleAttached);
- return d->m_hovered;
-}
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SplitHandle::pressed
-
- This attached property holds whether the split handle is pressed.
-
- \sa hovered
-*/
-bool QQuickSplitHandleAttached::isPressed() const
-{
- Q_D(const QQuickSplitHandleAttached);
- return d->m_pressed;
-}
-
-QQuickSplitHandleAttached *QQuickSplitHandleAttached::qmlAttachedProperties(QObject *object)
-{
- return new QQuickSplitHandleAttached(object);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquicksplitview_p.cpp"
diff --git a/src/quicktemplates2/qquicksplitview_p.h b/src/quicktemplates2/qquicksplitview_p.h
deleted file mode 100644
index 99001615..00000000
--- a/src/quicktemplates2/qquicksplitview_p.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSPLITVIEW_P_H
-#define QQUICKSPLITVIEW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-#include <QtQml/qqmllist.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSplitViewPrivate;
-class QQuickSplitViewAttached;
-class QQuickSplitViewAttachedPrivate;
-class QQuickSplitHandleAttached;
-class QQuickSplitHandleAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSplitView : public QQuickContainer
-{
- Q_OBJECT
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
- Q_PROPERTY(bool resizing READ isResizing NOTIFY resizingChanged)
- Q_PROPERTY(QQmlComponent *handle READ handle WRITE setHandle NOTIFY handleChanged FINAL)
-
-public:
- explicit QQuickSplitView(QQuickItem *parent = nullptr);
- ~QQuickSplitView() override;
-
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- bool isResizing() const;
-
- QQmlComponent *handle();
- void setHandle(QQmlComponent *handle);
-
- bool isContent(QQuickItem *item) const override;
-
- static QQuickSplitViewAttached *qmlAttachedProperties(QObject *object);
-
- // Based on the same code in QMainWindow.
- enum VersionMarkers {
- VersionMarker = 0xff
- };
- Q_INVOKABLE QVariant saveState();
- Q_INVOKABLE bool restoreState(const QVariant &state);
-
-Q_SIGNALS:
- void orientationChanged();
- void resizingChanged();
- void handleChanged();
-
-protected:
- QQuickSplitView(QQuickSplitViewPrivate &dd, QQuickItem *parent);
-
- void componentComplete() override;
- void hoverMoveEvent(QHoverEvent *event) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
- void itemAdded(int index, QQuickItem *item) override;
- void itemMoved(int index, QQuickItem *item) override;
- void itemRemoved(int index, QQuickItem *item) override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickSplitView)
- Q_DECLARE_PRIVATE(QQuickSplitView)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSplitViewAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickSplitView *view READ view NOTIFY viewChanged FINAL)
- Q_PROPERTY(qreal minimumWidth READ minimumWidth WRITE setMinimumWidth
- RESET resetMinimumWidth NOTIFY minimumWidthChanged FINAL)
- Q_PROPERTY(qreal minimumHeight READ minimumHeight WRITE setMinimumHeight
- RESET resetMinimumHeight NOTIFY minimumHeightChanged FINAL)
- Q_PROPERTY(qreal preferredWidth READ preferredWidth WRITE setPreferredWidth
- RESET resetPreferredWidth NOTIFY preferredWidthChanged FINAL)
- Q_PROPERTY(qreal preferredHeight READ preferredHeight WRITE setPreferredHeight
- RESET resetPreferredHeight NOTIFY preferredHeightChanged FINAL)
- Q_PROPERTY(qreal maximumWidth READ maximumWidth WRITE setMaximumWidth
- RESET resetMaximumWidth NOTIFY maximumWidthChanged FINAL)
- Q_PROPERTY(qreal maximumHeight READ maximumHeight WRITE setMaximumHeight
- RESET resetMaximumHeight NOTIFY maximumHeightChanged FINAL)
- Q_PROPERTY(bool fillHeight READ fillHeight WRITE setFillHeight NOTIFY fillHeightChanged FINAL)
- Q_PROPERTY(bool fillWidth READ fillWidth WRITE setFillWidth NOTIFY fillWidthChanged FINAL)
-
-public:
- explicit QQuickSplitViewAttached(QObject *parent = nullptr);
-
- QQuickSplitView *view() const;
-
- qreal minimumWidth() const;
- void setMinimumWidth(qreal width);
- void resetMinimumWidth();
-
- qreal minimumHeight() const;
- void setMinimumHeight(qreal height);
- void resetMinimumHeight();
-
- qreal preferredWidth() const;
- void setPreferredWidth(qreal width);
- void resetPreferredWidth();
-
- qreal preferredHeight() const;
- void setPreferredHeight(qreal height);
- void resetPreferredHeight();
-
- qreal maximumWidth() const;
- void setMaximumWidth(qreal width);
- void resetMaximumWidth();
-
- qreal maximumHeight() const;
- void setMaximumHeight(qreal height);
- void resetMaximumHeight();
-
- bool fillWidth() const;
- void setFillWidth(bool fill);
-
- bool fillHeight() const;
- void setFillHeight(bool fill);
-
-Q_SIGNALS:
- void viewChanged();
- void minimumWidthChanged();
- void minimumHeightChanged();
- void preferredWidthChanged();
- void preferredHeightChanged();
- void maximumWidthChanged();
- void maximumHeightChanged();
- void fillWidthChanged();
- void fillHeightChanged();
-
-private:
- Q_DISABLE_COPY(QQuickSplitViewAttached)
- Q_DECLARE_PRIVATE(QQuickSplitViewAttached)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSplitHandleAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool hovered READ isHovered NOTIFY hoveredChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed NOTIFY pressedChanged FINAL)
-
-public:
- explicit QQuickSplitHandleAttached(QObject *parent = nullptr);
-
- bool isHovered() const;
- bool isPressed() const;
-
- static QQuickSplitHandleAttached *qmlAttachedProperties(QObject *object);
-
-Q_SIGNALS:
- void hoveredChanged();
- void pressedChanged();
-
-private:
- Q_DISABLE_COPY(QQuickSplitHandleAttached)
- Q_DECLARE_PRIVATE(QQuickSplitHandleAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSplitView)
-QML_DECLARE_TYPEINFO(QQuickSplitView, QML_HAS_ATTACHED_PROPERTIES)
-
-QML_DECLARE_TYPE(QQuickSplitHandleAttached)
-QML_DECLARE_TYPEINFO(QQuickSplitHandleAttached, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKSPLITVIEW_P_H
diff --git a/src/quicktemplates2/qquicksplitview_p_p.h b/src/quicktemplates2/qquicksplitview_p_p.h
deleted file mode 100644
index 5d71d461..00000000
--- a/src/quicktemplates2/qquicksplitview_p_p.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSPLITVIEW_P_P_H
-#define QQUICKSPLITVIEW_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSplitView;
-class QQuickSplitViewAttached;
-class QQuickSplitHandleAttached;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSplitViewPrivate : public QQuickContainerPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSplitView)
-
-public:
- void updateFillIndex();
- void layoutResizeSplitItems(qreal &usedWidth, qreal &usedHeight, int &indexBeingResizedDueToDrag);
- void layoutResizeFillItem(QQuickItem *fillItem, qreal &usedWidth, qreal &usedHeight, int indexBeingResizedDueToDrag);
- void layoutPositionItems(const QQuickItem *fillItem);
- void requestLayout();
- void layout();
- void createHandles();
- void createHandleItem(int index);
- void removeExcessHandles();
- void destroyHandles();
- void resizeHandle(QQuickItem *handleItem);
- void resizeHandles();
- void updateHandleVisibilities();
- void setResizing(bool resizing);
-
- bool isHorizontal() const;
- qreal accumulatedSize(int firstIndex, int lastIndex) const;
-
- struct EffectiveSizeData {
- qreal effectiveMinimumWidth;
- qreal effectiveMinimumHeight;
- qreal effectivePreferredWidth;
- qreal effectivePreferredHeight;
- qreal effectiveMaximumWidth;
- qreal effectiveMaximumHeight;
- };
-
- EffectiveSizeData effectiveSizeData(const QQuickItemPrivate *itemPrivate,
- const QQuickSplitViewAttached *attached) const;
-
- int handleIndexForSplitIndex(int splitIndex) const;
-
- QQuickItem *getContentItem() override;
- void handlePress(const QPointF &point) override;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
-
- void itemVisibilityChanged(QQuickItem *item) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- void updatePolish() override;
-
- static QQuickSplitViewPrivate *get(QQuickSplitView *splitView);
-
- Qt::Orientation m_orientation = Qt::Horizontal;
- QQmlComponent *m_handle = nullptr;
- QVector<QQuickItem*> m_handleItems;
- int m_hoveredHandleIndex = -1;
- int m_pressedHandleIndex = -1;
- QPointF m_pressPos;
- QPointF m_mousePos;
- QPointF m_handlePosBeforePress;
- qreal m_leftOrTopItemSizeBeforePress = 0.0;
- qreal m_rightOrBottomItemSizeBeforePress = 0.0;
- int m_fillIndex = -1;
- bool m_layingOut = false;
- bool m_ignoreNextLayoutRequest = false;
- bool m_resizing = false;
-};
-
-class QQuickSplitViewAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSplitViewAttached)
-
-public:
- QQuickSplitViewAttachedPrivate();
-
- void setView(QQuickSplitView *newView);
- void requestLayoutView();
-
- static QQuickSplitViewAttachedPrivate *get(QQuickSplitViewAttached *attached);
- static const QQuickSplitViewAttachedPrivate *get(const QQuickSplitViewAttached *attached);
-
- QQuickItem *m_splitItem = nullptr;
- QQuickSplitView *m_splitView = nullptr;
-
- unsigned m_fillWidth : 1;
- unsigned m_fillHeight : 1;
- unsigned m_isFillWidthSet : 1;
- unsigned m_isFillHeightSet : 1;
- unsigned m_isMinimumWidthSet : 1;
- unsigned m_isMinimumHeightSet : 1;
- unsigned m_isPreferredWidthSet : 1;
- unsigned m_isPreferredHeightSet : 1;
- unsigned m_isMaximumWidthSet : 1;
- unsigned m_isMaximumHeightSet : 1;
- qreal m_minimumWidth;
- qreal m_minimumHeight;
- qreal m_preferredWidth;
- qreal m_preferredHeight;
- qreal m_maximumWidth;
- qreal m_maximumHeight;
-};
-
-class QQuickSplitHandleAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSplitHandleAttached)
-
-public:
- QQuickSplitHandleAttachedPrivate();
-
- void setHovered(bool hovered);
- void setPressed(bool pressed);
-
- static QQuickSplitHandleAttachedPrivate *get(QQuickSplitHandleAttached *attached);
- static const QQuickSplitHandleAttachedPrivate *get(const QQuickSplitHandleAttached *attached);
-
- unsigned m_hovered : 1;
- unsigned m_pressed : 1;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSPLITVIEW_P_P_H
diff --git a/src/quicktemplates2/qquickstackelement.cpp b/src/quicktemplates2/qquickstackelement.cpp
deleted file mode 100644
index 4c14022a..00000000
--- a/src/quicktemplates2/qquickstackelement.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstackelement_p_p.h"
-#include "qquickstackview_p_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQml/qqmlincubator.h>
-#include <QtQml/private/qv4qobjectwrapper_p.h>
-#include <QtQml/private/qqmlcomponent_p.h>
-#include <QtQml/private/qqmlengine_p.h>
-#include <QtQml/private/qqmlapiversion_p.h>
-
-QT_BEGIN_NAMESPACE
-
-static QQuickStackViewAttached *attachedStackObject(QQuickStackElement *element)
-{
- QQuickStackViewAttached *attached = qobject_cast<QQuickStackViewAttached *>(qmlAttachedPropertiesObject<QQuickStackView>(element->item, false));
- if (attached)
- QQuickStackViewAttachedPrivate::get(attached)->element = element;
- return attached;
-}
-
-class QQuickStackIncubator : public QQmlIncubator
-{
-public:
- QQuickStackIncubator(QQuickStackElement *element)
- : QQmlIncubator(Synchronous),
- element(element)
- {
- }
-
-protected:
- void setInitialState(QObject *object) override { element->incubate(object); }
-
-private:
- QQuickStackElement *element;
-};
-
-QQuickStackElement::QQuickStackElement()
- : QQuickItemViewTransitionableItem(nullptr)
-{
-}
-
-QQuickStackElement::~QQuickStackElement()
-{
- if (item)
- QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Destroyed);
-
- if (ownComponent)
- delete component;
-
- QQuickStackViewAttached *attached = attachedStackObject(this);
- if (item) {
- if (ownItem) {
- item->setParentItem(nullptr);
- item->deleteLater();
- item = nullptr;
- } else {
- setVisible(false);
- if (!widthValid)
- item->resetWidth();
- if (!heightValid)
- item->resetHeight();
- if (item->parentItem() != originalParent) {
- item->setParentItem(originalParent);
- } else {
- if (attached)
- QQuickStackViewAttachedPrivate::get(attached)->itemParentChanged(item, nullptr);
- }
- }
- }
-
- if (attached)
- emit attached->removed();
-
- delete context;
-}
-
-QQuickStackElement *QQuickStackElement::fromString(const QString &str, QQuickStackView *view, QString *error)
-{
- QUrl url(str);
- if (!url.isValid()) {
- *error = QStringLiteral("invalid url: ") + str;
- return nullptr;
- }
-
- if (url.isRelative())
- url = qmlContext(view)->resolvedUrl(url);
-
- QQuickStackElement *element = new QQuickStackElement;
- element->component = new QQmlComponent(qmlEngine(view), url, view);
- element->ownComponent = true;
- return element;
-}
-
-QQuickStackElement *QQuickStackElement::fromObject(QObject *object, QQuickStackView *view, QString *error)
-{
- Q_UNUSED(view);
- QQmlComponent *component = qobject_cast<QQmlComponent *>(object);
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (!component && !item) {
- *error = QQmlMetaType::prettyTypeName(object) + QStringLiteral(" is not supported. Must be Item or Component.");
- return nullptr;
- }
-
- QQuickStackElement *element = new QQuickStackElement;
- element->component = qobject_cast<QQmlComponent *>(object);
- element->item = qobject_cast<QQuickItem *>(object);
- if (element->item)
- element->originalParent = element->item->parentItem();
- return element;
-}
-
-bool QQuickStackElement::load(QQuickStackView *parent)
-{
- setView(parent);
- if (!item) {
- ownItem = true;
-
- if (component->isLoading()) {
- QObject::connect(component, &QQmlComponent::statusChanged, [this](QQmlComponent::Status status) {
- if (status == QQmlComponent::Ready)
- load(view);
- else if (status == QQmlComponent::Error)
- QQuickStackViewPrivate::get(view)->warn(component->errorString().trimmed());
- });
- return true;
- }
-
- QQmlContext *creationContext = component->creationContext();
- if (!creationContext)
- creationContext = qmlContext(parent);
- context = new QQmlContext(creationContext, parent);
- context->setContextObject(parent);
-
- QQuickStackIncubator incubator(this);
- component->create(incubator, context);
- if (component->isError())
- QQuickStackViewPrivate::get(parent)->warn(component->errorString().trimmed());
- } else {
- initialize();
- }
- return item;
-}
-
-void QQuickStackElement::incubate(QObject *object)
-{
- item = qmlobject_cast<QQuickItem *>(object);
- if (item) {
- QQmlEngine::setObjectOwnership(item, QQmlEngine::CppOwnership);
- item->setParent(view);
- initialize();
- }
-}
-
-void QQuickStackElement::initialize()
-{
- if (!item || init)
- return;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!(widthValid = p->widthValid))
- item->setWidth(view->width());
- if (!(heightValid = p->heightValid))
- item->setHeight(view->height());
- item->setParentItem(view);
- p->addItemChangeListener(this, QQuickItemPrivate::Destroyed);
-
- if (!properties.isUndefined()) {
- QQmlEngine *engine = qmlEngine(view);
- Q_ASSERT(engine);
- QV4::ExecutionEngine *v4 = QQmlEnginePrivate::getV4Engine(engine);
- Q_ASSERT(v4);
- QV4::Scope scope(v4);
- QV4::ScopedValue ipv(scope, properties.value());
- QV4::Scoped<QV4::QmlContext> qmlContext(scope, qmlCallingContext.value());
- QV4::ScopedValue qmlObject(scope, QV4::QObjectWrapper::wrap(v4, item));
-#if Q_QML_PRIVATE_API_VERSION >= 6
- RequiredProperties requiredPropertiesCurrentlyNotSupported;
- QQmlComponentPrivate::setInitialProperties(v4, qmlContext, qmlObject, ipv, requiredPropertiesCurrentlyNotSupported, item);
-#else
- QQmlComponentPrivate::setInitialProperties(v4, qmlContext, qmlObject, ipv);
-#endif
- properties.clear();
- }
-
- init = true;
-}
-
-void QQuickStackElement::setIndex(int value)
-{
- if (index == value)
- return;
-
- index = value;
- QQuickStackViewAttached *attached = attachedStackObject(this);
- if (attached)
- emit attached->indexChanged();
-}
-
-void QQuickStackElement::setView(QQuickStackView *value)
-{
- if (view == value)
- return;
-
- view = value;
- QQuickStackViewAttached *attached = attachedStackObject(this);
- if (attached)
- emit attached->viewChanged();
-}
-
-void QQuickStackElement::setStatus(QQuickStackView::Status value)
-{
- if (status == value)
- return;
-
- status = value;
- QQuickStackViewAttached *attached = attachedStackObject(this);
- if (!attached)
- return;
-
- switch (value) {
- case QQuickStackView::Inactive:
- emit attached->deactivated();
- break;
- case QQuickStackView::Deactivating:
- emit attached->deactivating();
- break;
- case QQuickStackView::Activating:
- emit attached->activating();
- break;
- case QQuickStackView::Active:
- emit attached->activated();
- break;
- default:
- Q_UNREACHABLE();
- break;
- }
-
- emit attached->statusChanged();
-}
-
-void QQuickStackElement::setVisible(bool visible)
-{
- QQuickStackViewAttached *attached = attachedStackObject(this);
- if (!item || (attached && QQuickStackViewAttachedPrivate::get(attached)->explicitVisible))
- return;
-
- item->setVisible(visible);
-}
-
-void QQuickStackElement::transitionNextReposition(QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, bool asTarget)
-{
- if (transitioner)
- transitioner->transitionNextReposition(this, type, asTarget);
-}
-
-bool QQuickStackElement::prepareTransition(QQuickItemViewTransitioner *transitioner, const QRectF &viewBounds)
-{
- if (transitioner) {
- if (item) {
- QQuickAnchors *anchors = QQuickItemPrivate::get(item)->_anchors;
- // TODO: expose QQuickAnchorLine so we can test for other conflicting anchors
- if (anchors && (anchors->fill() || anchors->centerIn()))
- qmlWarning(item) << "StackView has detected conflicting anchors. Transitions may not execute properly.";
- }
-
- // TODO: add force argument to QQuickItemViewTransitionableItem::prepareTransition()?
- nextTransitionToSet = true;
- nextTransitionFromSet = true;
- nextTransitionFrom += QPointF(1, 1);
- return QQuickItemViewTransitionableItem::prepareTransition(transitioner, index, viewBounds);
- }
- return false;
-}
-
-void QQuickStackElement::startTransition(QQuickItemViewTransitioner *transitioner, QQuickStackView::Status status)
-{
- setStatus(status);
- if (transitioner)
- QQuickItemViewTransitionableItem::startTransition(transitioner, index);
-}
-
-void QQuickStackElement::itemDestroyed(QQuickItem *)
-{
- item = nullptr;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickstackelement_p_p.h b/src/quicktemplates2/qquickstackelement_p_p.h
deleted file mode 100644
index 65e73244..00000000
--- a/src/quicktemplates2/qquickstackelement_p_p.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTACKELEMENT_P_P_H
-#define QQUICKSTACKELEMENT_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickstackview_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQuick/private/qquickitemviewtransition_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQml/private/qv4persistent_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlContext;
-class QQmlComponent;
-struct QQuickStackTransition;
-
-class QQuickStackElement : public QQuickItemViewTransitionableItem, public QQuickItemChangeListener
-{
- QQuickStackElement();
-
-public:
- ~QQuickStackElement();
-
- static QQuickStackElement *fromString(const QString &str, QQuickStackView *view, QString *error);
- static QQuickStackElement *fromObject(QObject *object, QQuickStackView *view, QString *error);
-
- bool load(QQuickStackView *parent);
- void incubate(QObject *object);
- void initialize();
-
- void setIndex(int index);
- void setView(QQuickStackView *view);
- void setStatus(QQuickStackView::Status status);
- void setVisible(bool visible);
-
- void transitionNextReposition(QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, bool asTarget);
- bool prepareTransition(QQuickItemViewTransitioner *transitioner, const QRectF &viewBounds);
- void startTransition(QQuickItemViewTransitioner *transitioner, QQuickStackView::Status status);
-
- void itemDestroyed(QQuickItem *item) override;
-
- int index = -1;
- bool init = false;
- bool removal = false;
- bool ownItem = false;
- bool ownComponent = false;
- bool widthValid = false;
- bool heightValid = false;
- QQmlContext *context = nullptr;
- QQmlComponent *component = nullptr;
- QQuickStackView *view = nullptr;
- QPointer<QQuickItem> originalParent;
- QQuickStackView::Status status = QQuickStackView::Inactive;
- QV4::PersistentValue properties;
- QV4::PersistentValue qmlCallingContext;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTACKELEMENT_P_P_H
diff --git a/src/quicktemplates2/qquickstacktransition.cpp b/src/quicktemplates2/qquickstacktransition.cpp
deleted file mode 100644
index a0192d1b..00000000
--- a/src/quicktemplates2/qquickstacktransition.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstacktransition_p_p.h"
-#include "qquickstackelement_p_p.h"
-#include "qquickstackview_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-static QQuickStackTransition exitTransition(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- QQuickStackTransition st;
- st.status = QQuickStackView::Deactivating;
- st.element = element;
-
- const QQuickItemViewTransitioner *transitioner = QQuickStackViewPrivate::get(view)->transitioner;
-
- switch (operation) {
- case QQuickStackView::PushTransition:
- st.type = QQuickItemViewTransitioner::AddTransition;
- if (transitioner)
- st.transition = transitioner->addDisplacedTransition;
- break;
- case QQuickStackView::ReplaceTransition:
- st.type = QQuickItemViewTransitioner::MoveTransition;
- if (transitioner)
- st.transition = transitioner->moveDisplacedTransition;
- break;
- case QQuickStackView::PopTransition:
- st.target = true;
- st.type = QQuickItemViewTransitioner::RemoveTransition;
- st.viewBounds = view->boundingRect();
- if (transitioner)
- st.transition = transitioner->removeTransition;
- break;
- default:
- Q_UNREACHABLE();
- break;
- }
-
- return st;
-}
-
-static QQuickStackTransition enterTransition(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- QQuickStackTransition st;
- st.status = QQuickStackView::Activating;
- st.element = element;
-
- const QQuickItemViewTransitioner *transitioner = QQuickStackViewPrivate::get(view)->transitioner;
-
- switch (operation) {
- case QQuickStackView::PushTransition:
- st.target = true;
- st.type = QQuickItemViewTransitioner::AddTransition;
- st.viewBounds = view->boundingRect();
- if (transitioner)
- st.transition = transitioner->addTransition;
- break;
- case QQuickStackView::ReplaceTransition:
- st.target = true;
- st.type = QQuickItemViewTransitioner::MoveTransition;
- st.viewBounds = view->boundingRect();
- if (transitioner)
- st.transition = transitioner->moveTransition;
- break;
- case QQuickStackView::PopTransition:
- st.type = QQuickItemViewTransitioner::RemoveTransition;
- if (transitioner)
- st.transition = transitioner->removeDisplacedTransition;
- break;
- default:
- Q_UNREACHABLE();
- break;
- }
-
- return st;
-}
-
-static QQuickStackView::Operation operationTransition(QQuickStackView::Operation operation, QQuickStackView::Operation transition)
-{
- if (operation == QQuickStackView::Immediate || operation == QQuickStackView::Transition)
- return transition;
- return operation;
-}
-
-QQuickStackTransition QQuickStackTransition::popExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- return exitTransition(operationTransition(operation, QQuickStackView::PopTransition), element, view);
-}
-
-QQuickStackTransition QQuickStackTransition::popEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- return enterTransition(operationTransition(operation, QQuickStackView::PopTransition), element, view);
-}
-
-QQuickStackTransition QQuickStackTransition::pushExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- return exitTransition(operationTransition(operation, QQuickStackView::PushTransition), element, view);
-}
-
-QQuickStackTransition QQuickStackTransition::pushEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- return enterTransition(operationTransition(operation, QQuickStackView::PushTransition), element, view);
-}
-
-QQuickStackTransition QQuickStackTransition::replaceExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- return exitTransition(operationTransition(operation, QQuickStackView::ReplaceTransition), element, view);
-}
-
-QQuickStackTransition QQuickStackTransition::replaceEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
-{
- return enterTransition(operationTransition(operation, QQuickStackView::ReplaceTransition), element, view);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickstacktransition_p_p.h b/src/quicktemplates2/qquickstacktransition_p_p.h
deleted file mode 100644
index 3a08fb4a..00000000
--- a/src/quicktemplates2/qquickstacktransition_p_p.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTACKTRANSITION_P_P_H
-#define QQUICKSTACKTRANSITION_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickstackview_p.h>
-#include <QtQuick/private/qquickitemviewtransition_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickStackElement;
-
-struct QQuickStackTransition
-{
- static QQuickStackTransition popExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view);
- static QQuickStackTransition popEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view);
-
- static QQuickStackTransition pushExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view);
- static QQuickStackTransition pushEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view);
-
- static QQuickStackTransition replaceExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view);
- static QQuickStackTransition replaceEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view);
-
- bool target = false;
- QQuickStackView::Status status = QQuickStackView::Inactive;
- QQuickItemViewTransitioner::TransitionType type = QQuickItemViewTransitioner::NoTransition;
- QRectF viewBounds;
- QQuickStackElement *element = nullptr;
- QQuickTransition *transition = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTACKTRANSITION_P_P_H
diff --git a/src/quicktemplates2/qquickstackview.cpp b/src/quicktemplates2/qquickstackview.cpp
deleted file mode 100644
index b2a95731..00000000
--- a/src/quicktemplates2/qquickstackview.cpp
+++ /dev/null
@@ -1,1363 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstackview_p.h"
-#include "qquickstackview_p_p.h"
-#include "qquickstackelement_p_p.h"
-#include "qquickstacktransition_p_p.h"
-
-#include <QtCore/qscopedvaluerollback.h>
-#include <QtQml/qjsvalue.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlinfo.h>
-
-#include <private/qv4qobjectwrapper_p.h>
-#include <private/qqmlengine_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype StackView
- \inherits Control
- \instantiates QQuickStackView
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-navigation
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Provides a stack-based navigation model.
-
- \image qtquickcontrols2-stackview-wireframe.png
-
- StackView can be used with a set of inter-linked information pages. For
- example, an email application with separate views to list the latest emails,
- view a specific email, and list/view the attachments. The email list view
- is pushed onto the stack as users open an email, and popped out as they
- choose to go back.
-
- The following snippet demonstrates a simple use case, where the \c mainView
- is pushed onto and popped out of the stack on relevant button click:
-
- \qml
- ApplicationWindow {
- title: qsTr("Hello World")
- width: 640
- height: 480
- visible: true
-
- StackView {
- id: stack
- initialItem: mainView
- anchors.fill: parent
- }
-
- Component {
- id: mainView
-
- Row {
- spacing: 10
-
- Button {
- text: "Push"
- onClicked: stack.push(mainView)
- }
- Button {
- text: "Pop"
- enabled: stack.depth > 1
- onClicked: stack.pop()
-
- }
- Text {
- text: stack.depth
- }
- }
- }
- }
- \endqml
-
- \section1 Using StackView in an Application
-
- Using StackView in an application is as simple as adding it as a child to
- a Window. The stack is usually anchored to the edges of the window, except
- at the top or bottom where it might be anchored to a status bar, or some
- other similar UI component. The stack can then be used by invoking its
- navigation methods. The first item to show in the StackView is the one
- that was assigned to \l initialItem, or the topmost item if \l initialItem
- is not set.
-
- \section1 Basic Navigation
-
- StackView supports three primary navigation operations: push(), pop(), and
- replace(). These correspond to classic stack operations where "push" adds
- an item to the top of a stack, "pop" removes the top item from the
- stack, and "replace" is like a pop followed by a push, which replaces the
- topmost item with the new item. The topmost item in the stack
- corresponds to the one that is \l{StackView::currentItem}{currently}
- visible on screen. Logically, "push" navigates forward or deeper into the
- application UI, "pop" navigates backward, and "replace" replaces the
- \l currentItem.
-
- \section2 Pushing Items
-
- In the following animation, three \l Label controls are pushed onto a
- stack view with the \l push() function:
-
- \image qtquickcontrols2-stackview-push.gif
-
- The stack now contains the following items: \c [A, B, C].
-
- \note When the stack is empty, a push() operation will not have a
- transition animation because there is nothing to transition from (typically
- on application start-up).
-
- \section2 Popping Items
-
- Continuing on from the example above, the topmost item on the stack is
- removed with a call to \l pop():
-
- \image qtquickcontrols2-stackview-pop.gif
-
- The stack now contains the following items: \c [A, B].
-
- \note A pop() operation on a stack with depth 1 or 0 does nothing. In such
- cases, the stack can be emptied using the \l clear() method.
-
- \section3 Unwinding Items via Pop
-
- Sometimes, it is necessary to go back more than a single step in the stack.
- For example, to return to a "main" item or some kind of section item in the
- application. In such cases, it is possible to specify an item as a
- parameter for pop(). This is called an "unwind" operation, where the stack
- unwinds till the specified item. If the item is not found, stack unwinds
- until it is left with one item, which becomes the \l currentItem. To
- explicitly unwind to the bottom of the stack, it is recommended to use
- \l{pop()}{pop(null)}, although any non-existent item will do.
-
- In the following animation, we unwind the stack to the first item by
- calling \c pop(null):
-
- \image qtquickcontrols2-stackview-unwind.gif
-
- The stack now contains a single item: \c [A].
-
- \section2 Replacing Items
-
- In the following animation, we \l replace the topmost item with \c D:
-
- \image qtquickcontrols2-stackview-replace.gif
-
- The stack now contains the following items: \c [A, B, D].
-
- \section1 Deep Linking
-
- \e{Deep linking} means launching an application into a particular state. For
- example, a newspaper application could be launched into showing a
- particular article, bypassing the topmost item. In terms of StackView, deep linking means the ability to modify
- the state of the stack, so much so that it is possible to push a set of
- items to the top of the stack, or to completely reset the stack to a given
- state.
-
- The API for deep linking in StackView is the same as for basic navigation.
- Pushing an array instead of a single item adds all the items in that array
- to the stack. The transition animation, however, is applied only for the
- last item in the array. The normal semantics of push() apply for deep
- linking, that is, it adds whatever is pushed onto the stack.
-
- \note Only the last item of the array is loaded. The rest of the items are
- loaded only when needed, either on subsequent calls to pop or on request to
- get an item using get().
-
- This gives us the following result, given the stack [A, B, C]:
-
- \list
- \li \l{push()}{push([D, E, F])} => [A, B, C, D, E, F] - "push" transition
- animation between C and F
- \li \l{replace()}{replace([D, E, F])} => [A, B, D, E, F] - "replace"
- transition animation between C and F
- \li \l{clear()} followed by \l{push()}{push([D, E, F])} => [D, E, F] - no
- transition animation for pushing items as the stack was empty.
- \endlist
-
- \section1 Finding Items
-
- An Item for which the application does not have a reference can be found
- by calling find(). The method needs a callback function, which is invoked
- for each item in the stack (starting at the top) until a match is found.
- If the callback returns \c true, find() stops and returns the matching
- item, otherwise \c null is returned.
-
- The code below searches the stack for an item named "order_id" and unwinds
- to that item.
-
- \badcode
- stackView.pop(stackView.find(function(item) {
- return item.name == "order_id";
- }));
- \endcode
-
- You can also get to an item in the stack using \l {get()}{get(index)}.
-
- \badcode
- previousItem = stackView.get(myItem.StackView.index - 1));
- \endcode
-
- \section1 Transitions
-
- For each push or pop operation, different transition animations are applied
- to entering and exiting items. These animations define how the entering item
- should animate in, and the exiting item should animate out. The animations
- can be customized by assigning different \l{Transition}s for the
- \l pushEnter, \l pushExit, \l popEnter, \l popExit, \l replaceEnter, and
- \l replaceExit properties of StackView.
-
- \note The transition animations affect each others' transitional behavior.
- Customizing the animation for one and leaving the other may give unexpected
- results.
-
- The following snippet defines a simple fade transition for push and pop
- operations:
-
- \qml
- StackView {
- id: stackview
- anchors.fill: parent
-
- pushEnter: Transition {
- PropertyAnimation {
- property: "opacity"
- from: 0
- to:1
- duration: 200
- }
- }
- pushExit: Transition {
- PropertyAnimation {
- property: "opacity"
- from: 1
- to:0
- duration: 200
- }
- }
- popEnter: Transition {
- PropertyAnimation {
- property: "opacity"
- from: 0
- to:1
- duration: 200
- }
- }
- popExit: Transition {
- PropertyAnimation {
- property: "opacity"
- from: 1
- to:0
- duration: 200
- }
- }
- }
- \endqml
-
- \note Using anchors on the items added to a StackView is not supported.
- Typically push, pop, and replace transitions animate the position,
- which is not possible when anchors are applied. Notice that this
- only applies to the root of the item. Using anchors for its children
- works as expected.
-
- \section1 Item Ownership
-
- StackView only takes ownership of items that it creates itself. This means
- that any item pushed onto a StackView will never be destroyed by the
- StackView; only items that StackView creates from \l {Component}{Components}
- or \l [QML] {url}{URLs} are destroyed by the StackView. To illustrate this,
- the messages in the example below will only be printed when the StackView
- is destroyed, not when the items are popped off the stack:
-
- \qml
- Component {
- id: itemComponent
-
- Item {
- Component.onDestruction: print("Destroying second item")
- }
- }
-
- StackView {
- initialItem: Item {
- Component.onDestruction: print("Destroying initial item")
- }
-
- Component.onCompleted: push(itemComponent.createObject(window))
- }
- \endqml
-
- However, both of the items created from the URL and Component in the
- following example will be destroyed by the StackView when they are popped
- off of it:
-
- \qml
- Component {
- id: itemComponent
-
- Item {
- Component.onDestruction: print("Destroying second item")
- }
- }
-
- StackView {
- initialItem: "Item1.qml"
-
- Component.onCompleted: push(itemComponent)
- }
- \endqml
-
- \section1 Size
-
- StackView does not inherit an implicit size from items that are pushed onto
- it. This means that using it as the \l {Popup::}{contentItem} of a
- \l Dialog, for example, will not work as expected:
-
- \code
- Dialog {
- StackView {
- initialItem: Rectangle {
- width: 200
- height: 200
- color: "salmon"
- }
- }
- }
- \endcode
-
- There are several ways to ensure that StackView has a size in this
- situation:
-
- \list
- \li Set \l implicitWidth and \l implicitHeight on the StackView itself.
- \li Set \l implicitWidth and \l implicitHeight on the \l Rectangle.
- \li Set \l {Popup::}{contentWidth} and \l {Popup::}{contentHeight} on
- the Dialog.
- \li Give the Dialog a size.
- \endlist
-
- \sa {Customizing StackView}, {Navigation Controls}, {Container Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-QQuickStackView::QQuickStackView(QQuickItem *parent)
- : QQuickControl(*(new QQuickStackViewPrivate), parent)
-{
- setFlag(ItemIsFocusScope);
-}
-
-QQuickStackView::~QQuickStackView()
-{
- Q_D(QQuickStackView);
- if (d->transitioner) {
- d->transitioner->setChangeListener(nullptr);
- delete d->transitioner;
- }
- qDeleteAll(d->removing);
- qDeleteAll(d->removed);
- qDeleteAll(d->elements);
-}
-
-QQuickStackViewAttached *QQuickStackView::qmlAttachedProperties(QObject *object)
-{
- return new QQuickStackViewAttached(object);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::StackView::busy
- \readonly
- This property holds whether a transition is running.
-*/
-bool QQuickStackView::isBusy() const
-{
- Q_D(const QQuickStackView);
- return d->busy;
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::StackView::depth
- \readonly
- This property holds the number of items currently pushed onto the stack.
-*/
-int QQuickStackView::depth() const
-{
- Q_D(const QQuickStackView);
- return d->elements.count();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::StackView::currentItem
- \readonly
- This property holds the current top-most item in the stack.
-*/
-QQuickItem *QQuickStackView::currentItem() const
-{
- Q_D(const QQuickStackView);
- return d->currentItem;
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::StackView::get(index, behavior)
-
- Returns the item at position \a index in the stack, or \c null if the index
- is out of bounds.
-
- Supported behavior values:
- \value StackView.DontLoad The item is not forced to load (and \c null is returned if not yet loaded).
- \value StackView.ForceLoad The item is forced to load.
-*/
-QQuickItem *QQuickStackView::get(int index, LoadBehavior behavior)
-{
- Q_D(QQuickStackView);
- QQuickStackElement *element = d->elements.value(index);
- if (element) {
- if (behavior == ForceLoad)
- element->load(this);
- return element->item;
- }
- return nullptr;
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::StackView::find(callback, behavior)
-
- Search for a specific item inside the stack. The \a callback function is called
- for each item in the stack (with the item and index as arguments) until the callback
- function returns \c true. The return value is the item found. For example:
-
- \code
- stackView.find(function(item, index) {
- return item.isTheOne
- })
- \endcode
-
- Supported behavior values:
- \value StackView.DontLoad Unloaded items are skipped (the callback function is not called for them).
- \value StackView.ForceLoad Unloaded items are forced to load.
-*/
-QQuickItem *QQuickStackView::find(const QJSValue &callback, LoadBehavior behavior)
-{
- Q_D(QQuickStackView);
- QJSValue func(callback);
- QQmlEngine *engine = qmlEngine(this);
- if (!engine || !func.isCallable()) // TODO: warning?
- return nullptr;
-
- for (int i = d->elements.count() - 1; i >= 0; --i) {
- QQuickStackElement *element = d->elements.at(i);
- if (behavior == ForceLoad)
- element->load(this);
- if (element->item) {
- QJSValue rv = func.call(QJSValueList() << engine->newQObject(element->item) << i);
- if (rv.toBool())
- return element->item;
- }
- }
-
- return nullptr;
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::StackView::push(item, properties, operation)
-
- Pushes an \a item onto the stack using the specified \a operation, and
- optionally applies a set of \a properties on the item. The item can be
- an \l Item, \l Component, or a \l [QML] url. Returns the item that became
- current.
-
- StackView creates an instance automatically if the pushed item is a \l Component,
- or a \l [QML] url, and the instance will be destroyed when it is popped
- off the stack. See \l {Item Ownership} for more information.
-
- The optional \a properties argument specifies a map of initial
- property values for the pushed item. For dynamically created items, these values
- are applied before the creation is finalized. This is more efficient than setting
- property values after creation, particularly where large sets of property values
- are defined, and also allows property bindings to be set up (using \l{Qt::binding}
- {Qt.binding()}) before the item is created.
-
- Pushing a single item:
- \code
- stackView.push(rect)
-
- // or with properties:
- stackView.push(rect, {"color": "red"})
- \endcode
-
- Multiple items can be pushed at the same time either by passing them as
- additional arguments, or as an array. The last item becomes the current
- item. Each item can be followed by a set of properties to apply.
-
- Passing a variable amount of arguments:
- \code
- stackView.push(rect1, rect2, rect3)
-
- // or with properties:
- stackView.push(rect1, {"color": "red"}, rect2, {"color": "green"}, rect3, {"color": "blue"})
- \endcode
-
- Pushing an array of items:
- \code
- stackView.push([rect1, rect2, rect3])
-
- // or with properties:
- stackView.push([rect1, {"color": "red"}, rect2, {"color": "green"}, rect3, {"color": "blue"}])
- \endcode
-
- An \a operation can be optionally specified as the last argument. Supported
- operations:
-
- \value StackView.Transition An operation with default transitions (default).
- \value StackView.Immediate An immediate operation without transitions.
- \value StackView.PushTransition An operation with push transitions (since QtQuick.Controls 2.1).
- \value StackView.ReplaceTransition An operation with replace transitions (since QtQuick.Controls 2.1).
- \value StackView.PopTransition An operation with pop transitions (since QtQuick.Controls 2.1).
-
- \note Items that already exist in the stack are not pushed.
-
- \sa initialItem, {Pushing Items}
-*/
-void QQuickStackView::push(QQmlV4Function *args)
-{
- Q_D(QQuickStackView);
- QScopedValueRollback<QString> rollback(d->operation, QStringLiteral("push"));
- if (args->length() <= 0) {
- d->warn(QStringLiteral("missing arguments"));
- args->setReturnValue(QV4::Encode::null());
- return;
- }
-
- QV4::ExecutionEngine *v4 = args->v4engine();
- QV4::Scope scope(v4);
-
- Operation operation = d->elements.isEmpty() ? Immediate : PushTransition;
- QV4::ScopedValue lastArg(scope, (*args)[args->length() - 1]);
- if (lastArg->isInt32())
- operation = static_cast<Operation>(lastArg->toInt32());
-
- QStringList errors;
- QList<QQuickStackElement *> elements = d->parseElements(0, args, &errors);
- // Remove any items that are already in the stack, as they can't be in two places at once.
- for (int i = 0; i < elements.size(); ) {
- QQuickStackElement *element = elements.at(i);
- if (element->item && d->findElement(element->item))
- elements.removeAt(i);
- else
- ++i;
- }
-
- if (!errors.isEmpty() || elements.isEmpty()) {
- if (!errors.isEmpty()) {
- for (const QString &error : qAsConst(errors))
- d->warn(error);
- } else {
- d->warn(QStringLiteral("nothing to push"));
- }
- args->setReturnValue(QV4::Encode::null());
- return;
- }
-
- QQuickStackElement *exit = nullptr;
- if (!d->elements.isEmpty())
- exit = d->elements.top();
-
- int oldDepth = d->elements.count();
- if (d->pushElements(elements)) {
- d->depthChange(d->elements.count(), oldDepth);
- QQuickStackElement *enter = d->elements.top();
- d->startTransition(QQuickStackTransition::pushEnter(operation, enter, this),
- QQuickStackTransition::pushExit(operation, exit, this),
- operation == Immediate);
- d->setCurrentItem(enter);
- }
-
- if (d->currentItem) {
- QV4::ScopedValue rv(scope, QV4::QObjectWrapper::wrap(v4, d->currentItem));
- args->setReturnValue(rv->asReturnedValue());
- } else {
- args->setReturnValue(QV4::Encode::null());
- }
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::StackView::pop(item, operation)
-
- Pops one or more items off the stack. Returns the last item removed from the stack.
-
- If the \a item argument is specified, all items down to (but not
- including) \a item will be popped. If \a item is \c null, all
- items down to (but not including) the first item is popped.
- If not specified, only the current item is popped.
-
- \include qquickstackview.qdocinc pop-ownership
-
- An \a operation can be optionally specified as the last argument. Supported
- operations:
-
- \value StackView.Transition An operation with default transitions (default).
- \value StackView.Immediate An immediate operation without transitions.
- \value StackView.PushTransition An operation with push transitions (since QtQuick.Controls 2.1).
- \value StackView.ReplaceTransition An operation with replace transitions (since QtQuick.Controls 2.1).
- \value StackView.PopTransition An operation with pop transitions (since QtQuick.Controls 2.1).
-
- Examples:
- \code
- stackView.pop()
- stackView.pop(someItem, StackView.Immediate)
- stackView.pop(StackView.Immediate)
- stackView.pop(null)
- \endcode
-
- \sa clear(), {Popping Items}, {Unwinding Items via Pop}
-*/
-void QQuickStackView::pop(QQmlV4Function *args)
-{
- Q_D(QQuickStackView);
- QScopedValueRollback<QString> rollback(d->operation, QStringLiteral("pop"));
- int argc = args->length();
- if (d->elements.count() <= 1 || argc > 2) {
- if (argc > 2)
- d->warn(QStringLiteral("too many arguments"));
- args->setReturnValue(QV4::Encode::null());
- return;
- }
-
- int oldDepth = d->elements.count();
- QQuickStackElement *exit = d->elements.pop();
- QQuickStackElement *enter = d->elements.top();
-
- QV4::ExecutionEngine *v4 = args->v4engine();
- QV4::Scope scope(v4);
-
- if (argc > 0) {
- QV4::ScopedValue value(scope, (*args)[0]);
- if (value->isNull()) {
- enter = d->elements.value(0);
- } else if (const QV4::QObjectWrapper *o = value->as<QV4::QObjectWrapper>()) {
- QQuickItem *item = qobject_cast<QQuickItem *>(o->object());
- enter = d->findElement(item);
- if (!enter) {
- if (item != d->currentItem)
- d->warn(QStringLiteral("unknown argument: ") + value->toQString()); // TODO: safe?
- args->setReturnValue(QV4::Encode::null());
- d->elements.push(exit); // restore
- return;
- }
- }
- }
-
- Operation operation = PopTransition;
- if (argc > 0) {
- QV4::ScopedValue lastArg(scope, (*args)[argc - 1]);
- if (lastArg->isInt32())
- operation = static_cast<Operation>(lastArg->toInt32());
- }
-
- QQuickItem *previousItem = nullptr;
-
- if (d->popElements(enter)) {
- if (exit) {
- exit->removal = true;
- d->removing.insert(exit);
- previousItem = exit->item;
- }
- d->depthChange(d->elements.count(), oldDepth);
- d->startTransition(QQuickStackTransition::popExit(operation, exit, this),
- QQuickStackTransition::popEnter(operation, enter, this),
- operation == Immediate);
- d->setCurrentItem(enter);
- }
-
- if (previousItem) {
- QV4::ScopedValue rv(scope, QV4::QObjectWrapper::wrap(v4, previousItem));
- args->setReturnValue(rv->asReturnedValue());
- } else {
- args->setReturnValue(QV4::Encode::null());
- }
-}
-
-/*!
- \qmlmethod Item QtQuick.Controls::StackView::replace(target, item, properties, operation)
-
- Replaces one or more items on the stack with the specified \a item and
- \a operation, and optionally applies a set of \a properties on the
- item. The item can be an \l Item, \l Component, or a \l [QML] url.
- Returns the item that became current.
-
- \include qquickstackview.qdocinc pop-ownership
-
- If the \a target argument is specified, all items down to the \target
- item will be replaced. If \a target is \c null, all items in the stack
- will be replaced. If not specified, only the top item will be replaced.
-
- StackView creates an instance automatically if the replacing item is a \l Component,
- or a \l [QML] url. The optional \a properties argument specifies a map of initial
- property values for the replacing item. For dynamically created items, these values
- are applied before the creation is finalized. This is more efficient than setting
- property values after creation, particularly where large sets of property values
- are defined, and also allows property bindings to be set up (using \l{Qt::binding}
- {Qt.binding()}) before the item is created.
-
- Replace the top item:
- \code
- stackView.replace(rect)
-
- // or with properties:
- stackView.replace(rect, {"color": "red"})
- \endcode
-
- Multiple items can be replaced at the same time either by passing them as
- additional arguments, or as an array. Each item can be followed by a set
- of properties to apply.
-
- Passing a variable amount of arguments:
- \code
- stackView.replace(rect1, rect2, rect3)
-
- // or with properties:
- stackView.replace(rect1, {"color": "red"}, rect2, {"color": "green"}, rect3, {"color": "blue"})
- \endcode
-
- Replacing an array of items:
- \code
- stackView.replace([rect1, rect2, rect3])
-
- // or with properties:
- stackView.replace([rect1, {"color": "red"}, rect2, {"color": "green"}, rect3, {"color": "blue"}])
- \endcode
-
- An \a operation can be optionally specified as the last argument. Supported
- operations:
-
- \value StackView.Transition An operation with default transitions (default).
- \value StackView.Immediate An immediate operation without transitions.
- \value StackView.PushTransition An operation with push transitions (since QtQuick.Controls 2.1).
- \value StackView.ReplaceTransition An operation with replace transitions (since QtQuick.Controls 2.1).
- \value StackView.PopTransition An operation with pop transitions (since QtQuick.Controls 2.1).
-
- The following example illustrates the use of push and pop transitions with replace().
-
- \code
- StackView {
- id: stackView
-
- initialItem: Component {
- id: page
-
- Page {
- Row {
- spacing: 20
- anchors.centerIn: parent
-
- Button {
- text: "<"
- onClicked: stackView.replace(page, StackView.PopTransition)
- }
- Button {
- text: ">"
- onClicked: stackView.replace(page, StackView.PushTransition)
- }
- }
- }
- }
- }
- \endcode
-
- \sa push(), {Replacing Items}
-*/
-void QQuickStackView::replace(QQmlV4Function *args)
-{
- Q_D(QQuickStackView);
- QScopedValueRollback<QString> rollback(d->operation, QStringLiteral("replace"));
- if (args->length() <= 0) {
- d->warn(QStringLiteral("missing arguments"));
- args->setReturnValue(QV4::Encode::null());
- return;
- }
-
- QV4::ExecutionEngine *v4 = args->v4engine();
- QV4::Scope scope(v4);
-
- Operation operation = d->elements.isEmpty() ? Immediate : ReplaceTransition;
- QV4::ScopedValue lastArg(scope, (*args)[args->length() - 1]);
- if (lastArg->isInt32())
- operation = static_cast<Operation>(lastArg->toInt32());
-
- QQuickStackElement *target = nullptr;
- QV4::ScopedValue firstArg(scope, (*args)[0]);
- if (firstArg->isNull())
- target = d->elements.value(0);
- else if (!firstArg->isInt32())
- target = d->findElement(firstArg);
-
- QStringList errors;
- QList<QQuickStackElement *> elements = d->parseElements(target ? 1 : 0, args, &errors);
- if (!errors.isEmpty() || elements.isEmpty()) {
- if (!errors.isEmpty()) {
- for (const QString &error : qAsConst(errors))
- d->warn(error);
- } else {
- d->warn(QStringLiteral("nothing to push"));
- }
- args->setReturnValue(QV4::Encode::null());
- return;
- }
-
- int oldDepth = d->elements.count();
- QQuickStackElement* exit = nullptr;
- if (!d->elements.isEmpty())
- exit = d->elements.pop();
-
- if (exit != target ? d->replaceElements(target, elements) : d->pushElements(elements)) {
- d->depthChange(d->elements.count(), oldDepth);
- if (exit) {
- exit->removal = true;
- d->removing.insert(exit);
- }
- QQuickStackElement *enter = d->elements.top();
- d->startTransition(QQuickStackTransition::replaceExit(operation, exit, this),
- QQuickStackTransition::replaceEnter(operation, enter, this),
- operation == Immediate);
- d->setCurrentItem(enter);
- }
-
- if (d->currentItem) {
- QV4::ScopedValue rv(scope, QV4::QObjectWrapper::wrap(v4, d->currentItem));
- args->setReturnValue(rv->asReturnedValue());
- } else {
- args->setReturnValue(QV4::Encode::null());
- }
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::StackView::empty
- \readonly
-
- This property holds whether the stack is empty.
-
- \sa depth
-*/
-bool QQuickStackView::isEmpty() const
-{
- Q_D(const QQuickStackView);
- return d->elements.isEmpty();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::StackView::clear(transition)
-
- Removes all items from the stack.
-
- \include qquickstackview.qdocinc pop-ownership
-
- Since QtQuick.Controls 2.3, a \a transition can be optionally specified. Supported transitions:
-
- \value StackView.Immediate Clear the stack immediately without any transition (default).
- \value StackView.PushTransition Clear the stack with a push transition.
- \value StackView.ReplaceTransition Clear the stack with a replace transition.
- \value StackView.PopTransition Clear the stack with a pop transition.
-*/
-void QQuickStackView::clear(Operation operation)
-{
- Q_D(QQuickStackView);
- if (d->elements.isEmpty())
- return;
-
- if (operation != Immediate) {
- QQuickStackElement *exit = d->elements.pop();
- exit->removal = true;
- d->removing.insert(exit);
- d->startTransition(QQuickStackTransition::popExit(operation, exit, this),
- QQuickStackTransition::popEnter(operation, nullptr, this), false);
- }
-
- int oldDepth = d->elements.count();
- d->setCurrentItem(nullptr);
- qDeleteAll(d->elements);
- d->elements.clear();
- d->depthChange(0, oldDepth);
-}
-
-/*!
- \qmlproperty var QtQuick.Controls::StackView::initialItem
-
- This property holds the initial item that should be shown when the StackView
- is created. The initial item can be an \l Item, \l Component, or a \l [QML] url.
- Specifying an initial item is equivalent to:
- \code
- Component.onCompleted: stackView.push(myInitialItem)
- \endcode
-
- \sa push()
-*/
-QJSValue QQuickStackView::initialItem() const
-{
- Q_D(const QQuickStackView);
- return d->initialItem;
-}
-
-void QQuickStackView::setInitialItem(const QJSValue &item)
-{
- Q_D(QQuickStackView);
- d->initialItem = item;
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::StackView::popEnter
-
- This property holds the transition that is applied to the item that
- enters the stack when another item is popped off of it.
-
- \sa {Customizing StackView}
-*/
-QQuickTransition *QQuickStackView::popEnter() const
-{
- Q_D(const QQuickStackView);
- if (d->transitioner)
- return d->transitioner->removeDisplacedTransition;
- return nullptr;
-}
-
-void QQuickStackView::setPopEnter(QQuickTransition *enter)
-{
- Q_D(QQuickStackView);
- d->ensureTransitioner();
- if (d->transitioner->removeDisplacedTransition == enter)
- return;
-
- d->transitioner->removeDisplacedTransition = enter;
- emit popEnterChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::StackView::popExit
-
- This property holds the transition that is applied to the item that
- exits the stack when the item is popped off of it.
-
- \sa {Customizing StackView}
-*/
-QQuickTransition *QQuickStackView::popExit() const
-{
- Q_D(const QQuickStackView);
- if (d->transitioner)
- return d->transitioner->removeTransition;
- return nullptr;
-}
-
-void QQuickStackView::setPopExit(QQuickTransition *exit)
-{
- Q_D(QQuickStackView);
- d->ensureTransitioner();
- if (d->transitioner->removeTransition == exit)
- return;
-
- d->transitioner->removeTransition = exit;
- emit popExitChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::StackView::pushEnter
-
- This property holds the transition that is applied to the item that
- enters the stack when the item is pushed onto it.
-
- \sa {Customizing StackView}
-*/
-QQuickTransition *QQuickStackView::pushEnter() const
-{
- Q_D(const QQuickStackView);
- if (d->transitioner)
- return d->transitioner->addTransition;
- return nullptr;
-}
-
-void QQuickStackView::setPushEnter(QQuickTransition *enter)
-{
- Q_D(QQuickStackView);
- d->ensureTransitioner();
- if (d->transitioner->addTransition == enter)
- return;
-
- d->transitioner->addTransition = enter;
- emit pushEnterChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::StackView::pushExit
-
- This property holds the transition that is applied to the item that
- exits the stack when another item is pushed onto it.
-
- \sa {Customizing StackView}
-*/
-QQuickTransition *QQuickStackView::pushExit() const
-{
- Q_D(const QQuickStackView);
- if (d->transitioner)
- return d->transitioner->addDisplacedTransition;
- return nullptr;
-}
-
-void QQuickStackView::setPushExit(QQuickTransition *exit)
-{
- Q_D(QQuickStackView);
- d->ensureTransitioner();
- if (d->transitioner->addDisplacedTransition == exit)
- return;
-
- d->transitioner->addDisplacedTransition = exit;
- emit pushExitChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::StackView::replaceEnter
-
- This property holds the transition that is applied to the item that
- enters the stack when another item is replaced by it.
-
- \sa {Customizing StackView}
-*/
-QQuickTransition *QQuickStackView::replaceEnter() const
-{
- Q_D(const QQuickStackView);
- if (d->transitioner)
- return d->transitioner->moveTransition;
- return nullptr;
-}
-
-void QQuickStackView::setReplaceEnter(QQuickTransition *enter)
-{
- Q_D(QQuickStackView);
- d->ensureTransitioner();
- if (d->transitioner->moveTransition == enter)
- return;
-
- d->transitioner->moveTransition = enter;
- emit replaceEnterChanged();
-}
-
-/*!
- \qmlproperty Transition QtQuick.Controls::StackView::replaceExit
-
- This property holds the transition that is applied to the item that
- exits the stack when it is replaced by another item.
-
- \sa {Customizing StackView}
-*/
-QQuickTransition *QQuickStackView::replaceExit() const
-{
- Q_D(const QQuickStackView);
- if (d->transitioner)
- return d->transitioner->moveDisplacedTransition;
- return nullptr;
-}
-
-void QQuickStackView::setReplaceExit(QQuickTransition *exit)
-{
- Q_D(QQuickStackView);
- d->ensureTransitioner();
- if (d->transitioner->moveDisplacedTransition == exit)
- return;
-
- d->transitioner->moveDisplacedTransition = exit;
- emit replaceExitChanged();
-}
-
-void QQuickStackView::componentComplete()
-{
- QQuickControl::componentComplete();
-
- Q_D(QQuickStackView);
- QScopedValueRollback<QString> rollback(d->operation, QStringLiteral("initialItem"));
- QQuickStackElement *element = nullptr;
- QString error;
- int oldDepth = d->elements.count();
- if (QObject *o = d->initialItem.toQObject())
- element = QQuickStackElement::fromObject(o, this, &error);
- else if (d->initialItem.isString())
- element = QQuickStackElement::fromString(d->initialItem.toString(), this, &error);
- if (!error.isEmpty()) {
- d->warn(error);
- delete element;
- } else if (d->pushElement(element)) {
- d->depthChange(d->elements.count(), oldDepth);
- d->setCurrentItem(element);
- element->setStatus(QQuickStackView::Active);
- }
-}
-
-void QQuickStackView::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
-
- Q_D(QQuickStackView);
- for (QQuickStackElement *element : qAsConst(d->elements)) {
- if (element->item) {
- if (!element->widthValid)
- element->item->setWidth(newGeometry.width());
- if (!element->heightValid)
- element->item->setHeight(newGeometry.height());
- }
- }
-}
-
-bool QQuickStackView::childMouseEventFilter(QQuickItem *item, QEvent *event)
-{
- // in order to block accidental user interaction while busy/transitioning,
- // StackView filters out childrens' mouse events. therefore we block all
- // press events. however, since push() may be called from signal handlers
- // such as onPressed or onDoubleClicked, we must let the current mouse
- // grabber item receive the respective mouse release event to avoid
- // breaking its state (QTBUG-50305).
- if (event->type() == QEvent::MouseButtonPress)
- return true;
- if (event->type() == QEvent::UngrabMouse)
- return false;
- QQuickWindow *window = item->window();
- return window && !window->mouseGrabberItem();
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickStackView::touchEvent(QTouchEvent *event)
-{
- event->ignore(); // QTBUG-65084
-}
-#endif
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickStackView::accessibleRole() const
-{
- return QAccessible::LayeredPane;
-}
-#endif
-
-void QQuickStackViewAttachedPrivate::itemParentChanged(QQuickItem *item, QQuickItem *parent)
-{
- Q_Q(QQuickStackViewAttached);
- int oldIndex = element ? element->index : -1;
- QQuickStackView *oldView = element ? element->view : nullptr;
- QQuickStackView::Status oldStatus = element ? element->status : QQuickStackView::Inactive;
-
- QQuickStackView *newView = qobject_cast<QQuickStackView *>(parent);
- element = newView ? QQuickStackViewPrivate::get(newView)->findElement(item) : nullptr;
-
- int newIndex = element ? element->index : -1;
- QQuickStackView::Status newStatus = element ? element->status : QQuickStackView::Inactive;
-
- if (oldIndex != newIndex)
- emit q->indexChanged();
- if (oldView != newView)
- emit q->viewChanged();
- if (oldStatus != newStatus)
- emit q->statusChanged();
-}
-
-QQuickStackViewAttached::QQuickStackViewAttached(QObject *parent)
- : QObject(*(new QQuickStackViewAttachedPrivate), parent)
-{
- Q_D(QQuickStackViewAttached);
- QQuickItem *item = qobject_cast<QQuickItem *>(parent);
- if (item) {
- connect(item, &QQuickItem::visibleChanged, this, &QQuickStackViewAttached::visibleChanged);
- QQuickItemPrivate::get(item)->addItemChangeListener(d, QQuickItemPrivate::Parent);
- d->itemParentChanged(item, item->parentItem());
- } else if (parent) {
- qmlWarning(parent) << "StackView must be attached to an Item";
- }
-}
-
-QQuickStackViewAttached::~QQuickStackViewAttached()
-{
- Q_D(QQuickStackViewAttached);
- QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent());
- if (parentItem)
- QQuickItemPrivate::get(parentItem)->removeItemChangeListener(d, QQuickItemPrivate::Parent);
-}
-
-/*!
- \qmlattachedproperty int QtQuick.Controls::StackView::index
- \readonly
-
- This attached property holds the stack index of the item it's
- attached to, or \c -1 if the item is not in a stack.
-*/
-int QQuickStackViewAttached::index() const
-{
- Q_D(const QQuickStackViewAttached);
- return d->element ? d->element->index : -1;
-}
-
-/*!
- \qmlattachedproperty StackView QtQuick.Controls::StackView::view
- \readonly
-
- This attached property holds the stack view of the item it's
- attached to, or \c null if the item is not in a stack.
-*/
-QQuickStackView *QQuickStackViewAttached::view() const
-{
- Q_D(const QQuickStackViewAttached);
- return d->element ? d->element->view : nullptr;
-}
-
-/*!
- \qmlattachedproperty enumeration QtQuick.Controls::StackView::status
- \readonly
-
- This attached property holds the stack status of the item it's
- attached to, or \c StackView.Inactive if the item is not in a stack.
-
- Available values:
- \value StackView.Inactive The item is inactive (or not in a stack).
- \value StackView.Deactivating The item is being deactivated (popped off).
- \value StackView.Activating The item is being activated (becoming the current item).
- \value StackView.Active The item is active, that is, the current item.
-*/
-QQuickStackView::Status QQuickStackViewAttached::status() const
-{
- Q_D(const QQuickStackViewAttached);
- return d->element ? d->element->status : QQuickStackView::Inactive;
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlattachedproperty bool QtQuick.Controls::StackView::visible
-
- This attached property holds the visibility of the item it's attached to.
- The value follows the value of \l Item::visible.
-
- By default, StackView shows incoming items when the enter transition begins,
- and hides outgoing items when the exit transition ends. Setting this property
- explicitly allows the default behavior to be overridden, making it possible
- to keep items that are below the top-most item visible.
-
- \note The default transitions of most styles slide outgoing items outside the
- view, and may also animate their opacity. In order to keep a full stack
- of items visible, consider customizing the \l transitions so that the
- items underneath can be seen.
-
- \image qtquickcontrols2-stackview-visible.png
-
- \snippet qtquickcontrols2-stackview-visible.qml 1
-*/
-bool QQuickStackViewAttached::isVisible() const
-{
- const QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent());
- return parentItem && parentItem->isVisible();
-}
-
-void QQuickStackViewAttached::setVisible(bool visible)
-{
- Q_D(QQuickStackViewAttached);
- d->explicitVisible = true;
- QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent());
- if (parentItem)
- parentItem->setVisible(visible);
-}
-
-void QQuickStackViewAttached::resetVisible()
-{
- Q_D(QQuickStackViewAttached);
- d->explicitVisible = false;
- if (!d->element || !d->element->view)
- return;
-
- QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent());
- if (parentItem)
- parentItem->setVisible(parentItem == d->element->view->currentItem());
-}
-
-/*!
- \qmlattachedsignal QtQuick.Controls::StackView::activated()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This attached signal is emitted when the item it's attached to is activated in the stack.
-
- \sa status
-*/
-
-/*!
- \qmlattachedsignal QtQuick.Controls::StackView::deactivated()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This attached signal is emitted when the item it's attached to is deactivated in the stack.
-
- \sa status
-*/
-
-/*!
- \qmlattachedsignal QtQuick.Controls::StackView::activating()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This attached signal is emitted when the item it's attached to is in the process of being
- activated in the stack.
-
- \sa status
-*/
-
-/*!
- \qmlattachedsignal QtQuick.Controls::StackView::deactivating()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This attached signal is emitted when the item it's attached to is in the process of being
- dectivated in the stack.
-
- \sa status
-*/
-
-/*!
- \qmlattachedsignal QtQuick.Controls::StackView::removed()
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This attached signal is emitted when the item it's attached to has been
- removed from the stack. It can be used to safely destroy an Item that was
- pushed onto the stack, for example:
-
- \code
- Item {
- StackView.onRemoved: destroy() // Will be destroyed sometime after this call.
- }
- \endcode
-
- \sa status
-*/
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickstackview_p.cpp b/src/quicktemplates2/qquickstackview_p.cpp
deleted file mode 100644
index 7cb943a3..00000000
--- a/src/quicktemplates2/qquickstackview_p.cpp
+++ /dev/null
@@ -1,310 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickstackview_p_p.h"
-#include "qquickstackelement_p_p.h"
-#include "qquickstacktransition_p_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQml/qqmllist.h>
-#include <QtQml/private/qv4qmlcontext_p.h>
-#include <QtQml/private/qv4qobjectwrapper_p.h>
-#include <QtQuick/private/qquickanimation_p.h>
-#include <QtQuick/private/qquicktransition_p.h>
-
-QT_BEGIN_NAMESPACE
-
-void QQuickStackViewPrivate::warn(const QString &error)
-{
- Q_Q(QQuickStackView);
- if (operation.isEmpty())
- qmlWarning(q) << error;
- else
- qmlWarning(q) << operation << ": " << error;
-}
-
-void QQuickStackViewPrivate::setCurrentItem(QQuickStackElement *element)
-{
- Q_Q(QQuickStackView);
- QQuickItem *item = element ? element->item : nullptr;
- if (currentItem == item)
- return;
-
- currentItem = item;
- if (element)
- element->setVisible(true);
- if (item)
- item->setFocus(true);
- emit q->currentItemChanged();
-}
-
-static bool initProperties(QQuickStackElement *element, const QV4::Value &props, QQmlV4Function *args)
-{
- if (props.isObject()) {
- const QV4::QObjectWrapper *wrapper = props.as<QV4::QObjectWrapper>();
- if (!wrapper) {
- QV4::ExecutionEngine *v4 = args->v4engine();
- element->properties.set(v4, props);
- element->qmlCallingContext.set(v4, v4->qmlContext());
- return true;
- }
- }
- return false;
-}
-
-QList<QQuickStackElement *> QQuickStackViewPrivate::parseElements(int from, QQmlV4Function *args, QStringList *errors)
-{
- QV4::ExecutionEngine *v4 = args->v4engine();
- QQmlContextData *context = v4->callingQmlContext();
- QV4::Scope scope(v4);
-
- QList<QQuickStackElement *> elements;
-
- int argc = args->length();
- for (int i = from; i < argc; ++i) {
- QV4::ScopedValue arg(scope, (*args)[i]);
- if (QV4::ArrayObject *array = arg->as<QV4::ArrayObject>()) {
- const uint len = uint(array->getLength());
- for (uint j = 0; j < len; ++j) {
- QString error;
- QV4::ScopedValue value(scope, array->get(j));
- QQuickStackElement *element = createElement(value, context, &error);
- if (element) {
- if (j < len - 1) {
- QV4::ScopedValue props(scope, array->get(j + 1));
- if (initProperties(element, props, args))
- ++j;
- }
- elements += element;
- } else if (!error.isEmpty()) {
- *errors += error;
- }
- }
- } else {
- QString error;
- QQuickStackElement *element = createElement(arg, context, &error);
- if (element) {
- if (i < argc - 1) {
- QV4::ScopedValue props(scope, (*args)[i + 1]);
- if (initProperties(element, props, args))
- ++i;
- }
- elements += element;
- } else if (!error.isEmpty()) {
- *errors += error;
- }
- }
- }
- return elements;
-}
-
-QQuickStackElement *QQuickStackViewPrivate::findElement(QQuickItem *item) const
-{
- if (item) {
- for (QQuickStackElement *e : qAsConst(elements)) {
- if (e->item == item)
- return e;
- }
- }
- return nullptr;
-}
-
-QQuickStackElement *QQuickStackViewPrivate::findElement(const QV4::Value &value) const
-{
- if (const QV4::QObjectWrapper *o = value.as<QV4::QObjectWrapper>())
- return findElement(qobject_cast<QQuickItem *>(o->object()));
- return nullptr;
-}
-
-static QString resolvedUrl(const QString &str, QQmlContextData *context)
-{
- QUrl url(str);
- if (url.isRelative())
- return context->resolvedUrl(url).toString();
- return str;
-}
-
-QQuickStackElement *QQuickStackViewPrivate::createElement(const QV4::Value &value, QQmlContextData *context, QString *error)
-{
- Q_Q(QQuickStackView);
- if (const QV4::String *s = value.as<QV4::String>())
- return QQuickStackElement::fromString(resolvedUrl(s->toQString(), context), q, error);
- if (const QV4::QObjectWrapper *o = value.as<QV4::QObjectWrapper>())
- return QQuickStackElement::fromObject(o->object(), q, error);
- return nullptr;
-}
-
-bool QQuickStackViewPrivate::pushElements(const QList<QQuickStackElement *> &elems)
-{
- Q_Q(QQuickStackView);
- if (!elems.isEmpty()) {
- for (QQuickStackElement *e : elems) {
- e->setIndex(elements.count());
- elements += e;
- }
- return elements.top()->load(q);
- }
- return false;
-}
-
-bool QQuickStackViewPrivate::pushElement(QQuickStackElement *element)
-{
- if (element)
- return pushElements(QList<QQuickStackElement *>() << element);
- return false;
-}
-
-bool QQuickStackViewPrivate::popElements(QQuickStackElement *element)
-{
- Q_Q(QQuickStackView);
- while (elements.count() > 1 && elements.top() != element) {
- delete elements.pop();
- if (!element)
- break;
- }
- return elements.top()->load(q);
-}
-
-bool QQuickStackViewPrivate::replaceElements(QQuickStackElement *target, const QList<QQuickStackElement *> &elems)
-{
- if (target) {
- while (!elements.isEmpty()) {
- QQuickStackElement* top = elements.pop();
- delete top;
- if (top == target)
- break;
- }
- }
- return pushElements(elems);
-}
-
-void QQuickStackViewPrivate::ensureTransitioner()
-{
- if (!transitioner) {
- transitioner = new QQuickItemViewTransitioner;
- transitioner->setChangeListener(this);
- }
-}
-
-void QQuickStackViewPrivate::startTransition(const QQuickStackTransition &first, const QQuickStackTransition &second, bool immediate)
-{
- if (first.element)
- first.element->transitionNextReposition(transitioner, first.type, first.target);
- if (second.element)
- second.element->transitionNextReposition(transitioner, second.type, second.target);
-
- if (first.element) {
- if (immediate || !first.element->item || !first.element->prepareTransition(transitioner, first.viewBounds))
- completeTransition(first.element, first.transition, first.status);
- else
- first.element->startTransition(transitioner, first.status);
- }
- if (second.element) {
- if (immediate || !second.element->item || !second.element->prepareTransition(transitioner, second.viewBounds))
- completeTransition(second.element, second.transition, second.status);
- else
- second.element->startTransition(transitioner, second.status);
- }
-
- if (transitioner) {
- setBusy(!transitioner->runningJobs.isEmpty());
- transitioner->resetTargetLists();
- }
-}
-
-void QQuickStackViewPrivate::completeTransition(QQuickStackElement *element, QQuickTransition *transition, QQuickStackView::Status status)
-{
- element->setStatus(status);
- if (transition) {
- // TODO: add a proper way to complete a transition
- QQmlListProperty<QQuickAbstractAnimation> animations = transition->animations();
- int count = animations.count(&animations);
- for (int i = 0; i < count; ++i) {
- QQuickAbstractAnimation *anim = animations.at(&animations, i);
- anim->complete();
- }
- }
- viewItemTransitionFinished(element);
-}
-
-void QQuickStackViewPrivate::viewItemTransitionFinished(QQuickItemViewTransitionableItem *transitionable)
-{
- QQuickStackElement *element = static_cast<QQuickStackElement *>(transitionable);
- if (element->status == QQuickStackView::Activating) {
- element->setStatus(QQuickStackView::Active);
- } else if (element->status == QQuickStackView::Deactivating) {
- element->setStatus(QQuickStackView::Inactive);
- element->setVisible(false);
- if (element->removal || element->isPendingRemoval())
- removed += element;
- }
-
- if (transitioner && transitioner->runningJobs.isEmpty()) {
- // ~QQuickStackElement() emits QQuickStackViewAttached::removed(), which may be used
- // to modify the stack. Set the status first and make a copy of the destroyable stack
- // elements to exclude any modifications that may happen during the loop. (QTBUG-62153)
- setBusy(false);
- QList<QQuickStackElement*> elements = removed;
- removed.clear();
- qDeleteAll(elements);
- }
-
- removing.remove(element);
-}
-
-void QQuickStackViewPrivate::setBusy(bool b)
-{
- Q_Q(QQuickStackView);
- if (busy == b)
- return;
-
- busy = b;
- q->setFiltersChildMouseEvents(busy);
- emit q->busyChanged();
-}
-
-void QQuickStackViewPrivate::depthChange(int newDepth, int oldDepth)
-{
- Q_Q(QQuickStackView);
- if (newDepth == oldDepth)
- return;
-
- emit q->depthChanged();
- if (newDepth == 0 || oldDepth == 0)
- emit q->emptyChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickstackview_p.h b/src/quicktemplates2/qquickstackview_p.h
deleted file mode 100644
index ba6fe106..00000000
--- a/src/quicktemplates2/qquickstackview_p.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTACKVIEW_P_H
-#define QQUICKSTACKVIEW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlV4Function;
-class QQuickTransition;
-class QQuickStackElement;
-class QQuickStackViewPrivate;
-class QQuickStackViewAttached;
-class QQuickStackViewAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickStackView : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(bool busy READ isBusy NOTIFY busyChanged FINAL)
- Q_PROPERTY(int depth READ depth NOTIFY depthChanged FINAL)
- Q_PROPERTY(QQuickItem *currentItem READ currentItem NOTIFY currentItemChanged FINAL)
- Q_PROPERTY(QJSValue initialItem READ initialItem WRITE setInitialItem FINAL)
- Q_PROPERTY(QQuickTransition *popEnter READ popEnter WRITE setPopEnter NOTIFY popEnterChanged FINAL)
- Q_PROPERTY(QQuickTransition *popExit READ popExit WRITE setPopExit NOTIFY popExitChanged FINAL)
- Q_PROPERTY(QQuickTransition *pushEnter READ pushEnter WRITE setPushEnter NOTIFY pushEnterChanged FINAL)
- Q_PROPERTY(QQuickTransition *pushExit READ pushExit WRITE setPushExit NOTIFY pushExitChanged FINAL)
- Q_PROPERTY(QQuickTransition *replaceEnter READ replaceEnter WRITE setReplaceEnter NOTIFY replaceEnterChanged FINAL)
- Q_PROPERTY(QQuickTransition *replaceExit READ replaceExit WRITE setReplaceExit NOTIFY replaceExitChanged FINAL)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool empty READ isEmpty NOTIFY emptyChanged FINAL REVISION 3)
-
-public:
- explicit QQuickStackView(QQuickItem *parent = nullptr);
- ~QQuickStackView();
-
- static QQuickStackViewAttached *qmlAttachedProperties(QObject *object);
-
- bool isBusy() const;
- int depth() const;
- QQuickItem *currentItem() const;
-
- enum Status {
- Inactive = 0,
- Deactivating = 1,
- Activating = 2,
- Active = 3
- };
- Q_ENUM(Status)
-
- QJSValue initialItem() const;
- void setInitialItem(const QJSValue &item);
-
- QQuickTransition *popEnter() const;
- void setPopEnter(QQuickTransition *enter);
-
- QQuickTransition *popExit() const;
- void setPopExit(QQuickTransition *exit);
-
- QQuickTransition *pushEnter() const;
- void setPushEnter(QQuickTransition *enter);
-
- QQuickTransition *pushExit() const;
- void setPushExit(QQuickTransition *exit);
-
- QQuickTransition *replaceEnter() const;
- void setReplaceEnter(QQuickTransition *enter);
-
- QQuickTransition *replaceExit() const;
- void setReplaceExit(QQuickTransition *exit);
-
- enum LoadBehavior {
- DontLoad,
- ForceLoad
- };
- Q_ENUM(LoadBehavior)
-
- Q_INVOKABLE QQuickItem *get(int index, LoadBehavior behavior = DontLoad);
- Q_INVOKABLE QQuickItem *find(const QJSValue &callback, LoadBehavior behavior = DontLoad);
-
- enum Operation {
- Transition = -1, // deprecated
- Immediate = 0,
- PushTransition = 1,
- ReplaceTransition = 2,
- PopTransition = 3,
- };
- Q_ENUM(Operation)
-
- Q_INVOKABLE void push(QQmlV4Function *args);
- Q_INVOKABLE void pop(QQmlV4Function *args);
- Q_INVOKABLE void replace(QQmlV4Function *args);
-
- // 2.3 (Qt 5.10)
- bool isEmpty() const;
-
-public Q_SLOTS:
- void clear(Operation operation = Immediate);
-
-Q_SIGNALS:
- void busyChanged();
- void depthChanged();
- void currentItemChanged();
- void popEnterChanged();
- void popExitChanged();
- void pushEnterChanged();
- void pushExitChanged();
- void replaceEnterChanged();
- void replaceExitChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void emptyChanged();
-
-protected:
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- bool childMouseEventFilter(QQuickItem *, QEvent *) override;
-
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickStackView)
- Q_DECLARE_PRIVATE(QQuickStackView)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickStackViewAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int index READ index NOTIFY indexChanged FINAL)
- Q_PROPERTY(QQuickStackView *view READ view NOTIFY viewChanged FINAL)
- Q_PROPERTY(QQuickStackView::Status status READ status NOTIFY statusChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible RESET resetVisible NOTIFY visibleChanged FINAL) // REVISION 2
-
-public:
- explicit QQuickStackViewAttached(QObject *parent = nullptr);
- ~QQuickStackViewAttached();
-
- int index() const;
- QQuickStackView *view() const;
- QQuickStackView::Status status() const;
-
- // 2.2 (Qt 5.9)
- bool isVisible() const;
- void setVisible(bool visible);
- void resetVisible();
-
-Q_SIGNALS:
- void indexChanged();
- void viewChanged();
- void statusChanged();
- // 2.1 (Qt 5.8)
- /*Q_REVISION(1)*/ void activated();
- /*Q_REVISION(1)*/ void activating();
- /*Q_REVISION(1)*/ void deactivated();
- /*Q_REVISION(1)*/ void deactivating();
- /*Q_REVISION(1)*/ void removed();
- // 2.2 (Qt 5.9)
- /*Q_REVISION(2)*/ void visibleChanged();
-
-private:
- Q_DISABLE_COPY(QQuickStackViewAttached)
- Q_DECLARE_PRIVATE(QQuickStackViewAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickStackView)
-QML_DECLARE_TYPEINFO(QQuickStackView, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKSTACKVIEW_P_H
diff --git a/src/quicktemplates2/qquickstackview_p_p.h b/src/quicktemplates2/qquickstackview_p_p.h
deleted file mode 100644
index c20ce776..00000000
--- a/src/quicktemplates2/qquickstackview_p_p.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSTACKVIEW_P_P_H
-#define QQUICKSTACKVIEW_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickstackview_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQuick/private/qquickitemviewtransition_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQml/private/qv4value_p.h>
-#include <QtCore/qset.h>
-#include <QtCore/qstack.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlContextData;
-class QQuickStackElement;
-struct QQuickStackTransition;
-
-class QQuickStackViewPrivate : public QQuickControlPrivate, public QQuickItemViewTransitionChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickStackView)
-
-public:
- static QQuickStackViewPrivate *get(QQuickStackView *view)
- {
- return view->d_func();
- }
-
- void warn(const QString &error);
-
- void setCurrentItem(QQuickStackElement *element);
-
- QList<QQuickStackElement *> parseElements(int from, QQmlV4Function *args, QStringList *errors);
- QQuickStackElement *findElement(QQuickItem *item) const;
- QQuickStackElement *findElement(const QV4::Value &value) const;
- QQuickStackElement *createElement(const QV4::Value &value, QQmlContextData *context, QString *error);
- bool pushElements(const QList<QQuickStackElement *> &elements);
- bool pushElement(QQuickStackElement *element);
- bool popElements(QQuickStackElement *element);
- bool replaceElements(QQuickStackElement *element, const QList<QQuickStackElement *> &elements);
-
- void ensureTransitioner();
- void startTransition(const QQuickStackTransition &first, const QQuickStackTransition &second, bool immediate);
- void completeTransition(QQuickStackElement *element, QQuickTransition *transition, QQuickStackView::Status status);
-
- void viewItemTransitionFinished(QQuickItemViewTransitionableItem *item) override;
- void setBusy(bool busy);
- void depthChange(int newDepth, int oldDepth);
-
- bool busy = false;
- QString operation;
- QJSValue initialItem;
- QQuickItem *currentItem = nullptr;
- QSet<QQuickStackElement*> removing;
- QList<QQuickStackElement*> removed;
- QStack<QQuickStackElement *> elements;
- QQuickItemViewTransitioner *transitioner = nullptr;
-};
-
-class QQuickStackViewAttachedPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickStackViewAttached)
-
-public:
- static QQuickStackViewAttachedPrivate *get(QQuickStackViewAttached *attached)
- {
- return attached->d_func();
- }
-
- void itemParentChanged(QQuickItem *item, QQuickItem *parent);
-
- bool explicitVisible = false;
- QQuickStackElement *element = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSTACKVIEW_P_P_H
diff --git a/src/quicktemplates2/qquickswipe_p.h b/src/quicktemplates2/qquickswipe_p.h
deleted file mode 100644
index 20e38e90..00000000
--- a/src/quicktemplates2/qquickswipe_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSWIPE_P_H
-#define QQUICKSWIPE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtQuickTemplates2/private/qquickswipedelegate_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQmlComponent;
-class QQuickItem;
-class QQuickTransition;
-class QQuickSwipePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwipe : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(bool complete READ isComplete NOTIFY completeChanged FINAL)
- Q_PROPERTY(QQmlComponent *left READ left WRITE setLeft NOTIFY leftChanged FINAL)
- Q_PROPERTY(QQmlComponent *behind READ behind WRITE setBehind NOTIFY behindChanged FINAL)
- Q_PROPERTY(QQmlComponent *right READ right WRITE setRight NOTIFY rightChanged FINAL)
- Q_PROPERTY(QQuickItem *leftItem READ leftItem NOTIFY leftItemChanged FINAL)
- Q_PROPERTY(QQuickItem *behindItem READ behindItem NOTIFY behindItemChanged FINAL)
- Q_PROPERTY(QQuickItem *rightItem READ rightItem NOTIFY rightItemChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL) // REVISION 2
- Q_PROPERTY(QQuickTransition *transition READ transition WRITE setTransition NOTIFY transitionChanged FINAL) // REVISION 2
-
-public:
- explicit QQuickSwipe(QQuickSwipeDelegate *control);
-
- qreal position() const;
- void setPosition(qreal position);
-
- bool isComplete() const;
- void setComplete(bool complete);
-
- QQmlComponent *left() const;
- void setLeft(QQmlComponent *left);
-
- QQmlComponent *behind() const;
- void setBehind(QQmlComponent *behind);
-
- QQmlComponent *right() const;
- void setRight(QQmlComponent *right);
-
- QQuickItem *leftItem() const;
- void setLeftItem(QQuickItem *item);
-
- QQuickItem *behindItem() const;
- void setBehindItem(QQuickItem *item);
-
- QQuickItem *rightItem() const;
- void setRightItem(QQuickItem *item);
-
- // 2.1 (Qt 5.8)
- Q_REVISION(1) Q_INVOKABLE void close();
-
- // 2.2 (Qt 5.9)
- bool isEnabled() const;
- void setEnabled(bool enabled);
-
- QQuickTransition *transition() const;
- void setTransition(QQuickTransition *transition);
-
- Q_REVISION(2) Q_INVOKABLE void open(QQuickSwipeDelegate::Side side);
-
-Q_SIGNALS:
- void positionChanged();
- void completeChanged();
- void leftChanged();
- void behindChanged();
- void rightChanged();
- void leftItemChanged();
- void behindItemChanged();
- void rightItemChanged();
- // 2.1 (Qt 5.8)
- /*Q_REVISION(1)*/ void completed();
- // 2.2 (Qt 5.9)
- /*Q_REVISION(2)*/ void opened();
- /*Q_REVISION(2)*/ void closed();
- /*Q_REVISION(2)*/ void enabledChanged();
- /*Q_REVISION(2)*/ void transitionChanged();
-
-private:
- Q_DISABLE_COPY(QQuickSwipe)
- Q_DECLARE_PRIVATE(QQuickSwipe)
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSWIPE_P_H
diff --git a/src/quicktemplates2/qquickswipedelegate.cpp b/src/quicktemplates2/qquickswipedelegate.cpp
deleted file mode 100644
index 97c17a6b..00000000
--- a/src/quicktemplates2/qquickswipedelegate.cpp
+++ /dev/null
@@ -1,1385 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickswipedelegate_p.h"
-#include "qquickswipedelegate_p_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickitemdelegate_p_p.h"
-#include "qquickvelocitycalculator_p_p.h"
-
-#include <QtGui/qstylehints.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickanimation_p.h>
-#include <QtQuick/private/qquicktransition_p.h>
-#include <QtQuick/private/qquicktransitionmanager_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype SwipeDelegate
- \inherits ItemDelegate
- \instantiates QQuickSwipeDelegate
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-delegates
- \brief Swipable item delegate.
-
- SwipeDelegate presents a view item that can be swiped left or right to
- expose more options or information. It is used as a delegate in views such
- as \l ListView.
-
- In the following example, SwipeDelegate is used in a \l ListView to allow
- items to be removed from it by swiping to the left:
-
- \snippet qtquickcontrols2-swipedelegate.qml 1
-
- SwipeDelegate inherits its API from \l ItemDelegate, which is inherited
- from AbstractButton. For instance, you can set \l {AbstractButton::text}{text},
- and react to \l {AbstractButton::clicked}{clicks} using the AbstractButton
- API.
-
- Information regarding the progress of a swipe, as well as the components
- that should be shown upon swiping, are both available through the
- \l {SwipeDelegate::}{swipe} grouped property object. For example,
- \c swipe.position holds the position of the
- swipe within the range \c -1.0 to \c 1.0. The \c swipe.left
- property determines which item will be displayed when the control is swiped
- to the right, and vice versa for \c swipe.right. The positioning of these
- components is left to applications to decide. For example, without specifying
- any position for \c swipe.left or \c swipe.right, the following will
- occur:
-
- \image qtquickcontrols2-swipedelegate.gif
-
- If \c swipe.left and \c swipe.right are anchored to the left and
- right of the \l {Control::}{background} item (respectively), they'll behave like this:
-
- \image qtquickcontrols2-swipedelegate-leading-trailing.gif
-
- When using \c swipe.left and \c swipe.right, the control cannot be
- swiped past the left and right edges. To achieve this type of "wrapping"
- behavior, set \c swipe.behind instead. This will result in the same
- item being shown regardless of which direction the control is swiped. For
- example, in the image below, we set \c swipe.behind and then swipe the
- control repeatedly in both directions:
-
- \image qtquickcontrols2-swipedelegate-behind.gif
-
- \sa {Customizing SwipeDelegate}, {Delegate Controls}, {Qt Quick Controls 2 - Swipe to Remove}{Swipe to Remove Example}
-*/
-
-namespace {
- typedef QQuickSwipeDelegateAttached Attached;
-
- Attached *attachedObject(QQuickItem *item) {
- return qobject_cast<Attached*>(qmlAttachedPropertiesObject<QQuickSwipeDelegate>(item, false));
- }
-
- enum PositionAnimation {
- DontAnimatePosition,
- AnimatePosition
- };
-}
-
-class QQuickSwipeTransitionManager : public QQuickTransitionManager
-{
-public:
- QQuickSwipeTransitionManager(QQuickSwipe *swipe);
-
- void transition(QQuickTransition *transition, qreal position);
-
-protected:
- void finished() override;
-
-private:
- QQuickSwipe *m_swipe = nullptr;
-};
-
-class QQuickSwipePrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwipe)
-
-public:
- QQuickSwipePrivate(QQuickSwipeDelegate *control) : control(control) { }
-
- static QQuickSwipePrivate *get(QQuickSwipe *swipe);
-
- QQuickItem *createDelegateItem(QQmlComponent *component);
- QQuickItem *showRelevantItemForPosition(qreal position);
- QQuickItem *createRelevantItemForDistance(qreal distance);
- void reposition(PositionAnimation animationPolicy);
- void createLeftItem();
- void createBehindItem();
- void createRightItem();
- void createAndShowLeftItem();
- void createAndShowBehindItem();
- void createAndShowRightItem();
-
- void warnAboutMixingDelegates();
- void warnAboutSettingDelegatesWhileVisible();
-
- bool hasDelegates() const;
-
- bool isTransitioning() const;
- void beginTransition(qreal position);
- void finishTransition();
-
- QQuickSwipeDelegate *control = nullptr;
- // Same range as position, but is set before press events so that we can
- // keep track of which direction the user must swipe when using left and right delegates.
- qreal positionBeforePress = 0;
- qreal position = 0;
- // A "less strict" version of complete that is true if complete was true
- // before the last press event.
- bool wasComplete = false;
- bool complete = false;
- bool enabled = true;
- QQuickVelocityCalculator velocityCalculator;
- QQmlComponent *left = nullptr;
- QQmlComponent *behind = nullptr;
- QQmlComponent *right = nullptr;
- QQuickItem *leftItem = nullptr;
- QQuickItem *behindItem = nullptr;
- QQuickItem *rightItem = nullptr;
- QQuickTransition *transition = nullptr;
- QScopedPointer<QQuickSwipeTransitionManager> transitionManager;
-};
-
-QQuickSwipeTransitionManager::QQuickSwipeTransitionManager(QQuickSwipe *swipe)
- : m_swipe(swipe)
-{
-}
-
-void QQuickSwipeTransitionManager::transition(QQuickTransition *transition, qreal position)
-{
- qmlExecuteDeferred(transition);
-
- QQmlProperty defaultTarget(m_swipe, QLatin1String("position"));
- QQmlListProperty<QQuickAbstractAnimation> animations = transition->animations();
- const int count = animations.count(&animations);
- for (int i = 0; i < count; ++i) {
- QQuickAbstractAnimation *anim = animations.at(&animations, i);
- anim->setDefaultTarget(defaultTarget);
- }
-
- QList<QQuickStateAction> actions;
- actions << QQuickStateAction(m_swipe, QLatin1String("position"), position);
- QQuickTransitionManager::transition(actions, transition, m_swipe);
-}
-
-void QQuickSwipeTransitionManager::finished()
-{
- QQuickSwipePrivate::get(m_swipe)->finishTransition();
-}
-
-QQuickSwipePrivate *QQuickSwipePrivate::get(QQuickSwipe *swipe)
-{
- return swipe->d_func();
-}
-
-QQuickItem *QQuickSwipePrivate::createDelegateItem(QQmlComponent *component)
-{
- // If we don't use the correct context, it won't be possible to refer to
- // the control's id from within the delegates.
- QQmlContext *creationContext = component->creationContext();
- // The component might not have been created in QML, in which case
- // the creation context will be null and we have to create it ourselves.
- if (!creationContext)
- creationContext = qmlContext(control);
- QQmlContext *context = new QQmlContext(creationContext, control);
- context->setContextObject(control);
- QQuickItem *item = qobject_cast<QQuickItem*>(component->beginCreate(context));
- if (item) {
- item->setParentItem(control);
- component->completeCreate();
- }
- return item;
-}
-
-QQuickItem *QQuickSwipePrivate::showRelevantItemForPosition(qreal position)
-{
- if (qFuzzyIsNull(position))
- return nullptr;
-
- if (behind) {
- createAndShowBehindItem();
- return behindItem;
- }
-
- if (right && position < 0.0) {
- createAndShowRightItem();
- return rightItem;
- }
-
- if (left && position > 0.0) {
- createAndShowLeftItem();
- return leftItem;
- }
-
- return nullptr;
-}
-
-QQuickItem *QQuickSwipePrivate::createRelevantItemForDistance(qreal distance)
-{
- if (qFuzzyIsNull(distance))
- return nullptr;
-
- if (behind) {
- createBehindItem();
- return behindItem;
- }
-
- // a) If the position before the press was 0.0, we know that *any* movement
- // whose distance is negative will result in the right item being shown and
- // vice versa.
- // b) Once the control has been exposed (that is, swiped to the left or right,
- // and hence the position is either -1.0 or 1.0), we must use the width of the
- // relevant item to determine if the distance is larger than that item,
- // in order to know whether or not to display it.
- // c) If the control has been exposed, and the swipe is larger than the width
- // of the relevant item from which the swipe started from, we must show the
- // item on the other side (if any).
-
- if (right) {
- if ((distance < 0.0 && positionBeforePress == 0.0) /* a) */
- || (rightItem && positionBeforePress == -1.0 && distance < rightItem->width()) /* b) */
- || (leftItem && positionBeforePress == 1.0 && qAbs(distance) > leftItem->width())) /* c) */ {
- createRightItem();
- return rightItem;
- }
- }
-
- if (left) {
- if ((distance > 0.0 && positionBeforePress == 0.0) /* a) */
- || (leftItem && positionBeforePress == 1.0 && qAbs(distance) < leftItem->width()) /* b) */
- || (rightItem && positionBeforePress == -1.0 && qAbs(distance) > rightItem->width())) /* c) */ {
- createLeftItem();
- return leftItem;
- }
- }
-
- return nullptr;
-}
-
-void QQuickSwipePrivate::reposition(PositionAnimation animationPolicy)
-{
- QQuickItem *relevantItem = showRelevantItemForPosition(position);
- const qreal relevantWidth = relevantItem ? relevantItem->width() : 0.0;
- const qreal contentItemX = position * relevantWidth + control->leftPadding();
-
- // "Behavior on x" relies on the property system to know when it should update,
- // so we can prevent it from animating by setting the x position directly.
- if (animationPolicy == AnimatePosition) {
- if (QQuickItem *contentItem = control->contentItem())
- contentItem->setProperty("x", contentItemX);
- if (QQuickItem *background = control->background())
- background->setProperty("x", position * relevantWidth);
- } else {
- if (QQuickItem *contentItem = control->contentItem())
- contentItem->setX(contentItemX);
- if (QQuickItem *background = control->background())
- background->setX(position * relevantWidth);
- }
-}
-
-void QQuickSwipePrivate::createLeftItem()
-{
- if (!leftItem) {
- Q_Q(QQuickSwipe);
- q->setLeftItem(createDelegateItem(left));
- if (!leftItem)
- qmlWarning(control) << "Failed to create left item:" << left->errors();
- }
-}
-
-void QQuickSwipePrivate::createBehindItem()
-{
- if (!behindItem) {
- Q_Q(QQuickSwipe);
- q->setBehindItem(createDelegateItem(behind));
- if (!behindItem)
- qmlWarning(control) << "Failed to create behind item:" << behind->errors();
- }
-}
-
-void QQuickSwipePrivate::createRightItem()
-{
- if (!rightItem) {
- Q_Q(QQuickSwipe);
- q->setRightItem(createDelegateItem(right));
- if (!rightItem)
- qmlWarning(control) << "Failed to create right item:" << right->errors();
- }
-}
-
-void QQuickSwipePrivate::createAndShowLeftItem()
-{
- createLeftItem();
-
- if (leftItem)
- leftItem->setVisible(true);
-
- if (rightItem)
- rightItem->setVisible(false);
-}
-
-void QQuickSwipePrivate::createAndShowBehindItem()
-{
- createBehindItem();
-
- if (behindItem)
- behindItem->setVisible(true);
-}
-
-void QQuickSwipePrivate::createAndShowRightItem()
-{
- createRightItem();
-
- // This item may have already existed but was hidden.
- if (rightItem)
- rightItem->setVisible(true);
-
- // The left item isn't visible when the right item is visible, so save rendering effort by hiding it.
- if (leftItem)
- leftItem->setVisible(false);
-}
-
-void QQuickSwipePrivate::warnAboutMixingDelegates()
-{
- qmlWarning(control) << "cannot set both behind and left/right properties";
-}
-
-void QQuickSwipePrivate::warnAboutSettingDelegatesWhileVisible()
-{
- qmlWarning(control) << "left/right/behind properties may only be set when swipe.position is 0";
-}
-
-bool QQuickSwipePrivate::hasDelegates() const
-{
- return left || right || behind;
-}
-
-bool QQuickSwipePrivate::isTransitioning() const
-{
- return transitionManager && transitionManager->isRunning();
-}
-
-void QQuickSwipePrivate::beginTransition(qreal newPosition)
-{
- Q_Q(QQuickSwipe);
- if (!transition) {
- q->setPosition(newPosition);
- finishTransition();
- return;
- }
-
- if (!transitionManager)
- transitionManager.reset(new QQuickSwipeTransitionManager(q));
-
- transitionManager->transition(transition, newPosition);
-}
-
-void QQuickSwipePrivate::finishTransition()
-{
- Q_Q(QQuickSwipe);
- q->setComplete(qFuzzyCompare(qAbs(position), qreal(1.0)));
- if (complete)
- emit q->opened();
- else
- emit q->closed();
-}
-
-QQuickSwipe::QQuickSwipe(QQuickSwipeDelegate *control)
- : QObject(*(new QQuickSwipePrivate(control)))
-{
-}
-
-QQmlComponent *QQuickSwipe::left() const
-{
- Q_D(const QQuickSwipe);
- return d->left;
-}
-
-void QQuickSwipe::setLeft(QQmlComponent *left)
-{
- Q_D(QQuickSwipe);
- if (left == d->left)
- return;
-
- if (d->behind) {
- d->warnAboutMixingDelegates();
- return;
- }
-
- if (!qFuzzyIsNull(d->position)) {
- d->warnAboutSettingDelegatesWhileVisible();
- return;
- }
-
- d->left = left;
-
- if (!d->left) {
- delete d->leftItem;
- d->leftItem = nullptr;
- }
-
- d->control->setFiltersChildMouseEvents(d->hasDelegates());
-
- emit leftChanged();
-}
-
-QQmlComponent *QQuickSwipe::behind() const
-{
- Q_D(const QQuickSwipe);
- return d->behind;
-}
-
-void QQuickSwipe::setBehind(QQmlComponent *behind)
-{
- Q_D(QQuickSwipe);
- if (behind == d->behind)
- return;
-
- if (d->left || d->right) {
- d->warnAboutMixingDelegates();
- return;
- }
-
- if (!qFuzzyIsNull(d->position)) {
- d->warnAboutSettingDelegatesWhileVisible();
- return;
- }
-
- d->behind = behind;
-
- if (!d->behind) {
- delete d->behindItem;
- d->behindItem = nullptr;
- }
-
- d->control->setFiltersChildMouseEvents(d->hasDelegates());
-
- emit behindChanged();
-}
-
-QQmlComponent *QQuickSwipe::right() const
-{
- Q_D(const QQuickSwipe);
- return d->right;
-}
-
-void QQuickSwipe::setRight(QQmlComponent *right)
-{
- Q_D(QQuickSwipe);
- if (right == d->right)
- return;
-
- if (d->behind) {
- d->warnAboutMixingDelegates();
- return;
- }
-
- if (!qFuzzyIsNull(d->position)) {
- d->warnAboutSettingDelegatesWhileVisible();
- return;
- }
-
- d->right = right;
-
- if (!d->right) {
- delete d->rightItem;
- d->rightItem = nullptr;
- }
-
- d->control->setFiltersChildMouseEvents(d->hasDelegates());
-
- emit rightChanged();
-}
-
-QQuickItem *QQuickSwipe::leftItem() const
-{
- Q_D(const QQuickSwipe);
- return d->leftItem;
-}
-
-void QQuickSwipe::setLeftItem(QQuickItem *item)
-{
- Q_D(QQuickSwipe);
- if (item == d->leftItem)
- return;
-
- delete d->leftItem;
- d->leftItem = item;
-
- if (d->leftItem) {
- d->leftItem->setParentItem(d->control);
-
- if (qFuzzyIsNull(d->leftItem->z()))
- d->leftItem->setZ(-2);
- }
-
- emit leftItemChanged();
-}
-
-QQuickItem *QQuickSwipe::behindItem() const
-{
- Q_D(const QQuickSwipe);
- return d->behindItem;
-}
-
-void QQuickSwipe::setBehindItem(QQuickItem *item)
-{
- Q_D(QQuickSwipe);
- if (item == d->behindItem)
- return;
-
- delete d->behindItem;
- d->behindItem = item;
-
- if (d->behindItem) {
- d->behindItem->setParentItem(d->control);
-
- if (qFuzzyIsNull(d->behindItem->z()))
- d->behindItem->setZ(-2);
- }
-
- emit behindItemChanged();
-}
-
-QQuickItem *QQuickSwipe::rightItem() const
-{
- Q_D(const QQuickSwipe);
- return d->rightItem;
-}
-
-void QQuickSwipe::setRightItem(QQuickItem *item)
-{
- Q_D(QQuickSwipe);
- if (item == d->rightItem)
- return;
-
- delete d->rightItem;
- d->rightItem = item;
-
- if (d->rightItem) {
- d->rightItem->setParentItem(d->control);
-
- if (qFuzzyIsNull(d->rightItem->z()))
- d->rightItem->setZ(-2);
- }
-
- emit rightItemChanged();
-}
-
-qreal QQuickSwipe::position() const
-{
- Q_D(const QQuickSwipe);
- return d->position;
-}
-
-void QQuickSwipe::setPosition(qreal position)
-{
- Q_D(QQuickSwipe);
- const qreal adjustedPosition = qBound<qreal>(-1.0, position, 1.0);
- if (adjustedPosition == d->position)
- return;
-
- d->position = adjustedPosition;
- d->reposition(AnimatePosition);
- emit positionChanged();
-}
-
-bool QQuickSwipe::isComplete() const
-{
- Q_D(const QQuickSwipe);
- return d->complete;
-}
-
-void QQuickSwipe::setComplete(bool complete)
-{
- Q_D(QQuickSwipe);
- if (complete == d->complete)
- return;
-
- d->complete = complete;
- emit completeChanged();
- if (d->complete)
- emit completed();
-}
-
-bool QQuickSwipe::isEnabled() const
-{
- Q_D(const QQuickSwipe);
- return d->enabled;
-}
-
-void QQuickSwipe::setEnabled(bool enabled)
-{
- Q_D(QQuickSwipe);
- if (enabled == d->enabled)
- return;
-
- d->enabled = enabled;
- emit enabledChanged();
-}
-
-QQuickTransition *QQuickSwipe::transition() const
-{
- Q_D(const QQuickSwipe);
- return d->transition;
-}
-
-void QQuickSwipe::setTransition(QQuickTransition *transition)
-{
- Q_D(QQuickSwipe);
- if (transition == d->transition)
- return;
-
- d->transition = transition;
- emit transitionChanged();
-}
-
-void QQuickSwipe::open(QQuickSwipeDelegate::Side side)
-{
- Q_D(QQuickSwipe);
- if (qFuzzyCompare(qAbs(d->position), qreal(1.0)))
- return;
-
- if ((side != QQuickSwipeDelegate::Left && side != QQuickSwipeDelegate::Right)
- || (!d->left && !d->behind && side == QQuickSwipeDelegate::Left)
- || (!d->right && !d->behind && side == QQuickSwipeDelegate::Right))
- return;
-
- d->beginTransition(side);
- d->wasComplete = true;
- d->velocityCalculator.reset();
- d->positionBeforePress = d->position;
-}
-
-void QQuickSwipe::close()
-{
- Q_D(QQuickSwipe);
- if (qFuzzyIsNull(d->position))
- return;
-
- d->beginTransition(0.0);
- d->wasComplete = false;
- d->positionBeforePress = 0.0;
- d->velocityCalculator.reset();
-}
-
-QQuickSwipeDelegatePrivate::QQuickSwipeDelegatePrivate(QQuickSwipeDelegate *control)
- : swipe(control)
-{
-}
-
-bool QQuickSwipeDelegatePrivate::handleMousePressEvent(QQuickItem *item, QMouseEvent *event)
-{
- Q_Q(QQuickSwipeDelegate);
- QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&swipe);
- // If the position is 0, we want to handle events ourselves - we don't want child items to steal them.
- // This code will only get called when a child item has been created;
- // events will go through the regular channels (mousePressEvent()) until then.
- if (qFuzzyIsNull(swipePrivate->position)) {
- q->mousePressEvent(event);
- // The press point could be incorrect if the press happened over a child item,
- // so we correct it after calling the base class' mousePressEvent(), rather
- // than having to duplicate its code just so we can set the pressPoint.
- setPressPoint(item->mapToItem(q, event->pos()));
- return true;
- }
-
- // The position is non-zero, this press could be either for a delegate or the control itself
- // (the control can be clicked to e.g. close the swipe). Either way, we must begin measuring
- // mouse movement in case it turns into a swipe, in which case we grab the mouse.
- swipePrivate->positionBeforePress = swipePrivate->position;
- swipePrivate->velocityCalculator.startMeasuring(event->pos(), event->timestamp());
- setPressPoint(item->mapToItem(q, event->pos()));
-
- // When a delegate uses the attached properties and signals, it declares that it wants mouse events.
- Attached *attached = attachedObject(item);
- if (attached) {
- attached->setPressed(true);
- // Stop the event from propagating, as QQuickItem explicitly ignores events.
- event->accept();
- return true;
- }
-
- return false;
-}
-
-bool QQuickSwipeDelegatePrivate::handleMouseMoveEvent(QQuickItem *item, QMouseEvent *event)
-{
- Q_Q(QQuickSwipeDelegate);
-
- if (holdTimer > 0) {
- if (QLineF(pressPoint, event->localPos()).length() > QGuiApplication::styleHints()->startDragDistance())
- stopPressAndHold();
- }
-
- // The delegate can still be pressed when swipe.enabled is false,
- // but the mouse moving shouldn't have any effect on swipe.position.
- QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&swipe);
- if (!swipePrivate->enabled)
- return false;
-
- // Protect against division by zero.
- if (width == 0)
- return false;
-
- // Don't bother reacting to events if we don't have any delegates.
- if (!swipePrivate->left && !swipePrivate->right && !swipePrivate->behind)
- return false;
-
- // Don't handle move events for the control if it wasn't pressed.
- if (item == q && !pressed)
- return false;
-
- const QPointF mappedEventPos = item->mapToItem(q, event->pos());
- const qreal distance = (mappedEventPos - pressPoint).x();
- if (!q->keepMouseGrab()) {
- // Taken from QQuickDrawerPrivate::grabMouse; see comments there.
- int threshold = qMax(20, QGuiApplication::styleHints()->startDragDistance() + 5);
- const bool overThreshold = QQuickWindowPrivate::dragOverThreshold(distance, Qt::XAxis, event, threshold);
- if (window && overThreshold) {
- QQuickItem *grabber = q->window()->mouseGrabberItem();
- if (!grabber || !grabber->keepMouseGrab()) {
- q->grabMouse();
- q->setKeepMouseGrab(true);
- q->setPressed(true);
- swipe.setComplete(false);
-
- if (Attached *attached = attachedObject(item))
- attached->setPressed(false);
- }
- }
- }
-
- if (q->keepMouseGrab()) {
- // Ensure we don't try to calculate a position when the user tried to drag
- // to the left when the left item is already exposed, and vice versa.
- // The code below assumes that the drag is valid, so if we don't have this check,
- // the wrong items are visible and the swiping wraps.
- if (swipePrivate->behind
- || ((swipePrivate->left || swipePrivate->right)
- && (qFuzzyIsNull(swipePrivate->positionBeforePress)
- || (swipePrivate->positionBeforePress == -1.0 && distance >= 0.0)
- || (swipePrivate->positionBeforePress == 1.0 && distance <= 0.0)))) {
-
- // We must instantiate the items here so that we can calculate the
- // position against the width of the relevant item.
- QQuickItem *relevantItem = swipePrivate->createRelevantItemForDistance(distance);
- // If there isn't any relevant item, the user may have swiped back to the 0 position,
- // or they swiped back to a position that is equal to positionBeforePress.
- const qreal normalizedDistance = relevantItem ? distance / relevantItem->width() : 0.0;
- qreal position = 0;
-
- // If the control was exposed before the drag begun, the distance should be inverted.
- // For example, if the control had been swiped to the right, the position would be 1.0.
- // If the control was then swiped to the left by a distance of -20 pixels, the normalized
- // distance might be -0.2, for example, which cannot be used as the position; the swipe
- // started from the right, so we account for that by adding the position.
- if (qFuzzyIsNull(normalizedDistance)) {
- // There are two cases when the normalizedDistance can be 0,
- // and we must distinguish between them:
- //
- // a) The swipe returns to the position that it was at before the press event.
- // In this case, the distance will be 0.
- // There would have been many position changes in the meantime, so we can't just
- // ignore the move event; we have to set position to what it was before the press.
- //
- // b) If the position was at, 1.0, for example, and the control was then swiped
- // to the left by the exact width of the left item, there won't be any relevant item
- // (because the swipe's position would be at 0.0). In turn, the normalizedDistance
- // would be 0 (because of the lack of a relevant item), but the distance will be non-zero.
- position = qFuzzyIsNull(distance) ? swipePrivate->positionBeforePress : 0;
- } else if (!swipePrivate->wasComplete) {
- position = normalizedDistance;
- } else {
- position = distance > 0 ? normalizedDistance - 1.0 : normalizedDistance + 1.0;
- }
-
- if (swipePrivate->isTransitioning())
- swipePrivate->transitionManager->cancel();
- swipe.setPosition(position);
- }
- } else {
- // The swipe wasn't initiated.
- if (event->pos().y() < 0 || event->pos().y() > height) {
- // The mouse went outside the vertical bounds of the control, so
- // we should no longer consider it pressed.
- q->setPressed(false);
- }
- }
-
- event->accept();
-
- return q->keepMouseGrab();
-}
-
-static const qreal exposeVelocityThreshold = 300.0;
-
-bool QQuickSwipeDelegatePrivate::handleMouseReleaseEvent(QQuickItem *item, QMouseEvent *event)
-{
- Q_Q(QQuickSwipeDelegate);
- QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&swipe);
- swipePrivate->velocityCalculator.stopMeasuring(event->pos(), event->timestamp());
-
- const bool hadGrabbedMouse = q->keepMouseGrab();
- q->setKeepMouseGrab(false);
-
- // Animations for the background and contentItem delegates are typically
- // only enabled when !control.down, so that the animations aren't running
- // when the user is swiping. To ensure that the animations are enabled
- // *before* the positions of these delegates change (via the swipe.setPosition() calls below),
- // we must cancel the press. QQuickAbstractButton::mouseUngrabEvent() does this
- // for us, but by then it's too late.
- if (hadGrabbedMouse) {
- // TODO: this is copied from QQuickAbstractButton::mouseUngrabEvent().
- // Eventually it should be moved into a private helper so that we don't have to duplicate it.
- q->setPressed(false);
- stopPressRepeat();
- stopPressAndHold();
- emit q->canceled();
- }
-
- // The control can be exposed by either swiping past the halfway mark, or swiping fast enough.
- const qreal swipeVelocity = swipePrivate->velocityCalculator.velocity().x();
- if (swipePrivate->position > 0.5 ||
- (swipePrivate->position > 0.0 && swipeVelocity > exposeVelocityThreshold)) {
- swipePrivate->beginTransition(1.0);
- swipePrivate->wasComplete = true;
- } else if (swipePrivate->position < -0.5 ||
- (swipePrivate->position < 0.0 && swipeVelocity < -exposeVelocityThreshold)) {
- swipePrivate->beginTransition(-1.0);
- swipePrivate->wasComplete = true;
- } else if (!swipePrivate->isTransitioning()) {
- swipePrivate->beginTransition(0.0);
- swipePrivate->wasComplete = false;
- }
-
- if (Attached *attached = attachedObject(item)) {
- const bool wasPressed = attached->isPressed();
- if (wasPressed) {
- attached->setPressed(false);
- emit attached->clicked();
- }
- }
-
- // Only consume child events if we had grabbed the mouse.
- return hadGrabbedMouse;
-}
-
-static void warnIfHorizontallyAnchored(QQuickItem *item, const QString &itemName)
-{
- if (!item)
- return;
-
- QQuickAnchors *anchors = QQuickItemPrivate::get(item)->_anchors;
- if (anchors && (anchors->fill() || anchors->centerIn() || anchors->left().item || anchors->right().item)
- && !item->property("_q_QQuickSwipeDelegate_warned").toBool()) {
- qmlWarning(item) << QString::fromLatin1("SwipeDelegate: cannot use horizontal anchors with %1; unable to layout the item.").arg(itemName);
- item->setProperty("_q_QQuickSwipeDelegate_warned", true);
- }
-}
-
-void QQuickSwipeDelegatePrivate::resizeContent()
-{
- warnIfHorizontallyAnchored(background, QStringLiteral("background"));
- warnIfHorizontallyAnchored(contentItem, QStringLiteral("contentItem"));
-
- // If the background and contentItem are repositioned due to a swipe,
- // we don't want to call QQuickControlPrivate's implementation of this function,
- // as it repositions the contentItem to be visible.
- // However, we still want to resize the control vertically.
- QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&swipe);
- if (!swipePrivate->complete) {
- QQuickItemDelegatePrivate::resizeContent();
- } else if (contentItem) {
- Q_Q(QQuickSwipeDelegate);
- contentItem->setY(q->topPadding());
- contentItem->setHeight(q->availableHeight());
- }
-}
-
-QQuickSwipeDelegate::QQuickSwipeDelegate(QQuickItem *parent)
- : QQuickItemDelegate(*(new QQuickSwipeDelegatePrivate(this)), parent)
-{
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlmethod void QtQuick.Controls::SwipeDelegate::swipe.open(enumeration side)
-
- This method sets the \c position of the swipe so that it opens
- from the specified \a side.
-
- Available values:
- \value SwipeDelegate.Left The \c position is set to \c 1, which makes the swipe open
- from the left. Either \c swipe.left or \c swipe.behind must
- have been specified; otherwise the call is ignored.
- \value SwipeDelegate.Right The \c position is set to \c -1, which makes the swipe open
- from the right. Either \c swipe.right or \c swipe.behind must
- have been specified; otherwise the call is ignored.
-
- Any animations defined for the \l {Item::}{x} position of \l {Control::}{contentItem}
- and \l {Control::}{background} will be triggered.
-
- \sa swipe, swipe.close()
-*/
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlmethod void QtQuick.Controls::SwipeDelegate::swipe.close()
-
- This method sets the \c position of the swipe to \c 0. Any animations
- defined for the \l {Item::}{x} position of \l {Control::}{contentItem}
- and \l {Control::}{background} will be triggered.
-
- \sa swipe, swipe.open()
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal void QtQuick.Controls::SwipeDelegate::swipe.opened()
-
- This signal is emitted when the delegate has been swiped open
- and the transition has finished.
-
- It is useful for performing some action upon completion of a swipe.
- For example, it can be used to remove the delegate from the list
- that it is in.
-
- \sa swipe, swipe.closed()
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlsignal void QtQuick.Controls::SwipeDelegate::swipe.closed()
-
- This signal is emitted when the delegate has been swiped to closed
- and the transition has finished.
-
- It is useful for performing some action upon cancellation of a swipe.
- For example, it can be used to cancel the removal of the delegate from
- the list that it is in.
-
- \sa swipe, swipe.opened()
-*/
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlsignal void QtQuick.Controls::SwipeDelegate::swipe.completed()
-
- This signal is emitted when \c swipe.complete becomes \c true.
-
- It is useful for performing some action upon completion of a swipe.
- For example, it can be used to remove the delegate from the list
- that it is in.
-
- \sa swipe
-*/
-
-/*!
- \qmlpropertygroup QtQuick.Controls::SwipeDelegate::swipe
- \qmlproperty real QtQuick.Controls::SwipeDelegate::swipe.position
- \qmlproperty bool QtQuick.Controls::SwipeDelegate::swipe.complete
- \qmlproperty bool QtQuick.Controls::SwipeDelegate::swipe.enabled
- \qmlproperty Component QtQuick.Controls::SwipeDelegate::swipe.left
- \qmlproperty Component QtQuick.Controls::SwipeDelegate::swipe.behind
- \qmlproperty Component QtQuick.Controls::SwipeDelegate::swipe.right
- \qmlproperty Item QtQuick.Controls::SwipeDelegate::swipe.leftItem
- \qmlproperty Item QtQuick.Controls::SwipeDelegate::swipe.behindItem
- \qmlproperty Item QtQuick.Controls::SwipeDelegate::swipe.rightItem
- \qmlproperty Transition QtQuick.Controls::SwipeDelegate::swipe.transition
-
- \table
- \header
- \li Name
- \li Description
- \row
- \li position
- \li This read-only property holds the position of the swipe relative to either
- side of the control. When this value reaches either
- \c -1.0 (left side) or \c 1.0 (right side) and the mouse button is
- released, \c complete will be \c true.
- \row
- \li complete
- \li This read-only property holds whether the control is fully exposed after
- having been swiped to the left or right.
-
- When complete is \c true, any interactive items declared in \c left,
- \c right, or \c behind will receive mouse events.
- \row
- \li enabled
- \li This property determines whether or not the control can be swiped.
-
- This property was added in QtQuick.Controls 2.2.
- \row
- \li left
- \li This property holds the left delegate.
-
- The left delegate sits behind both \l {Control::}{contentItem} and
- \l {Control::}{background}. When the SwipeDelegate is swiped to the right,
- this item will be gradually revealed.
-
- \include qquickswipedelegate-interaction.qdocinc
- \row
- \li behind
- \li This property holds the delegate that is shown when the
- SwipeDelegate is swiped to both the left and right.
-
- As with the \c left and \c right delegates, it sits behind both
- \l {Control::}{contentItem} and \l {Control::}{background}. However, a
- SwipeDelegate whose \c behind has been set can be continuously swiped
- from either side, and will always show the same item.
-
- \include qquickswipedelegate-interaction.qdocinc
- \row
- \li right
- \li This property holds the right delegate.
-
- The right delegate sits behind both \l {Control::}{contentItem} and
- \l {Control::}{background}. When the SwipeDelegate is swiped to the left,
- this item will be gradually revealed.
-
- \include qquickswipedelegate-interaction.qdocinc
- \row
- \li leftItem
- \li This read-only property holds the item instantiated from the \c left component.
-
- If \c left has not been set, or the position hasn't changed since
- creation of the SwipeDelegate, this property will be \c null.
- \row
- \li behindItem
- \li This read-only property holds the item instantiated from the \c behind component.
-
- If \c behind has not been set, or the position hasn't changed since
- creation of the SwipeDelegate, this property will be \c null.
- \row
- \li rightItem
- \li This read-only property holds the item instantiated from the \c right component.
-
- If \c right has not been set, or the position hasn't changed since
- creation of the SwipeDelegate, this property will be \c null.
- \row
- \li transition
- \li This property holds the transition that is applied when a swipe is released,
- or \l swipe.open() or \l swipe.close() is called.
-
- \snippet qtquickcontrols2-swipedelegate-transition.qml 1
-
- This property was added in Qt Quick Controls 2.2.
- \endtable
-
- \sa {Control::}{contentItem}, {Control::}{background}, swipe.open(), swipe.close()
-*/
-QQuickSwipe *QQuickSwipeDelegate::swipe() const
-{
- Q_D(const QQuickSwipeDelegate);
- return const_cast<QQuickSwipe*>(&d->swipe);
-}
-
-QQuickSwipeDelegateAttached *QQuickSwipeDelegate::qmlAttachedProperties(QObject *object)
-{
- return new QQuickSwipeDelegateAttached(object);
-}
-
-static bool isChildOrGrandchildOf(QQuickItem *child, QQuickItem *item)
-{
- return item && (child == item || item->isAncestorOf(child));
-}
-
-bool QQuickSwipeDelegate::childMouseEventFilter(QQuickItem *child, QEvent *event)
-{
- Q_D(QQuickSwipeDelegate);
- // The contentItem is, by default, usually a non-interactive item like Text, and
- // the same applies to the background. This means that simply stacking the left/right/behind
- // items before these items won't allow us to get mouse events when the control is not currently exposed
- // but has been previously. Therefore, we instead call setFiltersChildMouseEvents(true) in the constructor
- // and filter out child events only when the child is the left/right/behind item.
- const QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&d->swipe);
- if (!isChildOrGrandchildOf(child, swipePrivate->leftItem) && !isChildOrGrandchildOf(child, swipePrivate->behindItem)
- && !isChildOrGrandchildOf(child, swipePrivate->rightItem)) {
- return false;
- }
-
- switch (event->type()) {
- case QEvent::MouseButtonPress: {
- return d->handleMousePressEvent(child, static_cast<QMouseEvent *>(event));
- } case QEvent::MouseMove: {
- return d->handleMouseMoveEvent(child, static_cast<QMouseEvent *>(event));
- } case QEvent::MouseButtonRelease: {
- // Make sure that the control gets release events if it has created child
- // items that are stealing events from it.
- QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
- QQuickItemDelegate::mouseReleaseEvent(mouseEvent);
- return d->handleMouseReleaseEvent(child, mouseEvent);
- } case QEvent::UngrabMouse: {
- // If the mouse was pressed over e.g. rightItem and then dragged down,
- // the ListView would eventually grab the mouse, at which point we must
- // clear the pressed flag so that it doesn't stay pressed after the release.
- Attached *attached = attachedObject(child);
- if (attached)
- attached->setPressed(false);
- return false;
- } default:
- return false;
- }
-}
-
-// We only override this to set positionBeforePress;
-// otherwise, it's the same as the base class implementation.
-void QQuickSwipeDelegate::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickSwipeDelegate);
- QQuickItemDelegate::mousePressEvent(event);
-
- QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&d->swipe);
- if (!swipePrivate->enabled)
- return;
-
- swipePrivate->positionBeforePress = swipePrivate->position;
- swipePrivate->velocityCalculator.startMeasuring(event->pos(), event->timestamp());
-}
-
-void QQuickSwipeDelegate::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickSwipeDelegate);
- if (filtersChildMouseEvents())
- d->handleMouseMoveEvent(this, event);
- else
- QQuickItemDelegate::mouseMoveEvent(event);
-}
-
-void QQuickSwipeDelegate::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickSwipeDelegate);
- if (!filtersChildMouseEvents() || !d->handleMouseReleaseEvent(this, event))
- QQuickItemDelegate::mouseReleaseEvent(event);
-}
-
-void QQuickSwipeDelegate::touchEvent(QTouchEvent *event)
-{
- // Don't allow QQuickControl accept the touch event, because QQuickSwipeDelegate
- // is still based on synthesized mouse events
- event->ignore();
-}
-
-void QQuickSwipeDelegate::componentComplete()
-{
- Q_D(QQuickSwipeDelegate);
- QQuickItemDelegate::componentComplete();
- QQuickSwipePrivate::get(&d->swipe)->reposition(DontAnimatePosition);
-}
-
-void QQuickSwipeDelegate::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickSwipeDelegate);
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
-
- if (isComponentComplete() && !qFuzzyCompare(newGeometry.width(), oldGeometry.width())) {
- QQuickSwipePrivate *swipePrivate = QQuickSwipePrivate::get(&d->swipe);
- swipePrivate->reposition(DontAnimatePosition);
- }
-}
-
-QFont QQuickSwipeDelegate::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ListView);
-}
-
-QPalette QQuickSwipeDelegate::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ListView);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickSwipeDelegate::accessibleRole() const
-{
- return QAccessible::ListItem;
-}
-#endif
-
-class QQuickSwipeDelegateAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwipeDelegateAttached)
-
-public:
- // True when left/right/behind is non-interactive and is pressed.
- bool pressed = false;
-};
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlattachedsignal QtQuick.Controls::SwipeDelegate::clicked()
-
- This signal can be attached to a non-interactive item declared in
- \c swipe.left, \c swipe.right, or \c swipe.behind, in order to react to
- clicks. Items can only be clicked when \c swipe.complete is \c true.
-
- For interactive controls (such as \l Button) declared in these
- items, use their respective \c clicked() signal instead.
-
- To respond to clicks on the SwipeDelegate itself, use its
- \l {AbstractButton::}{clicked()} signal.
-
- \note See the documentation for \l pressed for information on
- how to use the event-related properties correctly.
-
- \sa pressed
-*/
-
-QQuickSwipeDelegateAttached::QQuickSwipeDelegateAttached(QObject *object)
- : QObject(*(new QQuickSwipeDelegateAttachedPrivate), object)
-{
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (item) {
- // This allows us to be notified when an otherwise non-interactive item
- // is pressed and clicked. The alternative is much more more complex:
- // iterating through children that contain the event pos and finding
- // the first one with an attached object.
- item->setAcceptedMouseButtons(Qt::AllButtons);
- } else {
- qWarning() << "Attached properties of SwipeDelegate must be accessed through an Item";
- }
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlattachedproperty bool QtQuick.Controls::SwipeDelegate::pressed
- \readonly
-
- This property can be attached to a non-interactive item declared in
- \c swipe.left, \c swipe.right, or \c swipe.behind, in order to detect if it
- is pressed. Items can only be pressed when \c swipe.complete is \c true.
-
- For example:
-
- \code
- swipe.right: Label {
- anchors.right: parent.right
- height: parent.height
- text: "Action"
- color: "white"
- padding: 12
- background: Rectangle {
- color: SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
- }
- }
- \endcode
-
- It is possible to have multiple items which individually receive mouse and
- touch events. For example, to have two actions in the \c swipe.right item,
- use the following code:
-
- \code
- swipe.right: Row {
- anchors.right: parent.right
- height: parent.height
-
- Label {
- id: moveLabel
- text: qsTr("Move")
- color: "white"
- verticalAlignment: Label.AlignVCenter
- padding: 12
- height: parent.height
-
- SwipeDelegate.onClicked: console.log("Moving...")
-
- background: Rectangle {
- color: moveLabel.SwipeDelegate.pressed ? Qt.darker("#ffbf47", 1.1) : "#ffbf47"
- }
- }
- Label {
- id: deleteLabel
- text: qsTr("Delete")
- color: "white"
- verticalAlignment: Label.AlignVCenter
- padding: 12
- height: parent.height
-
- SwipeDelegate.onClicked: console.log("Deleting...")
-
- background: Rectangle {
- color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
- }
- }
- }
- \endcode
-
- Note how the \c color assignment in each \l {Control::}{background} item
- qualifies the attached property with the \c id of the label. This
- is important; using the attached properties on an item causes that item
- to accept events. Suppose we had left out the \c id in the previous example:
-
- \code
- color: SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
- \endcode
-
- The \l Rectangle background item is a child of the label, so it naturally
- receives events before it. In practice, this means that the background
- color will change, but the \c onClicked handler in the label will never
- get called.
-
- For interactive controls (such as \l Button) declared in these
- items, use their respective \c pressed property instead.
-
- For presses on the SwipeDelegate itself, use its
- \l {AbstractButton::}{pressed} property.
-
- \sa clicked()
-*/
-bool QQuickSwipeDelegateAttached::isPressed() const
-{
- Q_D(const QQuickSwipeDelegateAttached);
- return d->pressed;
-}
-
-void QQuickSwipeDelegateAttached::setPressed(bool pressed)
-{
- Q_D(QQuickSwipeDelegateAttached);
- if (pressed == d->pressed)
- return;
-
- d->pressed = pressed;
- emit pressedChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickswipedelegate_p.h b/src/quicktemplates2/qquickswipedelegate_p.h
deleted file mode 100644
index 53211ccb..00000000
--- a/src/quicktemplates2/qquickswipedelegate_p.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSWIPEDELEGATE_P_H
-#define QQUICKSWIPEDELEGATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickitemdelegate_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSwipe;
-class QQuickSwipeDelegatePrivate;
-class QQuickSwipeDelegateAttached;
-class QQuickSwipeDelegateAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwipeDelegate : public QQuickItemDelegate
-{
- Q_OBJECT
- Q_PROPERTY(QQuickSwipe *swipe READ swipe CONSTANT FINAL)
-
-public:
- explicit QQuickSwipeDelegate(QQuickItem *parent = nullptr);
-
- QQuickSwipe *swipe() const;
-
- enum Side { Left = 1, Right = -1 };
- Q_ENUM(Side)
-
- static QQuickSwipeDelegateAttached *qmlAttachedProperties(QObject *object);
-
-protected:
- bool childMouseEventFilter(QQuickItem *child, QEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
- void touchEvent(QTouchEvent *event) override;
-
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickSwipeDelegate)
- Q_DECLARE_PRIVATE(QQuickSwipeDelegate)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwipeDelegateAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool pressed READ isPressed NOTIFY pressedChanged FINAL)
-
-public:
- explicit QQuickSwipeDelegateAttached(QObject *object = nullptr);
-
- bool isPressed() const;
- void setPressed(bool pressed);
-
-Q_SIGNALS:
- void pressedChanged();
- void clicked();
-
-private:
- Q_DISABLE_COPY(QQuickSwipeDelegateAttached)
- Q_DECLARE_PRIVATE(QQuickSwipeDelegateAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSwipeDelegate)
-QML_DECLARE_TYPEINFO(QQuickSwipeDelegate, QML_HAS_ATTACHED_PROPERTIES)
-Q_DECLARE_METATYPE(QQuickSwipeDelegate::Side)
-
-#endif // QQUICKSWIPEDELEGATE_P_H
diff --git a/src/quicktemplates2/qquickswipedelegate_p_p.h b/src/quicktemplates2/qquickswipedelegate_p_p.h
deleted file mode 100644
index 78c72ec8..00000000
--- a/src/quicktemplates2/qquickswipedelegate_p_p.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSWIPEDELEGATE_P_P_H
-#define QQUICKSWIPEDELEGATE_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickitemdelegate_p_p.h>
-#include <QtQuickTemplates2/private/qquickswipe_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSwipeDelegate;
-
-class QQuickSwipeDelegatePrivate : public QQuickItemDelegatePrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwipeDelegate)
-
-public:
- QQuickSwipeDelegatePrivate(QQuickSwipeDelegate *control);
-
- bool handleMousePressEvent(QQuickItem *item, QMouseEvent *event);
- bool handleMouseMoveEvent(QQuickItem *item, QMouseEvent *event);
- bool handleMouseReleaseEvent(QQuickItem *item, QMouseEvent *event);
-
- void resizeContent() override;
-
- QQuickSwipe swipe;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKSWIPEDELEGATE_P_P_H
diff --git a/src/quicktemplates2/qquickswipeview.cpp b/src/quicktemplates2/qquickswipeview.cpp
deleted file mode 100644
index 3ba4f4d3..00000000
--- a/src/quicktemplates2/qquickswipeview.cpp
+++ /dev/null
@@ -1,476 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickswipeview_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQuickTemplates2/private/qquickcontainer_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype SwipeView
- \inherits Container
- \instantiates QQuickSwipeView
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-navigation
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Enables the user to navigate pages by swiping sideways.
-
- SwipeView provides a swipe-based navigation model.
-
- \image qtquickcontrols2-swipeview.gif
-
- SwipeView is populated with a set of pages. One page is visible at a time.
- The user can navigate between the pages by swiping sideways. Notice that
- SwipeView itself is entirely non-visual. It is recommended to combine it
- with PageIndicator, to give the user a visual clue that there are multiple
- pages.
-
- \snippet qtquickcontrols2-swipeview-indicator.qml 1
-
- As shown above, SwipeView is typically populated with a static set of
- pages that are defined inline as children of the view. It is also possible
- to \l {Container::addItem()}{add}, \l {Container::insertItem()}{insert},
- \l {Container::moveItem()}{move}, and \l {Container::removeItem()}{remove}
- pages dynamically at run time.
-
- It is generally not advisable to add excessive amounts of pages to a
- SwipeView. However, when the amount of pages grows larger, or individual
- pages are relatively complex, it may be desirable to free up resources by
- unloading pages that are outside the immediate reach of the user.
- The following example presents how to use \l Loader to keep a maximum of
- three pages simultaneously instantiated.
-
- \code
- SwipeView {
- Repeater {
- model: 6
- Loader {
- active: SwipeView.isCurrentItem || SwipeView.isNextItem || SwipeView.isPreviousItem
- sourceComponent: Text {
- text: index
- Component.onCompleted: console.log("created:", index)
- Component.onDestruction: console.log("destroyed:", index)
- }
- }
- }
- }
- \endcode
-
- \note SwipeView takes over the geometry management of items added to the
- view. Using anchors on the items is not supported, and any \c width
- or \c height assignment will be overridden by the view. Notice that
- this only applies to the root of the item. Specifying width and height,
- or using anchors for its children works as expected.
-
- \sa TabBar, PageIndicator, {Customizing SwipeView}, {Navigation Controls}, {Container Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-class QQuickSwipeViewPrivate : public QQuickContainerPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwipeView)
-
-public:
- void resizeItem(QQuickItem *item);
- void resizeItems();
-
- static QQuickSwipeViewPrivate *get(QQuickSwipeView *view);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
-
- bool interactive = true;
- Qt::Orientation orientation = Qt::Horizontal;
-};
-
-class QQuickSwipeViewAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwipeViewAttached)
-
-public:
- static QQuickSwipeViewAttachedPrivate *get(QQuickSwipeViewAttached *attached)
- {
- return attached->d_func();
- }
-
- void update(QQuickSwipeView *newView, int newIndex);
- void updateCurrentIndex();
- void setCurrentIndex(int i);
-
- QQuickSwipeView *swipeView = nullptr;
- int index = -1;
- int currentIndex = -1;
-};
-
-void QQuickSwipeViewPrivate::resizeItems()
-{
- Q_Q(QQuickSwipeView);
- const int count = q->count();
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = itemAt(i);
- if (item) {
- QQuickAnchors *anchors = QQuickItemPrivate::get(item)->_anchors;
- // TODO: expose QQuickAnchorLine so we can test for other conflicting anchors
- if (anchors && (anchors->fill() || anchors->centerIn()) && !item->property("_q_QQuickSwipeView_warned").toBool()) {
- qmlWarning(item) << "SwipeView has detected conflicting anchors. Unable to layout the item.";
- item->setProperty("_q_QQuickSwipeView_warned", true);
- }
-
- if (orientation == Qt::Horizontal)
- item->setY(0);
- else
- item->setX(0);
- item->setSize(QSizeF(contentItem->width(), contentItem->height()));
- }
- }
-}
-
-QQuickSwipeViewPrivate *QQuickSwipeViewPrivate::get(QQuickSwipeView *view)
-{
- return view->d_func();
-}
-
-void QQuickSwipeViewPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickSwipeView);
- QQuickContainerPrivate::itemImplicitWidthChanged(item);
- if (item == q->currentItem())
- updateImplicitContentWidth();
-}
-
-void QQuickSwipeViewPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickSwipeView);
- QQuickContainerPrivate::itemImplicitHeightChanged(item);
- if (item == q->currentItem())
- updateImplicitContentHeight();
-}
-
-qreal QQuickSwipeViewPrivate::getContentWidth() const
-{
- Q_Q(const QQuickSwipeView);
- QQuickItem *currentItem = q->currentItem();
- return currentItem ? currentItem->implicitWidth() : 0;
-}
-
-qreal QQuickSwipeViewPrivate::getContentHeight() const
-{
- Q_Q(const QQuickSwipeView);
- QQuickItem *currentItem = q->currentItem();
- return currentItem ? currentItem->implicitHeight() : 0;
-}
-
-QQuickSwipeView::QQuickSwipeView(QQuickItem *parent)
- : QQuickContainer(*(new QQuickSwipeViewPrivate), parent)
-{
- Q_D(QQuickSwipeView);
- d->changeTypes |= QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight;
- setFlag(ItemIsFocusScope);
- setActiveFocusOnTab(true);
- QObjectPrivate::connect(this, &QQuickContainer::currentItemChanged, d, &QQuickControlPrivate::updateImplicitContentSize);
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty bool QtQuick.Controls::SwipeView::interactive
-
- This property describes whether the user can interact with the SwipeView.
- The user cannot swipe a view that is not interactive.
-
- The default value is \c true.
-*/
-bool QQuickSwipeView::isInteractive() const
-{
- Q_D(const QQuickSwipeView);
- return d->interactive;
-}
-
-void QQuickSwipeView::setInteractive(bool interactive)
-{
- Q_D(QQuickSwipeView);
- if (d->interactive == interactive)
- return;
-
- d->interactive = interactive;
- emit interactiveChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty enumeration QtQuick.Controls::SwipeView::orientation
-
- This property holds the orientation.
-
- Possible values:
- \value Qt.Horizontal Horizontal (default)
- \value Qt.Vertical Vertical
-
- \sa horizontal, vertical
-*/
-Qt::Orientation QQuickSwipeView::orientation() const
-{
- Q_D(const QQuickSwipeView);
- return d->orientation;
-}
-
-void QQuickSwipeView::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickSwipeView);
- if (d->orientation == orientation)
- return;
-
- d->orientation = orientation;
- if (isComponentComplete())
- d->resizeItems();
- emit orientationChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::SwipeView::horizontal
- \readonly
-
- This property holds whether the swipe view is horizontal.
-
- \sa orientation
-*/
-bool QQuickSwipeView::isHorizontal() const
-{
- Q_D(const QQuickSwipeView);
- return d->orientation == Qt::Horizontal;
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty bool QtQuick.Controls::SwipeView::vertical
- \readonly
-
- This property holds whether the swipe view is vertical.
-
- \sa orientation
-*/
-bool QQuickSwipeView::isVertical() const
-{
- Q_D(const QQuickSwipeView);
- return d->orientation == Qt::Vertical;
-}
-
-QQuickSwipeViewAttached *QQuickSwipeView::qmlAttachedProperties(QObject *object)
-{
- return new QQuickSwipeViewAttached(object);
-}
-
-void QQuickSwipeView::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickSwipeView);
- QQuickContainer::geometryChanged(newGeometry, oldGeometry);
- d->resizeItems();
-}
-
-void QQuickSwipeView::itemAdded(int index, QQuickItem *item)
-{
- Q_D(QQuickSwipeView);
- QQuickItemPrivate::get(item)->setCulled(true); // QTBUG-51078, QTBUG-51669
- if (isComponentComplete())
- item->setSize(QSizeF(d->contentItem->width(), d->contentItem->height()));
- QQuickSwipeViewAttached *attached = qobject_cast<QQuickSwipeViewAttached *>(qmlAttachedPropertiesObject<QQuickSwipeView>(item));
- if (attached)
- QQuickSwipeViewAttachedPrivate::get(attached)->update(this, index);
-}
-
-void QQuickSwipeView::itemMoved(int index, QQuickItem *item)
-{
- QQuickSwipeViewAttached *attached = qobject_cast<QQuickSwipeViewAttached *>(qmlAttachedPropertiesObject<QQuickSwipeView>(item));
- if (attached)
- QQuickSwipeViewAttachedPrivate::get(attached)->update(this, index);
-}
-
-void QQuickSwipeView::itemRemoved(int, QQuickItem *item)
-{
- QQuickSwipeViewAttached *attached = qobject_cast<QQuickSwipeViewAttached *>(qmlAttachedPropertiesObject<QQuickSwipeView>(item));
- if (attached)
- QQuickSwipeViewAttachedPrivate::get(attached)->update(nullptr, -1);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickSwipeView::accessibleRole() const
-{
- return QAccessible::PageTabList;
-}
-#endif
-
-/*!
- \qmlattachedproperty int QtQuick.Controls::SwipeView::index
- \readonly
-
- This attached property holds the index of each child item in the SwipeView.
-
- It is attached to each child item of the SwipeView.
-*/
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SwipeView::isCurrentItem
- \readonly
-
- This attached property is \c true if this child is the current item.
-
- It is attached to each child item of the SwipeView.
-*/
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SwipeView::isNextItem
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \readonly
-
- This attached property is \c true if this child is the next item.
-
- It is attached to each child item of the SwipeView.
-*/
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::SwipeView::isPreviousItem
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \readonly
-
- This attached property is \c true if this child is the previous item.
-
- It is attached to each child item of the SwipeView.
-*/
-
-/*!
- \qmlattachedproperty SwipeView QtQuick.Controls::SwipeView::view
- \readonly
-
- This attached property holds the view that manages this child item.
-
- It is attached to each child item of the SwipeView.
-*/
-
-void QQuickSwipeViewAttachedPrivate::updateCurrentIndex()
-{
- setCurrentIndex(swipeView ? swipeView->currentIndex() : -1);
-}
-
-void QQuickSwipeViewAttachedPrivate::setCurrentIndex(int i)
-{
- if (i == currentIndex)
- return;
-
- Q_Q(QQuickSwipeViewAttached);
- const bool wasCurrent = q->isCurrentItem();
- const bool wasNext = q->isNextItem();
- const bool wasPrevious = q->isPreviousItem();
-
- currentIndex = i;
- if (wasCurrent != q->isCurrentItem())
- emit q->isCurrentItemChanged();
- if (wasNext != q->isNextItem())
- emit q->isNextItemChanged();
- if (wasPrevious != q->isPreviousItem())
- emit q->isPreviousItemChanged();
-}
-
-void QQuickSwipeViewAttachedPrivate::update(QQuickSwipeView *newView, int newIndex)
-{
- Q_Q(QQuickSwipeViewAttached);
- int oldIndex = index;
- QQuickSwipeView *oldView = swipeView;
-
- index = newIndex;
- swipeView = newView;
-
- if (oldView != newView) {
- if (oldView) {
- disconnect(oldView, &QQuickSwipeView::currentIndexChanged,
- this, &QQuickSwipeViewAttachedPrivate::updateCurrentIndex);
- }
- if (newView) {
- connect(newView, &QQuickSwipeView::currentIndexChanged,
- this, &QQuickSwipeViewAttachedPrivate::updateCurrentIndex);
- }
- emit q->viewChanged();
- }
- if (oldIndex != newIndex)
- emit q->indexChanged();
-
- updateCurrentIndex();
-}
-
-QQuickSwipeViewAttached::QQuickSwipeViewAttached(QObject *parent)
- : QObject(*(new QQuickSwipeViewAttachedPrivate), parent)
-{
- if (!qobject_cast<QQuickItem *>(parent))
- qmlWarning(parent) << "SwipeView: attached properties must be accessed from within a child item";
-}
-
-int QQuickSwipeViewAttached::index() const
-{
- Q_D(const QQuickSwipeViewAttached);
- return d->index;
-}
-
-bool QQuickSwipeViewAttached::isCurrentItem() const
-{
- Q_D(const QQuickSwipeViewAttached);
- return d->index != -1 && d->currentIndex != -1 && d->index == d->currentIndex;
-}
-
-QQuickSwipeView *QQuickSwipeViewAttached::view() const
-{
- Q_D(const QQuickSwipeViewAttached);
- return d->swipeView;
-}
-
-bool QQuickSwipeViewAttached::isNextItem() const
-{
- Q_D(const QQuickSwipeViewAttached);
- return d->index != -1 && d->currentIndex != -1 && d->index == d->currentIndex + 1;
-}
-
-bool QQuickSwipeViewAttached::isPreviousItem() const
-{
- Q_D(const QQuickSwipeViewAttached);
- return d->index != -1 && d->currentIndex != -1 && d->index == d->currentIndex - 1;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickswipeview_p.h b/src/quicktemplates2/qquickswipeview_p.h
deleted file mode 100644
index 03f6cefa..00000000
--- a/src/quicktemplates2/qquickswipeview_p.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSWIPEVIEW_P_H
-#define QQUICKSWIPEVIEW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSwipeViewAttached;
-class QQuickSwipeViewPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwipeView : public QQuickContainer
-{
- Q_OBJECT
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged FINAL REVISION 1)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL REVISION 2)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(bool horizontal READ isHorizontal NOTIFY orientationChanged FINAL REVISION 3)
- Q_PROPERTY(bool vertical READ isVertical NOTIFY orientationChanged FINAL REVISION 3)
-
-public:
- explicit QQuickSwipeView(QQuickItem *parent = nullptr);
-
- static QQuickSwipeViewAttached *qmlAttachedProperties(QObject *object);
-
- // 2.1 (Qt 5.8)
- bool isInteractive() const;
- void setInteractive(bool interactive);
-
- // 2.2 (Qt 5.9)
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- // 2.3 (Qt 5.10)
- bool isHorizontal() const;
- bool isVertical() const;
-
-Q_SIGNALS:
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void interactiveChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void orientationChanged();
-
-protected:
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void itemAdded(int index, QQuickItem *item) override;
- void itemMoved(int index, QQuickItem *item) override;
- void itemRemoved(int index, QQuickItem *item) override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickSwipeView)
- Q_DECLARE_PRIVATE(QQuickSwipeView)
-};
-
-class QQuickSwipeViewAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwipeViewAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int index READ index NOTIFY indexChanged FINAL)
- Q_PROPERTY(bool isCurrentItem READ isCurrentItem NOTIFY isCurrentItemChanged FINAL)
- Q_PROPERTY(QQuickSwipeView *view READ view NOTIFY viewChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool isNextItem READ isNextItem NOTIFY isNextItemChanged FINAL REVISION 1)
- Q_PROPERTY(bool isPreviousItem READ isPreviousItem NOTIFY isPreviousItemChanged FINAL REVISION 1)
-
-public:
- explicit QQuickSwipeViewAttached(QObject *parent = nullptr);
-
- int index() const;
- bool isCurrentItem() const;
- QQuickSwipeView *view() const;
-
- // 2.1 (Qt 5.8)
- bool isNextItem() const;
- bool isPreviousItem() const;
-
-Q_SIGNALS:
- void indexChanged();
- void isCurrentItemChanged();
- void viewChanged();
- // 2.1 (Qt 5.8)
- /*Q_REVISION(1)*/ void isNextItemChanged();
- /*Q_REVISION(1)*/ void isPreviousItemChanged();
-
-private:
- Q_DISABLE_COPY(QQuickSwipeViewAttached)
- Q_DECLARE_PRIVATE(QQuickSwipeViewAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSwipeView)
-QML_DECLARE_TYPEINFO(QQuickSwipeView, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKSWIPEVIEW_P_H
diff --git a/src/quicktemplates2/qquickswitch.cpp b/src/quicktemplates2/qquickswitch.cpp
deleted file mode 100644
index 675cb6ae..00000000
--- a/src/quicktemplates2/qquickswitch.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickswitch_p.h"
-#include "qquickabstractbutton_p_p.h"
-
-#include <QtGui/qstylehints.h>
-#include <QtGui/qguiapplication.h>
-#include <QtQuick/private/qquickwindow_p.h>
-#include <QtQuick/private/qquickevents_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Switch
- \inherits AbstractButton
- \instantiates QQuickSwitch
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-buttons
- \brief Switch button that can be toggled on or off.
-
- \image qtquickcontrols2-switch.gif
-
- Switch is an option button that can be dragged or toggled on (checked) or
- off (unchecked). Switches are typically used to select between two states.
- For larger sets of options, such as those in a list, consider using
- \l SwitchDelegate instead.
-
- Switch inherits its API from \l AbstractButton. For instance, the state
- of the switch can be set with the \l {AbstractButton::}{checked} property.
-
- \code
- ColumnLayout {
- Switch {
- text: qsTr("Wi-Fi")
- }
- Switch {
- text: qsTr("Bluetooth")
- }
- }
- \endcode
-
- \sa {Customizing Switch}, {Button Controls}
-*/
-
-class QQuickSwitchPrivate : public QQuickAbstractButtonPrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwitch)
-
-public:
- qreal positionAt(const QPointF &point) const;
-
- bool canDrag(const QPointF &movePoint) const;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
-
- qreal position = 0;
-};
-
-qreal QQuickSwitchPrivate::positionAt(const QPointF &point) const
-{
- Q_Q(const QQuickSwitch);
- qreal pos = 0.0;
- if (indicator)
- pos = indicator->mapFromItem(q, point).x() / indicator->width();
- if (q->isMirrored())
- return 1.0 - pos;
- return pos;
-}
-
-bool QQuickSwitchPrivate::canDrag(const QPointF &movePoint) const
-{
- // don't start dragging the handle unless the initial press was at the indicator,
- // or the drag has reached the indicator area. this prevents unnatural jumps when
- // dragging far outside the indicator.
- const qreal pressPos = positionAt(pressPoint);
- const qreal movePos = positionAt(movePoint);
- return (pressPos >= 0.0 && pressPos <= 1.0) || (movePos >= 0.0 && movePos <= 1.0);
-}
-
-void QQuickSwitchPrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickSwitch);
- QQuickAbstractButtonPrivate::handleMove(point);
- if (q->keepMouseGrab() || q->keepTouchGrab())
- q->setPosition(positionAt(point));
-}
-
-void QQuickSwitchPrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickSwitch);
- QQuickAbstractButtonPrivate::handleRelease(point);
- q->setKeepMouseGrab(false);
- q->setKeepTouchGrab(false);
-}
-
-QQuickSwitch::QQuickSwitch(QQuickItem *parent)
- : QQuickAbstractButton(*(new QQuickSwitchPrivate), parent)
-{
- Q_D(QQuickSwitch);
- d->keepPressed = true;
- setCheckable(true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Switch::position
- \readonly
-
- \input includes/qquickswitch.qdocinc position
-*/
-qreal QQuickSwitch::position() const
-{
- Q_D(const QQuickSwitch);
- return d->position;
-}
-
-void QQuickSwitch::setPosition(qreal position)
-{
- Q_D(QQuickSwitch);
- position = qBound<qreal>(0.0, position, 1.0);
- if (qFuzzyCompare(d->position, position))
- return;
-
- d->position = position;
- emit positionChanged();
- emit visualPositionChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::Switch::visualPosition
- \readonly
-
- \input includes/qquickswitch.qdocinc visualPosition
-*/
-qreal QQuickSwitch::visualPosition() const
-{
- Q_D(const QQuickSwitch);
- if (isMirrored())
- return 1.0 - d->position;
- return d->position;
-}
-
-void QQuickSwitch::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickSwitch);
- if (!keepMouseGrab()) {
- const QPointF movePoint = event->localPos();
- if (d->canDrag(movePoint))
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(movePoint.x() - d->pressPoint.x(), Qt::XAxis, event));
- }
- QQuickAbstractButton::mouseMoveEvent(event);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickSwitch::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickSwitch);
- if (!keepTouchGrab() && event->type() == QEvent::TouchUpdate) {
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (point.id() != d->touchId || point.state() != Qt::TouchPointMoved)
- continue;
- if (d->canDrag(point.pos()))
- setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point));
- }
- }
- QQuickAbstractButton::touchEvent(event);
-}
-#endif
-
-void QQuickSwitch::mirrorChange()
-{
- QQuickAbstractButton::mirrorChange();
- emit visualPositionChanged();
-}
-
-void QQuickSwitch::nextCheckState()
-{
- Q_D(QQuickSwitch);
- if (keepMouseGrab() || keepTouchGrab()) {
- d->toggle(d->position > 0.5);
- // the checked state might not change => force a position update to
- // avoid that the handle is left somewhere in the middle (QTBUG-57944)
- setPosition(d->checked ? 1.0 : 0.0);
- } else {
- QQuickAbstractButton::nextCheckState();
- }
-}
-
-void QQuickSwitch::buttonChange(ButtonChange change)
-{
- Q_D(QQuickSwitch);
- if (change == ButtonCheckedChange)
- setPosition(d->checked ? 1.0 : 0.0);
- else
- QQuickAbstractButton::buttonChange(change);
-}
-
-QFont QQuickSwitch::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Switch);
-}
-
-QPalette QQuickSwitch::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Switch);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickswitch_p.h b/src/quicktemplates2/qquickswitch_p.h
deleted file mode 100644
index ddc32395..00000000
--- a/src/quicktemplates2/qquickswitch_p.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSWITCH_P_H
-#define QQUICKSWITCH_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSwitchPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwitch : public QQuickAbstractButton
-{
- Q_OBJECT
- Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL)
-
-public:
- explicit QQuickSwitch(QQuickItem *parent = nullptr);
-
- qreal position() const;
- void setPosition(qreal position);
-
- qreal visualPosition() const;
-
-Q_SIGNALS:
- void positionChanged();
- void visualPositionChanged();
-
-protected:
- void mouseMoveEvent(QMouseEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
- void mirrorChange() override;
-
- void nextCheckState() override;
- void buttonChange(ButtonChange change) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-private:
- Q_DISABLE_COPY(QQuickSwitch)
- Q_DECLARE_PRIVATE(QQuickSwitch)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSwitch)
-
-#endif // QQUICKSWITCH_P_H
diff --git a/src/quicktemplates2/qquickswitchdelegate.cpp b/src/quicktemplates2/qquickswitchdelegate.cpp
deleted file mode 100644
index 3a849be0..00000000
--- a/src/quicktemplates2/qquickswitchdelegate.cpp
+++ /dev/null
@@ -1,239 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickswitchdelegate_p.h"
-
-#include "qquickitemdelegate_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype SwitchDelegate
- \inherits ItemDelegate
- \instantiates QQuickSwitchDelegate
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-delegates
- \brief Item delegate with a switch indicator that can be toggled on or off.
-
- \image qtquickcontrols2-switchdelegate.gif
-
- SwitchDelegate presents an item delegate that can be toggled on (checked) or
- off (unchecked). Switch delegates are typically used to select one or more
- options from a set of options. For smaller sets of options, or for options
- that need to be uniquely identifiable, consider using \l Switch instead.
-
- SwitchDelegate inherits its API from \l ItemDelegate, which is inherited
- from \l AbstractButton. For instance, you can set \l {AbstractButton::text}{text},
- and react to \l {AbstractButton::clicked}{clicks} using the \l AbstractButton
- API. The state of the switch delegate can be set with the
- \l {AbstractButton::}{checked} property.
-
- \code
- ListView {
- model: ["Option 1", "Option 2", "Option 3"]
- delegate: SwitchDelegate {
- text: modelData
- }
- }
- \endcode
-
- \sa {Customizing SwitchDelegate}, {Delegate Controls}
-*/
-
-class QQuickSwitchDelegatePrivate : public QQuickItemDelegatePrivate
-{
- Q_DECLARE_PUBLIC(QQuickSwitchDelegate)
-
-public:
- qreal positionAt(const QPointF &point) const;
-
- bool canDrag(const QPointF &movePoint) const;
- void handleMove(const QPointF &point) override;
- void handleRelease(const QPointF &point) override;
-
- qreal position = 0;
-};
-
-qreal QQuickSwitchDelegatePrivate::positionAt(const QPointF &point) const
-{
- Q_Q(const QQuickSwitchDelegate);
- qreal pos = 0.0;
- if (indicator)
- pos = indicator->mapFromItem(q, point).x() / indicator->width();
- if (q->isMirrored())
- return 1.0 - pos;
- return pos;
-}
-
-bool QQuickSwitchDelegatePrivate::canDrag(const QPointF &movePoint) const
-{
- // don't start dragging the handle unless the initial press was at the indicator,
- // or the drag has reached the indicator area. this prevents unnatural jumps when
- // dragging far outside the indicator.
- const qreal pressPos = positionAt(pressPoint);
- const qreal movePos = positionAt(movePoint);
- return (pressPos >= 0.0 && pressPos <= 1.0) || (movePos >= 0.0 && movePos <= 1.0);
-}
-
-void QQuickSwitchDelegatePrivate::handleMove(const QPointF &point)
-{
- Q_Q(QQuickSwitchDelegate);
- QQuickItemDelegatePrivate::handleMove(point);
- if (q->keepMouseGrab() || q->keepTouchGrab())
- q->setPosition(positionAt(point));
-}
-
-void QQuickSwitchDelegatePrivate::handleRelease(const QPointF &point)
-{
- Q_Q(QQuickSwitchDelegate);
- QQuickItemDelegatePrivate::handleRelease(point);
- q->setKeepMouseGrab(false);
- q->setKeepTouchGrab(false);
-}
-
-QQuickSwitchDelegate::QQuickSwitchDelegate(QQuickItem *parent)
- : QQuickItemDelegate(*(new QQuickSwitchDelegatePrivate), parent)
-{
- Q_D(QQuickSwitchDelegate);
- d->keepPressed = true;
- setCheckable(true);
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::SwitchDelegate::position
- \readonly
-
- \input includes/qquickswitch.qdocinc position
-*/
-qreal QQuickSwitchDelegate::position() const
-{
- Q_D(const QQuickSwitchDelegate);
- return d->position;
-}
-
-void QQuickSwitchDelegate::setPosition(qreal position)
-{
- Q_D(QQuickSwitchDelegate);
- position = qBound<qreal>(0.0, position, 1.0);
- if (qFuzzyCompare(d->position, position))
- return;
-
- d->position = position;
- emit positionChanged();
- emit visualPositionChanged();
-}
-
-/*!
- \qmlproperty real QtQuick.Controls::SwitchDelegate::visualPosition
- \readonly
-
- \input includes/qquickswitch.qdocinc visualPosition
-*/
-qreal QQuickSwitchDelegate::visualPosition() const
-{
- Q_D(const QQuickSwitchDelegate);
- if (isMirrored())
- return 1.0 - d->position;
- return d->position;
-}
-
-void QQuickSwitchDelegate::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickSwitchDelegate);
- if (!keepMouseGrab()) {
- const QPointF movePoint = event->localPos();
- if (d->canDrag(movePoint))
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(movePoint.x() - d->pressPoint.x(), Qt::XAxis, event));
- }
- QQuickItemDelegate::mouseMoveEvent(event);
-}
-
-#if QT_CONFIG(quicktemplates2_multitouch)
-void QQuickSwitchDelegate::touchEvent(QTouchEvent *event)
-{
- Q_D(QQuickSwitchDelegate);
- if (!keepTouchGrab() && event->type() == QEvent::TouchUpdate) {
- for (const QTouchEvent::TouchPoint &point : event->touchPoints()) {
- if (point.id() != d->touchId || point.state() != Qt::TouchPointMoved)
- continue;
- if (d->canDrag(point.pos()))
- setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point));
- }
- }
- QQuickItemDelegate::touchEvent(event);
-}
-#endif
-
-QFont QQuickSwitchDelegate::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ListView);
-}
-
-QPalette QQuickSwitchDelegate::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ListView);
-}
-
-void QQuickSwitchDelegate::mirrorChange()
-{
- QQuickItemDelegate::mirrorChange();
- emit visualPositionChanged();
-}
-
-void QQuickSwitchDelegate::nextCheckState()
-{
- Q_D(QQuickSwitchDelegate);
- if (keepMouseGrab() || keepTouchGrab()) {
- d->toggle(d->position > 0.5);
- // the checked state might not change => force a position update to
- // avoid that the handle is left somewhere in the middle (QTBUG-57944)
- setPosition(d->checked ? 1.0 : 0.0);
- } else {
- QQuickItemDelegate::nextCheckState();
- }
-}
-
-void QQuickSwitchDelegate::buttonChange(ButtonChange change)
-{
- Q_D(QQuickSwitchDelegate);
- if (change == ButtonCheckedChange)
- setPosition(d->checked ? 1.0 : 0.0);
- else
- QQuickAbstractButton::buttonChange(change);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickswitchdelegate_p.h b/src/quicktemplates2/qquickswitchdelegate_p.h
deleted file mode 100644
index 1fb35aea..00000000
--- a/src/quicktemplates2/qquickswitchdelegate_p.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKSWITCHDELEGATE_P_H
-#define QQUICKSWITCHDELEGATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickitemdelegate_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickSwitchDelegatePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwitchDelegate : public QQuickItemDelegate
-{
- Q_OBJECT
- Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL)
-
-public:
- explicit QQuickSwitchDelegate(QQuickItem *parent = nullptr);
-
- qreal position() const;
- void setPosition(qreal position);
-
- qreal visualPosition() const;
-
-Q_SIGNALS:
- void positionChanged();
- void visualPositionChanged();
-
-protected:
- void mouseMoveEvent(QMouseEvent *event) override;
-#if QT_CONFIG(quicktemplates2_multitouch)
- void touchEvent(QTouchEvent *event) override;
-#endif
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
- void mirrorChange() override;
-
- void nextCheckState() override;
- void buttonChange(ButtonChange change) override;
-
-private:
- Q_DISABLE_COPY(QQuickSwitchDelegate)
- Q_DECLARE_PRIVATE(QQuickSwitchDelegate)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickSwitchDelegate)
-
-#endif // QQUICKSWITCHDELEGATE_P_H
diff --git a/src/quicktemplates2/qquicktabbar.cpp b/src/quicktemplates2/qquicktabbar.cpp
deleted file mode 100644
index 5a439b4b..00000000
--- a/src/quicktemplates2/qquicktabbar.cpp
+++ /dev/null
@@ -1,484 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktabbar_p.h"
-#include "qquicktabbutton_p.h"
-#include "qquickcontainer_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype TabBar
- \inherits Container
- \instantiates QQuickTabBar
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-navigation
- \ingroup qtquickcontrols2-containers
- \ingroup qtquickcontrols2-focusscopes
- \brief Allows the user to switch between different views or subtasks.
-
- TabBar provides a tab-based navigation model.
-
- \image qtquickcontrols2-tabbar-wireframe.png
-
- TabBar is populated with TabButton controls, and can be used together with
- any layout or container control that provides \c currentIndex -property,
- such as \l StackLayout or \l SwipeView
-
- \snippet qtquickcontrols2-tabbar.qml 1
-
- As shown above, TabBar is typically populated with a static set of tab buttons
- that are defined inline as children of the tab bar. It is also possible to
- \l {Container::addItem()}{add}, \l {Container::insertItem()}{insert},
- \l {Container::moveItem()}{move}, and \l {Container::removeItem()}{remove}
- items dynamically at run time. The items can be accessed using
- \l {Container::}{itemAt()} or \l {Container::}{contentChildren}.
-
- \section2 Resizing Tabs
-
- By default, TabBar resizes its buttons to fit the width of the control.
- The available space is distributed equally to each button. The default
- resizing behavior can be overridden by setting an explicit width for the
- buttons.
-
- The following example illustrates how to keep each tab button at their
- implicit size instead of being resized to fit the tabbar:
-
- \borderedimage qtquickcontrols2-tabbar-explicit.png
-
- \snippet qtquickcontrols2-tabbar-explicit.qml 1
-
- \section2 Flickable Tabs
-
- If the total width of the buttons exceeds the available width of the tab bar,
- it automatically becomes flickable.
-
- \image qtquickcontrols2-tabbar-flickable.png
-
- \snippet qtquickcontrols2-tabbar-flickable.qml 1
-
- \sa TabButton, {Customizing TabBar}, {Navigation Controls}, {Container Controls},
- {Focus Management in Qt Quick Controls}
-*/
-
-class QQuickTabBarPrivate : public QQuickContainerPrivate
-{
- Q_DECLARE_PUBLIC(QQuickTabBar)
-
-public:
- void updateCurrentItem();
- void updateCurrentIndex();
- void updateLayout();
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
- bool updatingLayout = false;
- QQuickTabBar::Position position = QQuickTabBar::Header;
-};
-
-class QQuickTabBarAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickTabBarAttached)
-
-public:
- static QQuickTabBarAttachedPrivate *get(QQuickTabBarAttached *attached)
- {
- return attached->d_func();
- }
-
- void update(QQuickTabBar *tabBar, int index);
-
- int index = -1;
- QQuickTabBar *tabBar = nullptr;
-};
-
-void QQuickTabBarPrivate::updateCurrentItem()
-{
- QQuickTabButton *button = qobject_cast<QQuickTabButton *>(contentModel->get(currentIndex));
- if (button)
- button->setChecked(true);
-}
-
-void QQuickTabBarPrivate::updateCurrentIndex()
-{
- Q_Q(QQuickTabBar);
- QQuickTabButton *button = qobject_cast<QQuickTabButton *>(q->sender());
- if (button && button->isChecked())
- q->setCurrentIndex(contentModel->indexOf(button, nullptr));
-}
-
-void QQuickTabBarPrivate::updateLayout()
-{
- Q_Q(QQuickTabBar);
- const int count = contentModel->count();
- if (count <= 0 || !contentItem)
- return;
-
- qreal reservedWidth = 0;
- int resizableCount = 0;
-
- QVector<QQuickItem *> allItems;
- allItems.reserve(count);
-
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid)
- ++resizableCount;
- else
- reservedWidth += item->width();
- allItems += item;
- }
- }
-
- const qreal totalSpacing = qMax(0, count - 1) * spacing;
- const qreal itemWidth = (contentItem->width() - reservedWidth - totalSpacing) / qMax(1, resizableCount);
-
- updatingLayout = true;
- for (QQuickItem *item : qAsConst(allItems)) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid) {
- item->setWidth(itemWidth);
- p->widthValid = false;
- }
- if (!p->heightValid) {
- item->setHeight(contentHeight);
- p->heightValid = false;
- } else {
- item->setY((contentHeight - item->height()) / 2);
- }
- }
- updatingLayout = false;
-}
-
-qreal QQuickTabBarPrivate::getContentWidth() const
-{
- Q_Q(const QQuickTabBar);
- const int count = contentModel->count();
- qreal totalWidth = qMax(0, count - 1) * spacing;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid)
- totalWidth += item->implicitWidth();
- else
- totalWidth += item->width();
- }
- }
- return totalWidth;
-}
-
-qreal QQuickTabBarPrivate::getContentHeight() const
-{
- Q_Q(const QQuickTabBar);
- const int count = contentModel->count();
- qreal maxHeight = 0;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item)
- maxHeight = qMax(maxHeight, item->implicitHeight());
- }
- return maxHeight;
-}
-
-void QQuickTabBarPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- QQuickContainerPrivate::itemGeometryChanged(item, change, diff);
- if (!updatingLayout) {
- if (change.sizeChange())
- updateImplicitContentSize();
- updateLayout();
- }
-}
-
-void QQuickTabBarPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitWidthChanged(item);
- if (item != contentItem)
- updateImplicitContentWidth();
-}
-
-void QQuickTabBarPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitHeightChanged(item);
- if (item != contentItem)
- updateImplicitContentHeight();
-}
-
-QQuickTabBar::QQuickTabBar(QQuickItem *parent)
- : QQuickContainer(*(new QQuickTabBarPrivate), parent)
-{
- Q_D(QQuickTabBar);
- d->changeTypes |= QQuickItemPrivate::Geometry | QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight;
- setFlag(ItemIsFocusScope);
- QObjectPrivate::connect(this, &QQuickTabBar::currentIndexChanged, d, &QQuickTabBarPrivate::updateCurrentItem);
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::TabBar::position
-
- This property holds the position of the tab bar.
-
- \note If the tab bar is assigned as a header or footer of \l ApplicationWindow
- or \l Page, the appropriate position is set automatically.
-
- Possible values:
- \value TabBar.Header The tab bar is at the top, as a window or page header.
- \value TabBar.Footer The tab bar is at the bottom, as a window or page footer.
-
- The default value is style-specific.
-
- \sa ApplicationWindow::header, ApplicationWindow::footer, Page::header, Page::footer
-*/
-QQuickTabBar::Position QQuickTabBar::position() const
-{
- Q_D(const QQuickTabBar);
- return d->position;
-}
-
-void QQuickTabBar::setPosition(Position position)
-{
- Q_D(QQuickTabBar);
- if (d->position == position)
- return;
-
- d->position = position;
- emit positionChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty real QtQuick.Controls::TabBar::contentWidth
-
- This property holds the content width. It is used for calculating the total
- implicit width of the tab bar.
-
- \note This property is available in TabBar since QtQuick.Controls 2.2 (Qt 5.9),
- but it was promoted to the Container base type in QtQuick.Controls 2.5 (Qt 5.12).
-
- \sa Container::contentWidth
-*/
-
-/*!
- \since QtQuick.Controls 2.2 (Qt 5.9)
- \qmlproperty real QtQuick.Controls::TabBar::contentHeight
-
- This property holds the content height. It is used for calculating the total
- implicit height of the tab bar.
-
- \note This property is available in TabBar since QtQuick.Controls 2.2 (Qt 5.9),
- but it was promoted to the Container base type in QtQuick.Controls 2.5 (Qt 5.12).
-
- \sa Container::contentHeight
-*/
-
-QQuickTabBarAttached *QQuickTabBar::qmlAttachedProperties(QObject *object)
-{
- return new QQuickTabBarAttached(object);
-}
-
-void QQuickTabBar::updatePolish()
-{
- Q_D(QQuickTabBar);
- QQuickContainer::updatePolish();
- d->updateLayout();
-}
-
-void QQuickTabBar::componentComplete()
-{
- Q_D(QQuickTabBar);
- QQuickContainer::componentComplete();
- d->updateCurrentItem();
- d->updateLayout();
-}
-
-void QQuickTabBar::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickTabBar);
- QQuickContainer::geometryChanged(newGeometry, oldGeometry);
- d->updateLayout();
-}
-
-bool QQuickTabBar::isContent(QQuickItem *item) const
-{
- return qobject_cast<QQuickTabButton *>(item);
-}
-
-void QQuickTabBar::itemAdded(int index, QQuickItem *item)
-{
- Q_D(QQuickTabBar);
- Q_UNUSED(index);
- QQuickItemPrivate::get(item)->setCulled(true); // QTBUG-55129
- if (QQuickTabButton *button = qobject_cast<QQuickTabButton *>(item))
- QObjectPrivate::connect(button, &QQuickTabButton::checkedChanged, d, &QQuickTabBarPrivate::updateCurrentIndex);
- QQuickTabBarAttached *attached = qobject_cast<QQuickTabBarAttached *>(qmlAttachedPropertiesObject<QQuickTabBar>(item));
- if (attached)
- QQuickTabBarAttachedPrivate::get(attached)->update(this, index);
- d->updateImplicitContentSize();
- if (isComponentComplete())
- polish();
-}
-
-void QQuickTabBar::itemMoved(int index, QQuickItem *item)
-{
- QQuickTabBarAttached *attached = qobject_cast<QQuickTabBarAttached *>(qmlAttachedPropertiesObject<QQuickTabBar>(item));
- if (attached)
- QQuickTabBarAttachedPrivate::get(attached)->update(this, index);
-}
-
-void QQuickTabBar::itemRemoved(int index, QQuickItem *item)
-{
- Q_D(QQuickTabBar);
- Q_UNUSED(index);
- if (QQuickTabButton *button = qobject_cast<QQuickTabButton *>(item))
- QObjectPrivate::disconnect(button, &QQuickTabButton::checkedChanged, d, &QQuickTabBarPrivate::updateCurrentIndex);
- QQuickTabBarAttached *attached = qobject_cast<QQuickTabBarAttached *>(qmlAttachedPropertiesObject<QQuickTabBar>(item));
- if (attached)
- QQuickTabBarAttachedPrivate::get(attached)->update(nullptr, -1);
- d->updateImplicitContentSize();
- if (isComponentComplete())
- polish();
-}
-
-QFont QQuickTabBar::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::TabBar);
-}
-
-QPalette QQuickTabBar::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::TabBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickTabBar::accessibleRole() const
-{
- return QAccessible::PageTabList;
-}
-#endif
-
-/*!
- \qmlattachedproperty int QtQuick.Controls::TabBar::index
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \readonly
-
- This attached property holds the index of each tab button in the TabBar.
-
- It is attached to each tab button of the TabBar.
-*/
-
-/*!
- \qmlattachedproperty TabBar QtQuick.Controls::TabBar::tabBar
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \readonly
-
- This attached property holds the tab bar that manages this tab button.
-
- It is attached to each tab button of the TabBar.
-*/
-
-/*!
- \qmlattachedproperty enumeration QtQuick.Controls::TabBar::position
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \readonly
-
- This attached property holds the position of the tab bar.
-
- It is attached to each tab button of the TabBar.
-
- Possible values:
- \value TabBar.Header The tab bar is at the top, as a window or page header.
- \value TabBar.Footer The tab bar is at the bottom, as a window or page footer.
-*/
-
-void QQuickTabBarAttachedPrivate::update(QQuickTabBar *newTabBar, int newIndex)
-{
- Q_Q(QQuickTabBarAttached);
- const int oldIndex = index;
- const QQuickTabBar *oldTabBar = tabBar;
- const QQuickTabBar::Position oldPos = q->position();
-
- index = newIndex;
- tabBar = newTabBar;
-
- if (oldTabBar != newTabBar) {
- if (oldTabBar)
- QObject::disconnect(oldTabBar, &QQuickTabBar::positionChanged, q, &QQuickTabBarAttached::positionChanged);
- if (newTabBar)
- QObject::connect(newTabBar, &QQuickTabBar::positionChanged, q, &QQuickTabBarAttached::positionChanged);
- emit q->tabBarChanged();
- }
-
- if (oldIndex != newIndex)
- emit q->indexChanged();
- if (oldPos != q->position())
- emit q->positionChanged();
-}
-
-QQuickTabBarAttached::QQuickTabBarAttached(QObject *parent)
- : QObject(*(new QQuickTabBarAttachedPrivate), parent)
-{
-}
-
-int QQuickTabBarAttached::index() const
-{
- Q_D(const QQuickTabBarAttached);
- return d->index;
-}
-
-QQuickTabBar *QQuickTabBarAttached::tabBar() const
-{
- Q_D(const QQuickTabBarAttached);
- return d->tabBar;
-}
-
-QQuickTabBar::Position QQuickTabBarAttached::position() const
-{
- Q_D(const QQuickTabBarAttached);
- if (!d->tabBar)
- return QQuickTabBar::Header;
- return d->tabBar->position();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktabbar_p.h b/src/quicktemplates2/qquicktabbar_p.h
deleted file mode 100644
index 5367118c..00000000
--- a/src/quicktemplates2/qquicktabbar_p.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTABBAR_P_H
-#define QQUICKTABBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTabBarPrivate;
-class QQuickTabBarAttached;
-class QQuickTabBarAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTabBar : public QQuickContainer
-{
- Q_OBJECT
- Q_PROPERTY(Position position READ position WRITE setPosition NOTIFY positionChanged FINAL)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth RESET resetContentWidth NOTIFY contentWidthChanged FINAL REVISION 2) // re-declare QQuickContainer::contentWidth (REV 5)
- Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight RESET resetContentHeight NOTIFY contentHeightChanged FINAL REVISION 2) // re-declare QQuickContainer::contentHeight (REV 5)
-
-public:
- explicit QQuickTabBar(QQuickItem *parent = nullptr);
-
- enum Position {
- Header,
- Footer
- };
- Q_ENUM(Position)
-
- Position position() const;
- void setPosition(Position position);
-
- static QQuickTabBarAttached *qmlAttachedProperties(QObject *object);
-
-Q_SIGNALS:
- void positionChanged();
-
-protected:
- void updatePolish() override;
- void componentComplete() override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- bool isContent(QQuickItem *item) const override;
- void itemAdded(int index, QQuickItem *item) override;
- void itemMoved(int index, QQuickItem *item) override;
- void itemRemoved(int index, QQuickItem *item) override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickTabBar)
- Q_DECLARE_PRIVATE(QQuickTabBar)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTabBarAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int index READ index NOTIFY indexChanged FINAL)
- Q_PROPERTY(QQuickTabBar *tabBar READ tabBar NOTIFY tabBarChanged FINAL)
- Q_PROPERTY(QQuickTabBar::Position position READ position NOTIFY positionChanged FINAL)
-
-public:
- explicit QQuickTabBarAttached(QObject *parent = nullptr);
-
- int index() const;
- QQuickTabBar *tabBar() const;
- QQuickTabBar::Position position() const;
-
-Q_SIGNALS:
- void indexChanged();
- void tabBarChanged();
- void positionChanged();
-
-private:
- Q_DISABLE_COPY(QQuickTabBarAttached)
- Q_DECLARE_PRIVATE(QQuickTabBarAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickTabBar)
-QML_DECLARE_TYPEINFO(QQuickTabBar, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKTABBAR_P_H
diff --git a/src/quicktemplates2/qquicktabbutton.cpp b/src/quicktemplates2/qquicktabbutton.cpp
deleted file mode 100644
index 6e20b0da..00000000
--- a/src/quicktemplates2/qquicktabbutton.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktabbutton_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype TabButton
- \inherits AbstractButton
- \instantiates QQuickTabButton
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-navigation
- \brief Button with a look suitable for a TabBar.
-
- \image qtquickcontrols2-tabbutton.png
-
- TabButton is used in conjunction with a \l TabBar.
-
- \snippet qtquickcontrols2-tabbutton.qml 1
-
- TabButton inherits its API from AbstractButton. For instance, you can set
- \l {AbstractButton::text}{text}, and react to \l {AbstractButton::clicked}{clicks}
- using the AbstractButton API.
-
- \sa TabBar, {Customizing TabButton}, {Button Controls}, {Navigation Controls}
-*/
-
-QQuickTabButton::QQuickTabButton(QQuickItem *parent)
- : QQuickAbstractButton(parent)
-{
- setCheckable(true);
- setAutoExclusive(true);
-}
-
-QFont QQuickTabButton::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::TabBar);
-}
-
-QPalette QQuickTabButton::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::TabBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickTabButton::accessibleRole() const
-{
- return QAccessible::PageTab;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktabbutton_p.h b/src/quicktemplates2/qquicktabbutton_p.h
deleted file mode 100644
index 9ca9df9f..00000000
--- a/src/quicktemplates2/qquicktabbutton_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTABBUTTON_P_H
-#define QQUICKTABBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTabButton : public QQuickAbstractButton
-{
- Q_OBJECT
-
-public:
- explicit QQuickTabButton(QQuickItem *parent = nullptr);
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickTabButton)
-
-#endif // QQUICKTABBUTTON_P_H
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp
deleted file mode 100644
index f7b8969c..00000000
--- a/src/quicktemplates2/qquicktextarea.cpp
+++ /dev/null
@@ -1,1229 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktextarea_p.h"
-#include "qquicktextarea_p_p.h"
-#include "qquickcontrol_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickscrollview_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickclipnode_p.h>
-#include <QtQuick/private/qquickflickable_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtQuick/private/qquickaccessibleattached_p.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype TextArea
- \inherits TextEdit
- \instantiates QQuickTextArea
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \brief Multi-line text input area.
-
- TextArea is a multi-line text editor. TextArea extends TextEdit with
- a \l {placeholderText}{placeholder text} functionality, and adds decoration.
-
- \image qtquickcontrols2-textarea.png
-
- \code
- TextArea {
- placeholderText: qsTr("Enter description")
- }
- \endcode
-
- TextArea is not scrollable by itself. Especially on screen-size constrained
- platforms, it is often preferable to make entire application pages scrollable.
- On such a scrollable page, a non-scrollable TextArea might behave better than
- nested scrollable controls. Notice, however, that in such a scenario, the background
- decoration of the TextArea scrolls together with the rest of the scrollable
- content.
-
- \section2 Scrollable TextArea
-
- If you want to make a TextArea scrollable, for example, when it covers
- an entire application page, it can be placed inside a \l ScrollView.
-
- \image qtquickcontrols2-textarea-scrollable.png
-
- \snippet qtquickcontrols2-textarea-scrollable.qml 1
-
- A TextArea that is placed inside a \l ScrollView does the following:
-
- \list
- \li Sets the content size automatically
- \li Ensures that the background decoration stays in place
- \li Clips the content
- \endlist
-
- \section2 Tab Focus
-
- By default, pressing the tab key while TextArea has
- \l {Item::activeFocus}{active focus} results in a tab character being input
- into the control itself. To make tab pass active focus onto another item,
- use the attached \l KeyNavigation properties:
-
- \code
- TextField {
- id: textField
- }
-
- TextArea {
- KeyNavigation.priority: KeyNavigation.BeforeItem
- KeyNavigation.tab: textField
- }
- \endcode
-
- \sa TextField, {Customizing TextArea}, {Input Controls}
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::TextArea::pressAndHold(MouseEvent event)
-
- This signal is emitted when there is a long press (the delay depends on the platform plugin).
- The \l {MouseEvent}{event} parameter provides information about the press, including the x and y
- position of the press, and which button is pressed.
-
- \sa pressed, released
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::TextArea::pressed(MouseEvent event)
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This signal is emitted when the text area is pressed by the user.
- The \l {MouseEvent}{event} parameter provides information about the press,
- including the x and y position of the press, and which button is pressed.
-
- \sa released, pressAndHold
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::TextArea::released(MouseEvent event)
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This signal is emitted when the text area is released by the user.
- The \l {MouseEvent}{event} parameter provides information about the release,
- including the x and y position of the press, and which button is pressed.
-
- \sa pressed, pressAndHold
-*/
-
-QQuickTextAreaPrivate::QQuickTextAreaPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::installActivationObserver(this);
-#endif
-}
-
-QQuickTextAreaPrivate::~QQuickTextAreaPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::removeActivationObserver(this);
-#endif
-}
-
-void QQuickTextAreaPrivate::setTopInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextArea);
- const QMarginsF oldInset = getInset();
- extra.value().topInset = value;
- extra.value().hasTopInset = !reset;
- if (!qFuzzyCompare(oldInset.top(), value)) {
- emit q->topInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextAreaPrivate::setLeftInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextArea);
- const QMarginsF oldInset = getInset();
- extra.value().leftInset = value;
- extra.value().hasLeftInset = !reset;
- if (!qFuzzyCompare(oldInset.left(), value)) {
- emit q->leftInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextAreaPrivate::setRightInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextArea);
- const QMarginsF oldInset = getInset();
- extra.value().rightInset = value;
- extra.value().hasRightInset = !reset;
- if (!qFuzzyCompare(oldInset.right(), value)) {
- emit q->rightInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextAreaPrivate::setBottomInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextArea);
- const QMarginsF oldInset = getInset();
- extra.value().bottomInset = value;
- extra.value().hasBottomInset = !reset;
- if (!qFuzzyCompare(oldInset.bottom(), value)) {
- emit q->bottomInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextAreaPrivate::resizeBackground()
-{
- if (!background)
- return;
-
- resizingBackground = true;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (((!p->widthValid || !extra.isAllocated() || !extra->hasBackgroundWidth) && qFuzzyIsNull(background->x()))
- || (extra.isAllocated() && (extra->hasLeftInset || extra->hasRightInset))) {
- background->setX(getLeftInset());
- background->setWidth(width - getLeftInset() - getRightInset());
- }
- if (((!p->heightValid || !extra.isAllocated() || !extra->hasBackgroundHeight) && qFuzzyIsNull(background->y()))
- || (extra.isAllocated() && (extra->hasTopInset || extra->hasBottomInset))) {
- background->setY(getTopInset());
- background->setHeight(height - getTopInset() - getBottomInset());
- }
-
- resizingBackground = false;
-}
-
-/*!
- \internal
-
- Determine which font is implicitly imposed on this control by its ancestors
- and QGuiApplication::font, resolve this against its own font (attributes from
- the implicit font are copied over). Then propagate this font to this
- control's children.
-*/
-void QQuickTextAreaPrivate::resolveFont()
-{
- Q_Q(QQuickTextArea);
- inheritFont(QQuickControlPrivate::parentFont(q));
-}
-
-void QQuickTextAreaPrivate::inheritFont(const QFont &font)
-{
- QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
- parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
-
- const QFont defaultFont = QQuickTheme::font(QQuickTheme::TextArea);
- const QFont resolvedFont = parentFont.resolve(defaultFont);
-
- setFont_helper(resolvedFont);
-}
-
-/*!
- \internal
-
- Assign \a font to this control, and propagate it to all children.
-*/
-void QQuickTextAreaPrivate::updateFont(const QFont &font)
-{
- Q_Q(QQuickTextArea);
- QFont oldFont = sourceFont;
- q->QQuickTextEdit::setFont(font);
-
- QQuickControlPrivate::updateFontRecur(q, font);
-
- if (oldFont != font)
- emit q->fontChanged();
-}
-
-/*!
- \internal
-
- Determine which palette is implicitly imposed on this control by its ancestors
- and QGuiApplication::palette, resolve this against its own palette (attributes from
- the implicit palette are copied over). Then propagate this palette to this
- control's children.
-*/
-void QQuickTextAreaPrivate::resolvePalette()
-{
- Q_Q(QQuickTextArea);
- inheritPalette(QQuickControlPrivate::parentPalette(q));
-}
-
-void QQuickTextAreaPrivate::inheritPalette(const QPalette &palette)
-{
- QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
- parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
-
- const QPalette defaultPalette = QQuickTheme::palette(QQuickTheme::TextArea);
- const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
-
- setPalette_helper(resolvedPalette);
-}
-
-void QQuickTextAreaPrivate::updatePalette(const QPalette &palette)
-{
- Q_Q(QQuickTextArea);
- QPalette oldPalette = resolvedPalette;
- resolvedPalette = palette;
-
- QQuickControlPrivate::updatePaletteRecur(q, palette);
-
- if (oldPalette != palette)
- emit q->paletteChanged();
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickTextAreaPrivate::updateHoverEnabled(bool enabled, bool xplicit)
-{
- Q_Q(QQuickTextArea);
- if (!xplicit && explicitHoverEnabled)
- return;
-
- bool wasEnabled = q->isHoverEnabled();
- explicitHoverEnabled = xplicit;
- if (wasEnabled != enabled) {
- q->setAcceptHoverEvents(enabled);
- QQuickControlPrivate::updateHoverEnabledRecur(q, enabled);
- emit q->hoverEnabledChanged();
- }
-}
-#endif
-
-void QQuickTextAreaPrivate::attachFlickable(QQuickFlickable *item)
-{
- Q_Q(QQuickTextArea);
- flickable = item;
- q->setParentItem(flickable->contentItem());
-
- if (background)
- background->setParentItem(flickable);
-
- QObjectPrivate::connect(q, &QQuickTextArea::contentSizeChanged, this, &QQuickTextAreaPrivate::resizeFlickableContent);
- QObjectPrivate::connect(q, &QQuickTextEdit::cursorRectangleChanged, this, &QQuickTextAreaPrivate::ensureCursorVisible);
-
- QObject::connect(flickable, &QQuickFlickable::contentXChanged, q, &QQuickItem::update);
- QObject::connect(flickable, &QQuickFlickable::contentYChanged, q, &QQuickItem::update);
-
- QQuickItemPrivate::get(flickable)->updateOrAddGeometryChangeListener(this, QQuickGeometryChange::Size);
- QObjectPrivate::connect(flickable, &QQuickFlickable::contentWidthChanged, this, &QQuickTextAreaPrivate::resizeFlickableControl);
- QObjectPrivate::connect(flickable, &QQuickFlickable::contentHeightChanged, this, &QQuickTextAreaPrivate::resizeFlickableControl);
-
- resizeFlickableControl();
-}
-
-void QQuickTextAreaPrivate::detachFlickable()
-{
- Q_Q(QQuickTextArea);
- q->setParentItem(nullptr);
- if (background && background->parentItem() == flickable)
- background->setParentItem(q);
-
- QObjectPrivate::disconnect(q, &QQuickTextArea::contentSizeChanged, this, &QQuickTextAreaPrivate::resizeFlickableContent);
- QObjectPrivate::disconnect(q, &QQuickTextEdit::cursorRectangleChanged, this, &QQuickTextAreaPrivate::ensureCursorVisible);
-
- QObject::disconnect(flickable, &QQuickFlickable::contentXChanged, q, &QQuickItem::update);
- QObject::disconnect(flickable, &QQuickFlickable::contentYChanged, q, &QQuickItem::update);
-
- QQuickItemPrivate::get(flickable)->updateOrRemoveGeometryChangeListener(this, QQuickGeometryChange::Nothing);
- QObjectPrivate::disconnect(flickable, &QQuickFlickable::contentWidthChanged, this, &QQuickTextAreaPrivate::resizeFlickableControl);
- QObjectPrivate::disconnect(flickable, &QQuickFlickable::contentHeightChanged, this, &QQuickTextAreaPrivate::resizeFlickableControl);
-
- flickable = nullptr;
-
- resizeBackground();
-}
-
-void QQuickTextAreaPrivate::ensureCursorVisible()
-{
- Q_Q(QQuickTextArea);
- if (!flickable)
- return;
-
- const qreal cx = flickable->contentX();
- const qreal cy = flickable->contentY();
- const qreal w = flickable->width();
- const qreal h = flickable->height();
-
- const qreal tp = q->topPadding();
- const qreal lp = q->leftPadding();
- const QRectF cr = q->cursorRectangle();
-
- if (cr.left() <= cx + lp) {
- flickable->setContentX(cr.left() - lp);
- } else {
- // calculate the rectangle of the next character and ensure that
- // it's visible if it's on the same line with the cursor
- const qreal rp = q->rightPadding();
- const QRectF nr = q->cursorPosition() < q->length() ? q->positionToRectangle(q->cursorPosition() + 1) : QRectF();
- if (qFuzzyCompare(nr.y(), cr.y()) && nr.right() >= cx + lp + w - rp)
- flickable->setContentX(nr.right() - w + rp);
- else if (cr.right() >= cx + lp + w - rp)
- flickable->setContentX(cr.right() - w + rp);
- }
-
- if (cr.top() <= cy + tp) {
- flickable->setContentY(cr.top() - tp);
- } else {
- const qreal bp = q->bottomPadding();
- if (cr.bottom() >= cy + tp + h - bp)
- flickable->setContentY(cr.bottom() - h + bp);
- }
-}
-
-void QQuickTextAreaPrivate::resizeFlickableControl()
-{
- Q_Q(QQuickTextArea);
- if (!flickable)
- return;
-
- const qreal w = wrapMode == QQuickTextArea::NoWrap ? qMax(flickable->width(), flickable->contentWidth()) : flickable->width();
- const qreal h = qMax(flickable->height(), flickable->contentHeight());
- q->setSize(QSizeF(w, h));
-
- resizeBackground();
-}
-
-void QQuickTextAreaPrivate::resizeFlickableContent()
-{
- Q_Q(QQuickTextArea);
- if (!flickable)
- return;
-
- flickable->setContentWidth(q->contentWidth() + q->leftPadding() + q->rightPadding());
- flickable->setContentHeight(q->contentHeight() + q->topPadding() + q->bottomPadding());
-}
-
-void QQuickTextAreaPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(diff);
- if (!resizingBackground && item == background) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- // Only set hasBackgroundWidth/Height if it was a width/height change,
- // otherwise we're prevented from setting a width/height in the future.
- if (change.widthChange())
- extra.value().hasBackgroundWidth = p->widthValid;
- if (change.heightChange())
- extra.value().hasBackgroundHeight = p->heightValid;
- }
-
- if (flickable)
- resizeFlickableControl();
- else
- resizeBackground();
-}
-
-qreal QQuickTextAreaPrivate::getImplicitWidth() const
-{
- return QQuickItemPrivate::getImplicitWidth();
-}
-
-qreal QQuickTextAreaPrivate::getImplicitHeight() const
-{
- return QQuickItemPrivate::getImplicitHeight();
-}
-
-void QQuickTextAreaPrivate::implicitWidthChanged()
-{
- Q_Q(QQuickTextArea);
- QQuickItemPrivate::implicitWidthChanged();
- emit q->implicitWidthChanged3();
-}
-
-void QQuickTextAreaPrivate::implicitHeightChanged()
-{
- Q_Q(QQuickTextArea);
- QQuickItemPrivate::implicitHeightChanged();
- emit q->implicitHeightChanged3();
-}
-
-void QQuickTextAreaPrivate::readOnlyChanged(bool isReadOnly)
-{
- Q_UNUSED(isReadOnly);
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(q_func()))
- accessibleAttached->set_readOnly(isReadOnly);
-#endif
-#if QT_CONFIG(cursor)
- q_func()->setCursor(isReadOnly ? Qt::ArrowCursor : Qt::IBeamCursor);
-#endif
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickTextAreaPrivate::accessibilityActiveChanged(bool active)
-{
- if (!active)
- return;
-
- Q_Q(QQuickTextArea);
- QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
- Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
- accessibleAttached->set_readOnly(q->isReadOnly());
- accessibleAttached->setDescription(placeholder);
-}
-
-QAccessible::Role QQuickTextAreaPrivate::accessibleRole() const
-{
- return QAccessible::EditableText;
-}
-#endif
-
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
-void QQuickTextAreaPrivate::cancelBackground()
-{
- Q_Q(QQuickTextArea);
- quickCancelDeferred(q, backgroundName());
-}
-
-void QQuickTextAreaPrivate::executeBackground(bool complete)
-{
- Q_Q(QQuickTextArea);
- if (background.wasExecuted())
- return;
-
- if (!background || complete)
- quickBeginDeferred(q, backgroundName(), background);
- if (complete)
- quickCompleteDeferred(q, backgroundName(), background);
-}
-
-void QQuickTextAreaPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickTextArea);
- if (item == background)
- emit q->implicitBackgroundWidthChanged();
-}
-
-void QQuickTextAreaPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickTextArea);
- if (item == background)
- emit q->implicitBackgroundHeightChanged();
-}
-
-void QQuickTextAreaPrivate::itemDestroyed(QQuickItem *item)
-{
- Q_Q(QQuickTextArea);
- if (item == background) {
- background = nullptr;
- emit q->implicitBackgroundWidthChanged();
- emit q->implicitBackgroundHeightChanged();
- }
-}
-
-QQuickTextArea::QQuickTextArea(QQuickItem *parent)
- : QQuickTextEdit(*(new QQuickTextAreaPrivate), parent)
-{
- Q_D(QQuickTextArea);
- setActiveFocusOnTab(true);
- setAcceptedMouseButtons(Qt::AllButtons);
- d->setImplicitResizeEnabled(false);
- d->pressHandler.control = this;
-#if QT_CONFIG(cursor)
- setCursor(Qt::IBeamCursor);
-#endif
- QObjectPrivate::connect(this, &QQuickTextEdit::readOnlyChanged,
- d, &QQuickTextAreaPrivate::readOnlyChanged);
-}
-
-QQuickTextArea::~QQuickTextArea()
-{
- Q_D(QQuickTextArea);
- if (d->flickable)
- d->detachFlickable();
- QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
-}
-
-QQuickTextAreaAttached *QQuickTextArea::qmlAttachedProperties(QObject *object)
-{
- return new QQuickTextAreaAttached(object);
-}
-
-QFont QQuickTextArea::font() const
-{
- return QQuickTextEdit::font();
-}
-
-void QQuickTextArea::setFont(const QFont &font)
-{
- Q_D(QQuickTextArea);
- if (d->extra.value().requestedFont.resolve() == font.resolve() && d->extra.value().requestedFont == font)
- return;
-
- d->extra.value().requestedFont = font;
- d->resolveFont();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::TextArea::background
-
- This property holds the background item.
-
- \input qquickcontrol-background.qdocinc notes
-
- \sa {Customizing TextArea}
-*/
-QQuickItem *QQuickTextArea::background() const
-{
- QQuickTextAreaPrivate *d = const_cast<QQuickTextAreaPrivate *>(d_func());
- if (!d->background)
- d->executeBackground();
- return d->background;
-}
-
-void QQuickTextArea::setBackground(QQuickItem *background)
-{
- Q_D(QQuickTextArea);
- if (d->background == background)
- return;
-
- if (!d->background.isExecuting())
- d->cancelBackground();
-
- const qreal oldImplicitBackgroundWidth = implicitBackgroundWidth();
- const qreal oldImplicitBackgroundHeight = implicitBackgroundHeight();
-
- if (d->extra.isAllocated()) {
- d->extra.value().hasBackgroundWidth = false;
- d->extra.value().hasBackgroundHeight = false;
- }
-
- QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- delete d->background;
- d->background = background;
-
- if (background) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (p->widthValid || p->heightValid) {
- d->extra.value().hasBackgroundWidth = p->widthValid;
- d->extra.value().hasBackgroundHeight = p->heightValid;
- }
- if (d->flickable)
- background->setParentItem(d->flickable);
- else
- background->setParentItem(this);
- if (qFuzzyIsNull(background->z()))
- background->setZ(-1);
- if (isComponentComplete())
- d->resizeBackground();
- QQuickControlPrivate::addImplicitSizeListener(background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- }
-
- if (!qFuzzyCompare(oldImplicitBackgroundWidth, implicitBackgroundWidth()))
- emit implicitBackgroundWidthChanged();
- if (!qFuzzyCompare(oldImplicitBackgroundHeight, implicitBackgroundHeight()))
- emit implicitBackgroundHeightChanged();
- if (!d->background.isExecuting())
- emit backgroundChanged();
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::TextArea::placeholderText
-
- This property holds the short hint that is displayed in the text area before
- the user enters a value.
-*/
-QString QQuickTextArea::placeholderText() const
-{
- Q_D(const QQuickTextArea);
- return d->placeholder;
-}
-
-void QQuickTextArea::setPlaceholderText(const QString &text)
-{
- Q_D(QQuickTextArea);
- if (d->placeholder == text)
- return;
-
- d->placeholder = text;
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this))
- accessibleAttached->setDescription(text);
-#endif
- emit placeholderTextChanged();
-}
-
-/*!
- \qmlproperty color QtQuick.Controls::TextArea::placeholderTextColor
- \since QtQuick.Controls 2.5 (Qt 5.12)
-
- This property holds the color of placeholderText.
-
- \sa placeholderText
-*/
-QColor QQuickTextArea::placeholderTextColor() const
-{
- Q_D(const QQuickTextArea);
- return d->placeholderColor;
-}
-
-void QQuickTextArea::setPlaceholderTextColor(const QColor &color)
-{
- Q_D(QQuickTextArea);
- if (d->placeholderColor == color)
- return;
-
- d->placeholderColor = color;
- emit placeholderTextColorChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::TextArea::focusReason
-
- \include qquickcontrol-focusreason.qdocinc
-*/
-Qt::FocusReason QQuickTextArea::focusReason() const
-{
- Q_D(const QQuickTextArea);
- return d->focusReason;
-}
-
-void QQuickTextArea::setFocusReason(Qt::FocusReason reason)
-{
- Q_D(QQuickTextArea);
- if (d->focusReason == reason)
- return;
-
- d->focusReason = reason;
- emit focusReasonChanged();
-}
-
-bool QQuickTextArea::contains(const QPointF &point) const
-{
- Q_D(const QQuickTextArea);
- if (d->flickable && !d->flickable->contains(d->flickable->mapFromItem(this, point)))
- return false;
- return QQuickTextEdit::contains(point);
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty bool QtQuick.Controls::TextArea::hovered
- \readonly
-
- This property holds whether the text area is hovered.
-
- \sa hoverEnabled
-*/
-bool QQuickTextArea::isHovered() const
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(const QQuickTextArea);
- return d->hovered;
-#else
- return false;
-#endif
-}
-
-void QQuickTextArea::setHovered(bool hovered)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickTextArea);
- if (hovered == d->hovered)
- return;
-
- d->hovered = hovered;
- emit hoveredChanged();
-#else
- Q_UNUSED(hovered);
-#endif
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty bool QtQuick.Controls::TextArea::hoverEnabled
-
- This property determines whether the text area accepts hover events. The default value is \c true.
-
- \sa hovered
-*/
-bool QQuickTextArea::isHoverEnabled() const
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(const QQuickTextArea);
- return d->hoverEnabled;
-#else
- return false;
-#endif
-}
-
-void QQuickTextArea::setHoverEnabled(bool enabled)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickTextArea);
- if (d->explicitHoverEnabled && enabled == d->hoverEnabled)
- return;
-
- d->updateHoverEnabled(enabled, true); // explicit=true
-#else
- Q_UNUSED(enabled);
-#endif
-}
-
-void QQuickTextArea::resetHoverEnabled()
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickTextArea);
- if (!d->explicitHoverEnabled)
- return;
-
- d->explicitHoverEnabled = false;
- d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false
-#endif
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty palette QtQuick.Controls::TextArea::palette
-
- This property holds the palette currently set for the text area.
-
- \sa Control::palette
-*/
-QPalette QQuickTextArea::palette() const
-{
- Q_D(const QQuickTextArea);
- QPalette palette = d->resolvedPalette;
- if (!isEnabled())
- palette.setCurrentColorGroup(QPalette::Disabled);
- return palette;
-}
-
-void QQuickTextArea::setPalette(const QPalette &palette)
-{
- Q_D(QQuickTextArea);
- if (d->extra.value().requestedPalette.resolve() == palette.resolve() && d->extra.value().requestedPalette == palette)
- return;
-
- d->extra.value().requestedPalette = palette;
- d->resolvePalette();
-}
-
-void QQuickTextArea::resetPalette()
-{
- setPalette(QPalette());
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextArea::implicitBackgroundWidth
- \readonly
-
- This property holds the implicit background width.
-
- The value is equal to \c {background ? background.implicitWidth : 0}.
-
- \sa implicitBackgroundHeight
-*/
-qreal QQuickTextArea::implicitBackgroundWidth() const
-{
- Q_D(const QQuickTextArea);
- if (!d->background)
- return 0;
- return d->background->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextArea::implicitBackgroundHeight
- \readonly
-
- This property holds the implicit background height.
-
- The value is equal to \c {background ? background.implicitHeight : 0}.
-
- \sa implicitBackgroundWidth
-*/
-qreal QQuickTextArea::implicitBackgroundHeight() const
-{
- Q_D(const QQuickTextArea);
- if (!d->background)
- return 0;
- return d->background->implicitHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextArea::topInset
-
- This property holds the top inset for the background.
-
- \sa {Control Layout}, bottomInset
-*/
-qreal QQuickTextArea::topInset() const
-{
- Q_D(const QQuickTextArea);
- return d->getTopInset();
-}
-
-void QQuickTextArea::setTopInset(qreal inset)
-{
- Q_D(QQuickTextArea);
- d->setTopInset(inset);
-}
-
-void QQuickTextArea::resetTopInset()
-{
- Q_D(QQuickTextArea);
- d->setTopInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextArea::leftInset
-
- This property holds the left inset for the background.
-
- \sa {Control Layout}, rightInset
-*/
-qreal QQuickTextArea::leftInset() const
-{
- Q_D(const QQuickTextArea);
- return d->getLeftInset();
-}
-
-void QQuickTextArea::setLeftInset(qreal inset)
-{
- Q_D(QQuickTextArea);
- d->setLeftInset(inset);
-}
-
-void QQuickTextArea::resetLeftInset()
-{
- Q_D(QQuickTextArea);
- d->setLeftInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextArea::rightInset
-
- This property holds the right inset for the background.
-
- \sa {Control Layout}, leftInset
-*/
-qreal QQuickTextArea::rightInset() const
-{
- Q_D(const QQuickTextArea);
- return d->getRightInset();
-}
-
-void QQuickTextArea::setRightInset(qreal inset)
-{
- Q_D(QQuickTextArea);
- d->setRightInset(inset);
-}
-
-void QQuickTextArea::resetRightInset()
-{
- Q_D(QQuickTextArea);
- d->setRightInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextArea::bottomInset
-
- This property holds the bottom inset for the background.
-
- \sa {Control Layout}, topInset
-*/
-qreal QQuickTextArea::bottomInset() const
-{
- Q_D(const QQuickTextArea);
- return d->getBottomInset();
-}
-
-void QQuickTextArea::setBottomInset(qreal inset)
-{
- Q_D(QQuickTextArea);
- d->setBottomInset(inset);
-}
-
-void QQuickTextArea::resetBottomInset()
-{
- Q_D(QQuickTextArea);
- d->setBottomInset(0, true);
-}
-
-void QQuickTextArea::classBegin()
-{
- Q_D(QQuickTextArea);
- QQuickTextEdit::classBegin();
- d->resolveFont();
- d->resolvePalette();
-}
-
-void QQuickTextArea::componentComplete()
-{
- Q_D(QQuickTextArea);
- d->executeBackground(true);
- QQuickTextEdit::componentComplete();
- d->resizeBackground();
-#if QT_CONFIG(quicktemplates2_hover)
- if (!d->explicitHoverEnabled)
- setAcceptHoverEvents(QQuickControlPrivate::calcHoverEnabled(d->parentItem));
-#endif
-#if QT_CONFIG(accessibility)
- if (QAccessible::isActive())
- d->accessibilityActiveChanged(true);
-#endif
-}
-
-void QQuickTextArea::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
-{
- Q_D(QQuickTextArea);
- QQuickTextEdit::itemChange(change, value);
- switch (change) {
- case ItemEnabledHasChanged:
- emit paletteChanged();
- break;
- case ItemSceneChange:
- case ItemParentHasChanged:
- if ((change == ItemParentHasChanged && value.item) || (change == ItemSceneChange && value.window)) {
- d->resolveFont();
- d->resolvePalette();
-#if QT_CONFIG(quicktemplates2_hover)
- if (!d->explicitHoverEnabled)
- d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false
-#endif
- if (change == ItemParentHasChanged) {
- QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(value.item->parentItem());
- if (flickable) {
- QQuickScrollView *scrollView = qobject_cast<QQuickScrollView *>(flickable->parentItem());
- if (scrollView)
- d->attachFlickable(flickable);
- }
- }
- }
- break;
- default:
- break;
- }
-}
-
-void QQuickTextArea::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickTextArea);
- QQuickTextEdit::geometryChanged(newGeometry, oldGeometry);
- d->resizeBackground();
-}
-
-void QQuickTextArea::insetChange(const QMarginsF &newInset, const QMarginsF &oldInset)
-{
- Q_D(QQuickTextArea);
- Q_UNUSED(newInset);
- Q_UNUSED(oldInset);
- d->resizeBackground();
-}
-
-QSGNode *QQuickTextArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
-{
- Q_D(QQuickTextArea);
- QQuickDefaultClipNode *clipNode = static_cast<QQuickDefaultClipNode *>(oldNode);
- if (!clipNode)
- clipNode = new QQuickDefaultClipNode(QRectF());
-
- QQuickItem *clipper = this;
- if (d->flickable)
- clipper = d->flickable;
-
- const QRectF cr = clipper->clipRect().adjusted(leftPadding(), topPadding(), -rightPadding(), -bottomPadding());
- clipNode->setRect(!d->flickable ? cr : cr.translated(d->flickable->contentX(), d->flickable->contentY()));
- clipNode->update();
-
- QSGNode *textNode = QQuickTextEdit::updatePaintNode(clipNode->firstChild(), data);
- if (!textNode->parent())
- clipNode->appendChildNode(textNode);
-
- if (d->cursorItem) {
- QQuickDefaultClipNode *cursorNode = QQuickItemPrivate::get(d->cursorItem)->clipNode();
- if (cursorNode)
- cursorNode->setClipRect(d->cursorItem->mapRectFromItem(clipper, cr));
- }
-
- return clipNode;
-}
-
-void QQuickTextArea::focusInEvent(QFocusEvent *event)
-{
- QQuickTextEdit::focusInEvent(event);
- setFocusReason(event->reason());
-}
-
-void QQuickTextArea::focusOutEvent(QFocusEvent *event)
-{
- QQuickTextEdit::focusOutEvent(event);
- setFocusReason(event->reason());
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickTextArea::hoverEnterEvent(QHoverEvent *event)
-{
- Q_D(QQuickTextArea);
- QQuickTextEdit::hoverEnterEvent(event);
- setHovered(d->hoverEnabled);
- event->setAccepted(d->hoverEnabled);
-}
-
-void QQuickTextArea::hoverLeaveEvent(QHoverEvent *event)
-{
- Q_D(QQuickTextArea);
- QQuickTextEdit::hoverLeaveEvent(event);
- setHovered(false);
- event->setAccepted(d->hoverEnabled);
-}
-#endif
-
-void QQuickTextArea::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextArea);
- d->pressHandler.mousePressEvent(event);
- if (d->pressHandler.isActive()) {
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- // Calling the base class implementation will result in QQuickTextControl's
- // press handler being called, which ignores events that aren't Qt::LeftButton.
- const bool wasAccepted = event->isAccepted();
- QQuickTextEdit::mousePressEvent(event);
- if (wasAccepted)
- event->accept();
- }
-}
-
-void QQuickTextArea::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextArea);
- d->pressHandler.mouseMoveEvent(event);
- if (d->pressHandler.isActive()) {
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- QQuickTextEdit::mouseMoveEvent(event);
- }
-}
-
-void QQuickTextArea::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextArea);
- d->pressHandler.mouseReleaseEvent(event);
- if (d->pressHandler.isActive()) {
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- QQuickTextEdit::mouseReleaseEvent(event);
- }
-}
-
-void QQuickTextArea::mouseDoubleClickEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextArea);
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- QQuickTextEdit::mouseDoubleClickEvent(event);
-}
-
-void QQuickTextArea::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickTextArea);
- if (event->timerId() == d->pressHandler.timer.timerId())
- d->pressHandler.timerEvent(event);
- else
- QQuickTextEdit::timerEvent(event);
-}
-
-class QQuickTextAreaAttachedPrivate : public QObjectPrivate
-{
-public:
- QQuickTextArea *control = nullptr;
-};
-
-QQuickTextAreaAttached::QQuickTextAreaAttached(QObject *parent)
- : QObject(*(new QQuickTextAreaAttachedPrivate), parent)
-{
-}
-
-/*!
- \qmlattachedproperty TextArea QtQuick.Controls::TextArea::flickable
-
- This property attaches a text area to a \l Flickable.
-
- \sa ScrollBar, ScrollIndicator, {Scrollable TextArea}
-*/
-QQuickTextArea *QQuickTextAreaAttached::flickable() const
-{
- Q_D(const QQuickTextAreaAttached);
- return d->control;
-}
-
-void QQuickTextAreaAttached::setFlickable(QQuickTextArea *control)
-{
- Q_D(QQuickTextAreaAttached);
- QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(parent());
- if (!flickable) {
- qmlWarning(parent()) << "TextArea must be attached to a Flickable";
- return;
- }
-
- if (d->control == control)
- return;
-
- if (d->control)
- QQuickTextAreaPrivate::get(d->control)->detachFlickable();
-
- d->control = control;
-
- if (control)
- QQuickTextAreaPrivate::get(control)->attachFlickable(flickable);
-
- emit flickableChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktextarea_p.h b/src/quicktemplates2/qquicktextarea_p.h
deleted file mode 100644
index 15182a84..00000000
--- a/src/quicktemplates2/qquicktextarea_p.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTEXTAREA_P_H
-#define QQUICKTEXTAREA_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpalette.h>
-#include <QtQuick/private/qquicktextedit_p.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickText;
-class QQuickTextAreaPrivate;
-class QQuickTextAreaAttached;
-class QQuickMouseEvent;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTextArea : public QQuickTextEdit
-{
- Q_OBJECT
- Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged) // override
- Q_PROPERTY(qreal implicitWidth READ implicitWidth WRITE setImplicitWidth NOTIFY implicitWidthChanged3 FINAL)
- Q_PROPERTY(qreal implicitHeight READ implicitHeight WRITE setImplicitHeight NOTIFY implicitHeightChanged3 FINAL)
- Q_PROPERTY(QQuickItem *background READ background WRITE setBackground NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText NOTIFY placeholderTextChanged FINAL)
- Q_PROPERTY(Qt::FocusReason focusReason READ focusReason WRITE setFocusReason NOTIFY focusReasonChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool hovered READ isHovered NOTIFY hoveredChanged FINAL REVISION 1)
- Q_PROPERTY(bool hoverEnabled READ isHoverEnabled WRITE setHoverEnabled RESET resetHoverEnabled NOTIFY hoverEnabledChanged FINAL REVISION 1)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(QColor placeholderTextColor READ placeholderTextColor WRITE setPlaceholderTextColor NOTIFY placeholderTextColorChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundWidth READ implicitBackgroundWidth NOTIFY implicitBackgroundWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundHeight READ implicitBackgroundHeight NOTIFY implicitBackgroundHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal topInset READ topInset WRITE setTopInset RESET resetTopInset NOTIFY topInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal leftInset READ leftInset WRITE setLeftInset RESET resetLeftInset NOTIFY leftInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal rightInset READ rightInset WRITE setRightInset RESET resetRightInset NOTIFY rightInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal bottomInset READ bottomInset WRITE setBottomInset RESET resetBottomInset NOTIFY bottomInsetChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background")
-
-public:
- explicit QQuickTextArea(QQuickItem *parent = nullptr);
- ~QQuickTextArea();
-
- static QQuickTextAreaAttached *qmlAttachedProperties(QObject *object);
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QQuickItem *background() const;
- void setBackground(QQuickItem *background);
-
- QString placeholderText() const;
- void setPlaceholderText(const QString &text);
-
- Qt::FocusReason focusReason() const;
- void setFocusReason(Qt::FocusReason reason);
-
- bool contains(const QPointF &point) const override;
-
- // 2.1 (Qt 5.8)
- bool isHovered() const;
- void setHovered(bool hovered);
-
- bool isHoverEnabled() const;
- void setHoverEnabled(bool enabled);
- void resetHoverEnabled();
-
- // 2.3 (Qt 5.10)
- QPalette palette() const;
- void setPalette(const QPalette &palette);
- void resetPalette();
-
- // 2.5 (Qt 5.12)
- QColor placeholderTextColor() const;
- void setPlaceholderTextColor(const QColor &color);
-
- qreal implicitBackgroundWidth() const;
- qreal implicitBackgroundHeight() const;
-
- qreal topInset() const;
- void setTopInset(qreal inset);
- void resetTopInset();
-
- qreal leftInset() const;
- void setLeftInset(qreal inset);
- void resetLeftInset();
-
- qreal rightInset() const;
- void setRightInset(qreal inset);
- void resetRightInset();
-
- qreal bottomInset() const;
- void setBottomInset(qreal inset);
- void resetBottomInset();
-
-Q_SIGNALS:
- void fontChanged();
- void implicitWidthChanged3();
- void implicitHeightChanged3();
- void backgroundChanged();
- void placeholderTextChanged();
- void focusReasonChanged();
- void pressAndHold(QQuickMouseEvent *event);
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void pressed(QQuickMouseEvent *event);
- Q_REVISION(1) void released(QQuickMouseEvent *event);
- Q_REVISION(1) void hoveredChanged();
- Q_REVISION(1) void hoverEnabledChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void paletteChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void placeholderTextColorChanged();
- Q_REVISION(5) void implicitBackgroundWidthChanged();
- Q_REVISION(5) void implicitBackgroundHeightChanged();
- Q_REVISION(5) void topInsetChanged();
- Q_REVISION(5) void leftInsetChanged();
- Q_REVISION(5) void rightInsetChanged();
- Q_REVISION(5) void bottomInsetChanged();
-
-protected:
- friend struct QQuickPressHandler;
-
- void classBegin() override;
- void componentComplete() override;
-
- void itemChange(ItemChange change, const ItemChangeData &value) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- virtual void insetChange(const QMarginsF &newInset, const QMarginsF &oldInset);
-
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data) override;
-
- void focusInEvent(QFocusEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
-#if QT_CONFIG(quicktemplates2_hover)
- void hoverEnterEvent(QHoverEvent *event) override;
- void hoverLeaveEvent(QHoverEvent *event) override;
-#endif
- void mousePressEvent(QMouseEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
- void mouseDoubleClickEvent(QMouseEvent *event) override;
- void timerEvent(QTimerEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickTextArea)
- Q_DECLARE_PRIVATE(QQuickTextArea)
-};
-
-class QQuickTextAreaAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTextAreaAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickTextArea *flickable READ flickable WRITE setFlickable NOTIFY flickableChanged FINAL)
-
-public:
- explicit QQuickTextAreaAttached(QObject *parent);
-
- QQuickTextArea *flickable() const;
- void setFlickable(QQuickTextArea *control);
-
-Q_SIGNALS:
- void flickableChanged();
-
-private:
- Q_DISABLE_COPY(QQuickTextAreaAttached)
- Q_DECLARE_PRIVATE(QQuickTextAreaAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickTextArea)
-QML_DECLARE_TYPEINFO(QQuickTextArea, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKTEXTAREA_P_H
diff --git a/src/quicktemplates2/qquicktextarea_p_p.h b/src/quicktemplates2/qquicktextarea_p_p.h
deleted file mode 100644
index 613551e4..00000000
--- a/src/quicktemplates2/qquicktextarea_p_p.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTEXTAREA_P_P_H
-#define QQUICKTEXTAREA_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/private/qlazilyallocated_p.h>
-#include <QtQuick/private/qquicktextedit_p_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuickTemplates2/private/qquickpresshandler_p_p.h>
-#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
-
-#include <QtQuickTemplates2/private/qquicktextarea_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtGui/qaccessible.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFlickable;
-
-class QQuickTextAreaPrivate : public QQuickTextEditPrivate, public QQuickItemChangeListener
-#if QT_CONFIG(accessibility)
- , public QAccessible::ActivationObserver
-#endif
-{
- Q_DECLARE_PUBLIC(QQuickTextArea)
-
-public:
- QQuickTextAreaPrivate();
- ~QQuickTextAreaPrivate();
-
- static QQuickTextAreaPrivate *get(QQuickTextArea *item)
- {
- return static_cast<QQuickTextAreaPrivate *>(QObjectPrivate::get(item));
- }
-
- inline QMarginsF getInset() const { return QMarginsF(getLeftInset(), getTopInset(), getRightInset(), getBottomInset()); }
- inline qreal getTopInset() const { return extra.isAllocated() ? extra->topInset : 0; }
- inline qreal getLeftInset() const { return extra.isAllocated() ? extra->leftInset : 0; }
- inline qreal getRightInset() const { return extra.isAllocated() ? extra->rightInset : 0; }
- inline qreal getBottomInset() const { return extra.isAllocated() ? extra->bottomInset : 0; }
-
- void setTopInset(qreal value, bool reset = false);
- void setLeftInset(qreal value, bool reset = false);
- void setRightInset(qreal value, bool reset = false);
- void setBottomInset(qreal value, bool reset = false);
-
- void resizeBackground();
-
- void resolveFont();
- void inheritFont(const QFont &font);
- void updateFont(const QFont &font);
- inline void setFont_helper(const QFont &font) {
- if (sourceFont.resolve() == font.resolve() && sourceFont == font)
- return;
- updateFont(font);
- }
-
- void resolvePalette();
- void inheritPalette(const QPalette &palette);
- void updatePalette(const QPalette &palette);
- inline void setPalette_helper(const QPalette &palette) {
- if (resolvedPalette.resolve() == palette.resolve() && resolvedPalette == palette)
- return;
- updatePalette(palette);
- }
-
-#if QT_CONFIG(quicktemplates2_hover)
- void updateHoverEnabled(bool h, bool e);
-#endif
-
- void attachFlickable(QQuickFlickable *flickable);
- void detachFlickable();
- void ensureCursorVisible();
- void resizeFlickableControl();
- void resizeFlickableContent();
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
-
- qreal getImplicitWidth() const override;
- qreal getImplicitHeight() const override;
-
- void implicitWidthChanged() override;
- void implicitHeightChanged() override;
-
- void readOnlyChanged(bool isReadOnly);
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
- void cancelBackground();
- void executeBackground(bool complete = false);
-
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemDestroyed(QQuickItem *item) override;
-
-#if QT_CONFIG(quicktemplates2_hover)
- bool hovered = false;
- bool explicitHoverEnabled = false;
-#endif
-
- struct ExtraData {
- bool hasTopInset = false;
- bool hasLeftInset = false;
- bool hasRightInset = false;
- bool hasBottomInset = false;
- bool hasBackgroundWidth = false;
- bool hasBackgroundHeight = false;
- qreal topInset = 0;
- qreal leftInset = 0;
- qreal rightInset = 0;
- qreal bottomInset = 0;
- QFont requestedFont;
- QPalette requestedPalette;
- };
- QLazilyAllocated<ExtraData> extra;
-
- bool resizingBackground = false;
- QPalette resolvedPalette;
- QQuickDeferredPointer<QQuickItem> background;
- QString placeholder;
- QColor placeholderColor;
- Qt::FocusReason focusReason = Qt::OtherFocusReason;
- QQuickPressHandler pressHandler;
- QQuickFlickable *flickable = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTEXTAREA_P_P_H
diff --git a/src/quicktemplates2/qquicktextfield.cpp b/src/quicktemplates2/qquicktextfield.cpp
deleted file mode 100644
index 56ffc52f..00000000
--- a/src/quicktemplates2/qquicktextfield.cpp
+++ /dev/null
@@ -1,1017 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktextfield_p.h"
-#include "qquicktextfield_p_p.h"
-#include "qquickcontrol_p.h"
-#include "qquickcontrol_p_p.h"
-#include "qquickdeferredexecute_p_p.h"
-
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquicktextinput_p.h>
-#include <QtQuick/private/qquickclipnode_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtQuick/private/qquickaccessibleattached_p.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype TextField
- \inherits TextInput
- \instantiates QQuickTextField
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \brief Single-line text input field.
-
- TextField is a single line text editor. TextField extends TextInput with
- a \l {placeholderText}{placeholder text} functionality, and adds decoration.
-
- \table
- \row \li \image qtquickcontrols2-textfield-normal.png
- \li A text field in its normal state.
- \row \li \image qtquickcontrols2-textfield-focused.png
- \li A text field that has active focus.
- \row \li \image qtquickcontrols2-textfield-disabled.png
- \li A text field that is disabled.
- \endtable
-
- \code
- TextField {
- placeholderText: qsTr("Enter name")
- }
- \endcode
-
- \sa TextArea, {Customizing TextField}, {Input Controls}
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::TextField::pressAndHold(MouseEvent event)
-
- This signal is emitted when there is a long press (the delay depends on the platform plugin).
- The \l {MouseEvent}{event} parameter provides information about the press, including the x and y
- position of the press, and which button is pressed.
-
- \sa pressed, released
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::TextField::pressed(MouseEvent event)
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This signal is emitted when the text field is pressed by the user.
- The \l {MouseEvent}{event} parameter provides information about the press,
- including the x and y position of the press, and which button is pressed.
-
- \sa released, pressAndHold
-*/
-
-/*!
- \qmlsignal QtQuick.Controls::TextField::released(MouseEvent event)
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This signal is emitted when the text field is released by the user.
- The \l {MouseEvent}{event} parameter provides information about the release,
- including the x and y position of the press, and which button is pressed.
-
- \sa pressed, pressAndHold
-*/
-
-QQuickTextFieldPrivate::QQuickTextFieldPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::installActivationObserver(this);
-#endif
-}
-
-QQuickTextFieldPrivate::~QQuickTextFieldPrivate()
-{
-#if QT_CONFIG(accessibility)
- QAccessible::removeActivationObserver(this);
-#endif
-}
-
-void QQuickTextFieldPrivate::setTopInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextField);
- const QMarginsF oldInset = getInset();
- extra.value().topInset = value;
- extra.value().hasTopInset = !reset;
- if (!qFuzzyCompare(oldInset.top(), value)) {
- emit q->topInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextFieldPrivate::setLeftInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextField);
- const QMarginsF oldInset = getInset();
- extra.value().leftInset = value;
- extra.value().hasLeftInset = !reset;
- if (!qFuzzyCompare(oldInset.left(), value)) {
- emit q->leftInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextFieldPrivate::setRightInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextField);
- const QMarginsF oldInset = getInset();
- extra.value().rightInset = value;
- extra.value().hasRightInset = !reset;
- if (!qFuzzyCompare(oldInset.right(), value)) {
- emit q->rightInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextFieldPrivate::setBottomInset(qreal value, bool reset)
-{
- Q_Q(QQuickTextField);
- const QMarginsF oldInset = getInset();
- extra.value().bottomInset = value;
- extra.value().hasBottomInset = !reset;
- if (!qFuzzyCompare(oldInset.bottom(), value)) {
- emit q->bottomInsetChanged();
- q->insetChange(getInset(), oldInset);
- }
-}
-
-void QQuickTextFieldPrivate::resizeBackground()
-{
- if (!background)
- return;
-
- resizingBackground = true;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (((!p->widthValid || !extra.isAllocated() || !extra->hasBackgroundWidth) && qFuzzyIsNull(background->x()))
- || (extra.isAllocated() && (extra->hasLeftInset || extra->hasRightInset))) {
- const bool wasWidthValid = p->widthValid;
- background->setX(getLeftInset());
- background->setWidth(width - getLeftInset() - getRightInset());
- // If the user hadn't previously set the width, that shouldn't change when we set it for them.
- if (!wasWidthValid)
- p->widthValid = false;
- }
- if (((!p->heightValid || !extra.isAllocated() || !extra->hasBackgroundHeight) && qFuzzyIsNull(background->y()))
- || (extra.isAllocated() && (extra->hasTopInset || extra->hasBottomInset))) {
- const bool wasHeightValid = p->heightValid;
- background->setY(getTopInset());
- background->setHeight(height - getTopInset() - getBottomInset());
- if (!wasHeightValid)
- p->heightValid = false;
- }
-
- resizingBackground = false;
-}
-
-/*!
- \internal
-
- Determine which font is implicitly imposed on this control by its ancestors
- and QGuiApplication::font, resolve this against its own font (attributes from
- the implicit font are copied over). Then propagate this font to this
- control's children.
-*/
-void QQuickTextFieldPrivate::resolveFont()
-{
- Q_Q(QQuickTextField);
- inheritFont(QQuickControlPrivate::parentFont(q));
-}
-
-void QQuickTextFieldPrivate::inheritFont(const QFont &font)
-{
- QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
- parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
-
- const QFont defaultFont = QQuickTheme::font(QQuickTheme::TextField);
- const QFont resolvedFont = parentFont.resolve(defaultFont);
-
- setFont_helper(resolvedFont);
-}
-
-/*!
- \internal
-
- Assign \a font to this control, and propagate it to all children.
-*/
-void QQuickTextFieldPrivate::updateFont(const QFont &font)
-{
- Q_Q(QQuickTextField);
- QFont oldFont = sourceFont;
- q->QQuickTextInput::setFont(font);
-
- QQuickControlPrivate::updateFontRecur(q, font);
-
- if (oldFont != font)
- emit q->fontChanged();
-}
-
-/*!
- \internal
-
- Determine which palette is implicitly imposed on this control by its ancestors
- and QGuiApplication::palette, resolve this against its own palette (attributes from
- the implicit palette are copied over). Then propagate this palette to this
- control's children.
-*/
-void QQuickTextFieldPrivate::resolvePalette()
-{
- Q_Q(QQuickTextField);
- inheritPalette(QQuickControlPrivate::parentPalette(q));
-}
-
-void QQuickTextFieldPrivate::inheritPalette(const QPalette &palette)
-{
- QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
- parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
-
- const QPalette defaultPalette = QQuickTheme::palette(QQuickTheme::TextField);
- const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
-
- setPalette_helper(resolvedPalette);
-}
-
-void QQuickTextFieldPrivate::updatePalette(const QPalette &palette)
-{
- Q_Q(QQuickTextField);
- QPalette oldPalette = resolvedPalette;
- resolvedPalette = palette;
-
- QQuickControlPrivate::updatePaletteRecur(q, palette);
-
- if (oldPalette != palette)
- emit q->paletteChanged();
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickTextFieldPrivate::updateHoverEnabled(bool enabled, bool xplicit)
-{
- Q_Q(QQuickTextField);
- if (!xplicit && explicitHoverEnabled)
- return;
-
- bool wasEnabled = q->isHoverEnabled();
- explicitHoverEnabled = xplicit;
- if (wasEnabled != enabled) {
- q->setAcceptHoverEvents(enabled);
- QQuickControlPrivate::updateHoverEnabledRecur(q, enabled);
- emit q->hoverEnabledChanged();
- }
-}
-#endif
-
-qreal QQuickTextFieldPrivate::getImplicitWidth() const
-{
- return QQuickItemPrivate::getImplicitWidth();
-}
-
-qreal QQuickTextFieldPrivate::getImplicitHeight() const
-{
- return QQuickItemPrivate::getImplicitHeight();
-}
-
-void QQuickTextFieldPrivate::implicitWidthChanged()
-{
- Q_Q(QQuickTextField);
- QQuickItemPrivate::implicitWidthChanged();
- emit q->implicitWidthChanged3();
-}
-
-void QQuickTextFieldPrivate::implicitHeightChanged()
-{
- Q_Q(QQuickTextField);
- QQuickItemPrivate::implicitHeightChanged();
- emit q->implicitHeightChanged3();
-}
-
-void QQuickTextFieldPrivate::readOnlyChanged(bool isReadOnly)
-{
- Q_UNUSED(isReadOnly);
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(q_func()))
- accessibleAttached->set_readOnly(isReadOnly);
-#endif
-#if QT_CONFIG(cursor)
- q_func()->setCursor(isReadOnly ? Qt::ArrowCursor : Qt::IBeamCursor);
-#endif
-}
-
-void QQuickTextFieldPrivate::echoModeChanged(QQuickTextField::EchoMode echoMode)
-{
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(q_func()))
- accessibleAttached->set_passwordEdit((echoMode == QQuickTextField::Password || echoMode == QQuickTextField::PasswordEchoOnEdit) ? true : false);
-#else
- Q_UNUSED(echoMode)
-#endif
-}
-
-#if QT_CONFIG(accessibility)
-void QQuickTextFieldPrivate::accessibilityActiveChanged(bool active)
-{
- if (!active)
- return;
-
- Q_Q(QQuickTextField);
- QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
- Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
- accessibleAttached->set_readOnly(m_readOnly);
- accessibleAttached->set_passwordEdit((m_echoMode == QQuickTextField::Password || m_echoMode == QQuickTextField::PasswordEchoOnEdit) ? true : false);
- accessibleAttached->setDescription(placeholder);
-}
-
-QAccessible::Role QQuickTextFieldPrivate::accessibleRole() const
-{
- return QAccessible::EditableText;
-}
-#endif
-
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
-void QQuickTextFieldPrivate::cancelBackground()
-{
- Q_Q(QQuickTextField);
- quickCancelDeferred(q, backgroundName());
-}
-
-void QQuickTextFieldPrivate::executeBackground(bool complete)
-{
- Q_Q(QQuickTextField);
- if (background.wasExecuted())
- return;
-
- if (!background || complete)
- quickBeginDeferred(q, backgroundName(), background);
- if (complete)
- quickCompleteDeferred(q, backgroundName(), background);
-}
-
-void QQuickTextFieldPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- Q_UNUSED(diff);
- if (resizingBackground || item != background || !change.sizeChange())
- return;
-
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- // QTBUG-71875: only allocate the extra data if we have to.
- // resizeBackground() relies on the value of extra.isAllocated()
- // as part of its checks to see whether it should resize the background or not.
- if (p->widthValid || extra.isAllocated())
- extra.value().hasBackgroundWidth = p->widthValid;
- if (p->heightValid || extra.isAllocated())
- extra.value().hasBackgroundHeight = p->heightValid;
- resizeBackground();
-}
-
-void QQuickTextFieldPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- Q_Q(QQuickTextField);
- if (item == background)
- emit q->implicitBackgroundWidthChanged();
-}
-
-void QQuickTextFieldPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- Q_Q(QQuickTextField);
- if (item == background)
- emit q->implicitBackgroundHeightChanged();
-}
-
-void QQuickTextFieldPrivate::itemDestroyed(QQuickItem *item)
-{
- Q_Q(QQuickTextField);
- if (item == background) {
- background = nullptr;
- emit q->implicitBackgroundWidthChanged();
- emit q->implicitBackgroundHeightChanged();
- }
-}
-
-QQuickTextField::QQuickTextField(QQuickItem *parent)
- : QQuickTextInput(*(new QQuickTextFieldPrivate), parent)
-{
- Q_D(QQuickTextField);
- d->pressHandler.control = this;
- d->setImplicitResizeEnabled(false);
- setAcceptedMouseButtons(Qt::AllButtons);
- setActiveFocusOnTab(true);
-#if QT_CONFIG(cursor)
- setCursor(Qt::IBeamCursor);
-#endif
- QObjectPrivate::connect(this, &QQuickTextInput::readOnlyChanged, d, &QQuickTextFieldPrivate::readOnlyChanged);
- QObjectPrivate::connect(this, &QQuickTextInput::echoModeChanged, d, &QQuickTextFieldPrivate::echoModeChanged);
-}
-
-QQuickTextField::~QQuickTextField()
-{
- Q_D(QQuickTextField);
- QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
-}
-
-QFont QQuickTextField::font() const
-{
- return QQuickTextInput::font();
-}
-
-void QQuickTextField::setFont(const QFont &font)
-{
- Q_D(QQuickTextField);
- if (d->extra.value().requestedFont.resolve() == font.resolve() && d->extra.value().requestedFont == font)
- return;
-
- d->extra.value().requestedFont = font;
- d->resolveFont();
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::TextField::background
-
- This property holds the background item.
-
- \input qquickcontrol-background.qdocinc notes
-
- \sa {Customizing TextField}
-*/
-QQuickItem *QQuickTextField::background() const
-{
- QQuickTextFieldPrivate *d = const_cast<QQuickTextFieldPrivate *>(d_func());
- if (!d->background)
- d->executeBackground();
- return d->background;
-}
-
-void QQuickTextField::setBackground(QQuickItem *background)
-{
- Q_D(QQuickTextField);
- if (d->background == background)
- return;
-
- if (!d->background.isExecuting())
- d->cancelBackground();
-
- const qreal oldImplicitBackgroundWidth = implicitBackgroundWidth();
- const qreal oldImplicitBackgroundHeight = implicitBackgroundHeight();
-
- if (d->extra.isAllocated()) {
- d->extra.value().hasBackgroundWidth = false;
- d->extra.value().hasBackgroundHeight = false;
- }
-
- QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- delete d->background;
- d->background = background;
-
- if (background) {
- background->setParentItem(this);
- if (qFuzzyIsNull(background->z()))
- background->setZ(-1);
- QQuickItemPrivate *p = QQuickItemPrivate::get(background);
- if (p->widthValid || p->heightValid) {
- d->extra.value().hasBackgroundWidth = p->widthValid;
- d->extra.value().hasBackgroundHeight = p->heightValid;
- }
- if (isComponentComplete())
- d->resizeBackground();
- QQuickControlPrivate::addImplicitSizeListener(background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
- }
-
- if (!qFuzzyCompare(oldImplicitBackgroundWidth, implicitBackgroundWidth()))
- emit implicitBackgroundWidthChanged();
- if (!qFuzzyCompare(oldImplicitBackgroundHeight, implicitBackgroundHeight()))
- emit implicitBackgroundHeightChanged();
- if (!d->background.isExecuting())
- emit backgroundChanged();
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::TextField::placeholderText
-
- This property holds the hint that is displayed in the TextField before the user
- enters text.
-*/
-QString QQuickTextField::placeholderText() const
-{
- Q_D(const QQuickTextField);
- return d->placeholder;
-}
-
-void QQuickTextField::setPlaceholderText(const QString &text)
-{
- Q_D(QQuickTextField);
- if (d->placeholder == text)
- return;
-
- d->placeholder = text;
-#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this))
- accessibleAttached->setDescription(text);
-#endif
- emit placeholderTextChanged();
-}
-
-/*!
- \qmlproperty color QtQuick.Controls::TextField::placeholderTextColor
- \since QtQuick.Controls 2.5 (Qt 5.12)
-
- This property holds the color of placeholderText.
-
- \sa placeholderText
-*/
-QColor QQuickTextField::placeholderTextColor() const
-{
- Q_D(const QQuickTextField);
- return d->placeholderColor;
-}
-
-void QQuickTextField::setPlaceholderTextColor(const QColor &color)
-{
- Q_D(QQuickTextField);
- if (d->placeholderColor == color)
- return;
-
- d->placeholderColor = color;
- emit placeholderTextColorChanged();
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::TextField::focusReason
-
- \include qquickcontrol-focusreason.qdocinc
-*/
-Qt::FocusReason QQuickTextField::focusReason() const
-{
- Q_D(const QQuickTextField);
- return d->focusReason;
-}
-
-void QQuickTextField::setFocusReason(Qt::FocusReason reason)
-{
- Q_D(QQuickTextField);
- if (d->focusReason == reason)
- return;
-
- d->focusReason = reason;
- emit focusReasonChanged();
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty bool QtQuick.Controls::TextField::hovered
- \readonly
-
- This property holds whether the text field is hovered.
-
- \sa hoverEnabled
-*/
-bool QQuickTextField::isHovered() const
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(const QQuickTextField);
- return d->hovered;
-#else
- return false;
-#endif
-}
-
-void QQuickTextField::setHovered(bool hovered)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickTextField);
- if (hovered == d->hovered)
- return;
-
- d->hovered = hovered;
- emit hoveredChanged();
-#else
- Q_UNUSED(hovered);
-#endif
-}
-
-/*!
- \since QtQuick.Controls 2.1 (Qt 5.8)
- \qmlproperty bool QtQuick.Controls::TextField::hoverEnabled
-
- This property determines whether the text field accepts hover events. The default value is \c false.
-
- \sa hovered
-*/
-bool QQuickTextField::isHoverEnabled() const
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(const QQuickTextField);
- return d->hoverEnabled;
-#else
- return false;
-#endif
-}
-
-void QQuickTextField::setHoverEnabled(bool enabled)
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickTextField);
- if (d->explicitHoverEnabled && enabled == d->hoverEnabled)
- return;
-
- d->updateHoverEnabled(enabled, true); // explicit=true
-#else
- Q_UNUSED(enabled);
-#endif
-}
-
-void QQuickTextField::resetHoverEnabled()
-{
-#if QT_CONFIG(quicktemplates2_hover)
- Q_D(QQuickTextField);
- if (!d->explicitHoverEnabled)
- return;
-
- d->explicitHoverEnabled = false;
- d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false
-#endif
-}
-
-/*!
- \since QtQuick.Controls 2.3 (Qt 5.10)
- \qmlproperty palette QtQuick.Controls::TextField::palette
-
- This property holds the palette currently set for the text field.
-
- \sa Control::palette
-*/
-QPalette QQuickTextField::palette() const
-{
- Q_D(const QQuickTextField);
- QPalette palette = d->resolvedPalette;
- if (!isEnabled())
- palette.setCurrentColorGroup(QPalette::Disabled);
- return palette;
-}
-
-void QQuickTextField::setPalette(const QPalette &palette)
-{
- Q_D(QQuickTextField);
- if (d->extra.value().requestedPalette.resolve() == palette.resolve() && d->extra.value().requestedPalette == palette)
- return;
-
- d->extra.value().requestedPalette = palette;
- d->resolvePalette();
-}
-
-void QQuickTextField::resetPalette()
-{
- setPalette(QPalette());
-}
-
-void QQuickTextField::classBegin()
-{
- Q_D(QQuickTextField);
- QQuickTextInput::classBegin();
- d->resolveFont();
- d->resolvePalette();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextField::implicitBackgroundWidth
- \readonly
-
- This property holds the implicit background width.
-
- The value is equal to \c {background ? background.implicitWidth : 0}.
-
- \sa implicitBackgroundHeight
-*/
-qreal QQuickTextField::implicitBackgroundWidth() const
-{
- Q_D(const QQuickTextField);
- if (!d->background)
- return 0;
- return d->background->implicitWidth();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextField::implicitBackgroundHeight
- \readonly
-
- This property holds the implicit background height.
-
- The value is equal to \c {background ? background.implicitHeight : 0}.
-
- \sa implicitBackgroundWidth
-*/
-qreal QQuickTextField::implicitBackgroundHeight() const
-{
- Q_D(const QQuickTextField);
- if (!d->background)
- return 0;
- return d->background->implicitHeight();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextField::topInset
-
- This property holds the top inset for the background.
-
- \sa {Control Layout}, bottomInset
-*/
-qreal QQuickTextField::topInset() const
-{
- Q_D(const QQuickTextField);
- return d->getTopInset();
-}
-
-void QQuickTextField::setTopInset(qreal inset)
-{
- Q_D(QQuickTextField);
- d->setTopInset(inset);
-}
-
-void QQuickTextField::resetTopInset()
-{
- Q_D(QQuickTextField);
- d->setTopInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextField::leftInset
-
- This property holds the left inset for the background.
-
- \sa {Control Layout}, rightInset
-*/
-qreal QQuickTextField::leftInset() const
-{
- Q_D(const QQuickTextField);
- return d->getLeftInset();
-}
-
-void QQuickTextField::setLeftInset(qreal inset)
-{
- Q_D(QQuickTextField);
- d->setLeftInset(inset);
-}
-
-void QQuickTextField::resetLeftInset()
-{
- Q_D(QQuickTextField);
- d->setLeftInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextField::rightInset
-
- This property holds the right inset for the background.
-
- \sa {Control Layout}, leftInset
-*/
-qreal QQuickTextField::rightInset() const
-{
- Q_D(const QQuickTextField);
- return d->getRightInset();
-}
-
-void QQuickTextField::setRightInset(qreal inset)
-{
- Q_D(QQuickTextField);
- d->setRightInset(inset);
-}
-
-void QQuickTextField::resetRightInset()
-{
- Q_D(QQuickTextField);
- d->setRightInset(0, true);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlproperty real QtQuick.Controls::TextField::bottomInset
-
- This property holds the bottom inset for the background.
-
- \sa {Control Layout}, topInset
-*/
-qreal QQuickTextField::bottomInset() const
-{
- Q_D(const QQuickTextField);
- return d->getBottomInset();
-}
-
-void QQuickTextField::setBottomInset(qreal inset)
-{
- Q_D(QQuickTextField);
- d->setBottomInset(inset);
-}
-
-void QQuickTextField::resetBottomInset()
-{
- Q_D(QQuickTextField);
- d->setBottomInset(0, true);
-}
-
-void QQuickTextField::componentComplete()
-{
- Q_D(QQuickTextField);
- d->executeBackground(true);
- QQuickTextInput::componentComplete();
- d->resizeBackground();
-#if QT_CONFIG(quicktemplates2_hover)
- if (!d->explicitHoverEnabled)
- setAcceptHoverEvents(QQuickControlPrivate::calcHoverEnabled(d->parentItem));
-#endif
-#if QT_CONFIG(accessibility)
- if (QAccessible::isActive())
- d->accessibilityActiveChanged(true);
-#endif
-}
-
-void QQuickTextField::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
-{
- Q_D(QQuickTextField);
- QQuickTextInput::itemChange(change, value);
- switch (change) {
- case ItemEnabledHasChanged:
- emit paletteChanged();
- break;
- case ItemSceneChange:
- case ItemParentHasChanged:
- if ((change == ItemParentHasChanged && value.item) || (change == ItemSceneChange && value.window)) {
- d->resolveFont();
- d->resolvePalette();
-#if QT_CONFIG(quicktemplates2_hover)
- if (!d->explicitHoverEnabled)
- d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false
-#endif
- }
- break;
- default:
- break;
- }
-}
-
-void QQuickTextField::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickTextField);
- QQuickTextInput::geometryChanged(newGeometry, oldGeometry);
- d->resizeBackground();
-}
-
-void QQuickTextField::insetChange(const QMarginsF &newInset, const QMarginsF &oldInset)
-{
- Q_D(QQuickTextField);
- Q_UNUSED(newInset);
- Q_UNUSED(oldInset);
- d->resizeBackground();
-}
-QSGNode *QQuickTextField::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
-{
- QQuickDefaultClipNode *clipNode = static_cast<QQuickDefaultClipNode *>(oldNode);
- if (!clipNode)
- clipNode = new QQuickDefaultClipNode(QRectF());
-
- clipNode->setRect(clipRect().adjusted(leftPadding(), topPadding(), -rightPadding(), -bottomPadding()));
- clipNode->update();
-
- QSGNode *textNode = QQuickTextInput::updatePaintNode(clipNode->firstChild(), data);
- if (!textNode->parent())
- clipNode->appendChildNode(textNode);
-
- return clipNode;
-}
-
-void QQuickTextField::focusInEvent(QFocusEvent *event)
-{
- QQuickTextInput::focusInEvent(event);
- setFocusReason(event->reason());
-}
-
-void QQuickTextField::focusOutEvent(QFocusEvent *event)
-{
- QQuickTextInput::focusOutEvent(event);
- setFocusReason(event->reason());
-}
-
-#if QT_CONFIG(quicktemplates2_hover)
-void QQuickTextField::hoverEnterEvent(QHoverEvent *event)
-{
- Q_D(QQuickTextField);
- QQuickTextInput::hoverEnterEvent(event);
- setHovered(d->hoverEnabled);
- event->setAccepted(d->hoverEnabled);
-}
-
-void QQuickTextField::hoverLeaveEvent(QHoverEvent *event)
-{
- Q_D(QQuickTextField);
- QQuickTextInput::hoverLeaveEvent(event);
- setHovered(false);
- event->setAccepted(d->hoverEnabled);
-}
-#endif
-
-void QQuickTextField::mousePressEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextField);
- d->pressHandler.mousePressEvent(event);
- if (d->pressHandler.isActive()) {
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- if (event->buttons() != Qt::RightButton)
- QQuickTextInput::mousePressEvent(event);
- }
-}
-
-void QQuickTextField::mouseMoveEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextField);
- d->pressHandler.mouseMoveEvent(event);
- if (d->pressHandler.isActive()) {
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- if (event->buttons() != Qt::RightButton)
- QQuickTextInput::mouseMoveEvent(event);
- }
-}
-
-void QQuickTextField::mouseReleaseEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextField);
- d->pressHandler.mouseReleaseEvent(event);
- if (d->pressHandler.isActive()) {
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- if (event->buttons() != Qt::RightButton)
- QQuickTextInput::mouseReleaseEvent(event);
- }
-}
-
-void QQuickTextField::mouseDoubleClickEvent(QMouseEvent *event)
-{
- Q_D(QQuickTextField);
- if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
- d->pressHandler.clearDelayedMouseEvent();
- }
- if (event->buttons() != Qt::RightButton)
- QQuickTextInput::mouseDoubleClickEvent(event);
-}
-
-void QQuickTextField::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickTextField);
- if (event->timerId() == d->pressHandler.timer.timerId())
- d->pressHandler.timerEvent(event);
- else
- QQuickTextInput::timerEvent(event);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktextfield_p.h b/src/quicktemplates2/qquicktextfield_p.h
deleted file mode 100644
index ae2681d1..00000000
--- a/src/quicktemplates2/qquicktextfield_p.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTEXTFIELD_P_H
-#define QQUICKTEXTFIELD_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpalette.h>
-#include <QtQuick/private/qquicktextinput_p.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickText;
-class QQuickTextFieldPrivate;
-class QQuickMouseEvent;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTextField : public QQuickTextInput
-{
- Q_OBJECT
- Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged) // override
- Q_PROPERTY(qreal implicitWidth READ implicitWidth WRITE setImplicitWidth NOTIFY implicitWidthChanged3 FINAL)
- Q_PROPERTY(qreal implicitHeight READ implicitHeight WRITE setImplicitHeight NOTIFY implicitHeightChanged3 FINAL)
- Q_PROPERTY(QQuickItem *background READ background WRITE setBackground NOTIFY backgroundChanged FINAL)
- Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText NOTIFY placeholderTextChanged FINAL)
- Q_PROPERTY(Qt::FocusReason focusReason READ focusReason WRITE setFocusReason NOTIFY focusReasonChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool hovered READ isHovered NOTIFY hoveredChanged FINAL REVISION 1)
- Q_PROPERTY(bool hoverEnabled READ isHoverEnabled WRITE setHoverEnabled RESET resetHoverEnabled NOTIFY hoverEnabledChanged FINAL REVISION 1)
- // 2.3 (Qt 5.10)
- Q_PROPERTY(QPalette palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged FINAL REVISION 3)
- // 2.5 (Qt 5.12)
- Q_PROPERTY(QColor placeholderTextColor READ placeholderTextColor WRITE setPlaceholderTextColor NOTIFY placeholderTextColorChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundWidth READ implicitBackgroundWidth NOTIFY implicitBackgroundWidthChanged FINAL REVISION 5)
- Q_PROPERTY(qreal implicitBackgroundHeight READ implicitBackgroundHeight NOTIFY implicitBackgroundHeightChanged FINAL REVISION 5)
- Q_PROPERTY(qreal topInset READ topInset WRITE setTopInset RESET resetTopInset NOTIFY topInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal leftInset READ leftInset WRITE setLeftInset RESET resetLeftInset NOTIFY leftInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal rightInset READ rightInset WRITE setRightInset RESET resetRightInset NOTIFY rightInsetChanged FINAL REVISION 5)
- Q_PROPERTY(qreal bottomInset READ bottomInset WRITE setBottomInset RESET resetBottomInset NOTIFY bottomInsetChanged FINAL REVISION 5)
- Q_CLASSINFO("DeferredPropertyNames", "background")
-
-public:
- explicit QQuickTextField(QQuickItem *parent = nullptr);
- ~QQuickTextField();
-
- QFont font() const;
- void setFont(const QFont &font);
-
- QQuickItem *background() const;
- void setBackground(QQuickItem *background);
-
- QString placeholderText() const;
- void setPlaceholderText(const QString &text);
-
- Qt::FocusReason focusReason() const;
- void setFocusReason(Qt::FocusReason reason);
-
- // 2.1 (Qt 5.8)
- bool isHovered() const;
- void setHovered(bool hovered);
-
- bool isHoverEnabled() const;
- void setHoverEnabled(bool enabled);
- void resetHoverEnabled();
-
- // 2.3 (Qt 5.10)
- QPalette palette() const;
- void setPalette(const QPalette &palette);
- void resetPalette();
-
- // 2.5 (Qt 5.12)
- QColor placeholderTextColor() const;
- void setPlaceholderTextColor(const QColor &color);
-
- qreal implicitBackgroundWidth() const;
- qreal implicitBackgroundHeight() const;
-
- qreal topInset() const;
- void setTopInset(qreal inset);
- void resetTopInset();
-
- qreal leftInset() const;
- void setLeftInset(qreal inset);
- void resetLeftInset();
-
- qreal rightInset() const;
- void setRightInset(qreal inset);
- void resetRightInset();
-
- qreal bottomInset() const;
- void setBottomInset(qreal inset);
- void resetBottomInset();
-
-Q_SIGNALS:
- void fontChanged();
- void implicitWidthChanged3();
- void implicitHeightChanged3();
- void backgroundChanged();
- void placeholderTextChanged();
- void focusReasonChanged();
- void pressAndHold(QQuickMouseEvent *event);
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void pressed(QQuickMouseEvent *event);
- Q_REVISION(1) void released(QQuickMouseEvent *event);
- Q_REVISION(1) void hoveredChanged();
- Q_REVISION(1) void hoverEnabledChanged();
- // 2.3 (Qt 5.10)
- Q_REVISION(3) void paletteChanged();
- // 2.5 (Qt 5.12)
- Q_REVISION(5) void placeholderTextColorChanged();
- Q_REVISION(5) void implicitBackgroundWidthChanged();
- Q_REVISION(5) void implicitBackgroundHeightChanged();
- Q_REVISION(5) void topInsetChanged();
- Q_REVISION(5) void leftInsetChanged();
- Q_REVISION(5) void rightInsetChanged();
- Q_REVISION(5) void bottomInsetChanged();
-
-protected:
- friend struct QQuickPressHandler;
-
- void classBegin() override;
- void componentComplete() override;
-
- void itemChange(ItemChange change, const ItemChangeData &value) override;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- virtual void insetChange(const QMarginsF &newInset, const QMarginsF &oldInset);
-
- QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data) override;
-
- void focusInEvent(QFocusEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
-#if QT_CONFIG(quicktemplates2_hover)
- void hoverEnterEvent(QHoverEvent *event) override;
- void hoverLeaveEvent(QHoverEvent *event) override;
-#endif
- void mousePressEvent(QMouseEvent *event) override;
- void mouseMoveEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
- void mouseDoubleClickEvent(QMouseEvent *event) override;
- void timerEvent(QTimerEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickTextField)
- Q_DECLARE_PRIVATE(QQuickTextField)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickTextField)
-
-#endif // QQUICKTEXTFIELD_P_H
diff --git a/src/quicktemplates2/qquicktextfield_p_p.h b/src/quicktemplates2/qquicktextfield_p_p.h
deleted file mode 100644
index 3389d3dc..00000000
--- a/src/quicktemplates2/qquicktextfield_p_p.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTEXTFIELD_P_P_H
-#define QQUICKTEXTFIELD_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/private/qlazilyallocated_p.h>
-#include <QtQuick/private/qquicktextinput_p_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-#include <QtQuickTemplates2/private/qquickpresshandler_p_p.h>
-#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
-
-#include <QtQuickTemplates2/private/qquicktextfield_p.h>
-
-#if QT_CONFIG(accessibility)
-#include <QtGui/qaccessible.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTextFieldPrivate : public QQuickTextInputPrivate, public QQuickItemChangeListener
-#if QT_CONFIG(accessibility)
- , public QAccessible::ActivationObserver
-#endif
-{
- Q_DECLARE_PUBLIC(QQuickTextField)
-
-public:
- QQuickTextFieldPrivate();
- ~QQuickTextFieldPrivate();
-
- static QQuickTextFieldPrivate *get(QQuickTextField *item) {
- return static_cast<QQuickTextFieldPrivate *>(QObjectPrivate::get(item)); }
-
- inline QMarginsF getInset() const { return QMarginsF(getLeftInset(), getTopInset(), getRightInset(), getBottomInset()); }
- inline qreal getTopInset() const { return extra.isAllocated() ? extra->topInset : 0; }
- inline qreal getLeftInset() const { return extra.isAllocated() ? extra->leftInset : 0; }
- inline qreal getRightInset() const { return extra.isAllocated() ? extra->rightInset : 0; }
- inline qreal getBottomInset() const { return extra.isAllocated() ? extra->bottomInset : 0; }
-
- void setTopInset(qreal value, bool reset = false);
- void setLeftInset(qreal value, bool reset = false);
- void setRightInset(qreal value, bool reset = false);
- void setBottomInset(qreal value, bool reset = false);
-
- void resizeBackground();
-
- void resolveFont();
- void inheritFont(const QFont &font);
- void updateFont(const QFont &font);
- inline void setFont_helper(const QFont &font) {
- if (sourceFont.resolve() == font.resolve() && sourceFont == font)
- return;
- updateFont(font);
- }
-
- void resolvePalette();
- void inheritPalette(const QPalette &palette);
- void updatePalette(const QPalette &palette);
- inline void setPalette_helper(const QPalette &palette) {
- if (resolvedPalette.resolve() == palette.resolve() && resolvedPalette == palette)
- return;
- updatePalette(palette);
- }
-
-#if QT_CONFIG(quicktemplates2_hover)
- void updateHoverEnabled(bool h, bool e);
-#endif
-
- qreal getImplicitWidth() const override;
- qreal getImplicitHeight() const override;
-
- void implicitWidthChanged() override;
- void implicitHeightChanged() override;
-
- void readOnlyChanged(bool isReadOnly);
- void echoModeChanged(QQuickTextField::EchoMode echoMode);
-
-#if QT_CONFIG(accessibility)
- void accessibilityActiveChanged(bool active) override;
- QAccessible::Role accessibleRole() const override;
-#endif
-
- void cancelBackground();
- void executeBackground(bool complete = false);
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
- void itemDestroyed(QQuickItem *item) override;
-
-#if QT_CONFIG(quicktemplates2_hover)
- bool hovered = false;
- bool explicitHoverEnabled = false;
-#endif
-
- struct ExtraData {
- bool hasTopInset = false;
- bool hasLeftInset = false;
- bool hasRightInset = false;
- bool hasBottomInset = false;
- bool hasBackgroundWidth = false;
- bool hasBackgroundHeight = false;
- qreal topInset = 0;
- qreal leftInset = 0;
- qreal rightInset = 0;
- qreal bottomInset = 0;
- QFont requestedFont;
- QPalette requestedPalette;
- };
- QLazilyAllocated<ExtraData> extra;
-
- bool resizingBackground = false;
- QPalette resolvedPalette;
- QQuickDeferredPointer<QQuickItem> background;
- QString placeholder;
- QColor placeholderColor;
- Qt::FocusReason focusReason = Qt::OtherFocusReason;
- QQuickPressHandler pressHandler;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTEXTFIELD_P_P_H
diff --git a/src/quicktemplates2/qquicktheme.cpp b/src/quicktemplates2/qquicktheme.cpp
deleted file mode 100644
index af49ffc9..00000000
--- a/src/quicktemplates2/qquicktheme.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktheme_p.h"
-#include "qquicktheme_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/private/qguiapplication_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QScopedPointer<QQuickTheme> QQuickThemePrivate::instance;
-
-static void cleanup_instance()
-{
- QQuickThemePrivate::instance.reset();
-}
-
-static void install_instance_cleanuper()
-{
- qAddPostRoutine(cleanup_instance);
-}
-
-Q_COREAPP_STARTUP_FUNCTION(install_instance_cleanuper)
-
-static QPlatformTheme::Font platformFont(QQuickTheme::Scope scope)
-{
- switch (scope) {
- case QQuickTheme::Button: return QPlatformTheme::PushButtonFont;
- case QQuickTheme::CheckBox: return QPlatformTheme::CheckBoxFont;
- case QQuickTheme::ComboBox: return QPlatformTheme::ComboMenuItemFont;
- case QQuickTheme::GroupBox: return QPlatformTheme::GroupBoxTitleFont;
- case QQuickTheme::ItemView: return QPlatformTheme::ItemViewFont;
- case QQuickTheme::Label: return QPlatformTheme::LabelFont;
- case QQuickTheme::ListView: return QPlatformTheme::ListViewFont;
- case QQuickTheme::Menu: return QPlatformTheme::MenuFont;
- case QQuickTheme::MenuBar: return QPlatformTheme::MenuBarFont;
- case QQuickTheme::RadioButton: return QPlatformTheme::RadioButtonFont;
- case QQuickTheme::SpinBox: return QPlatformTheme::EditorFont;
- case QQuickTheme::Switch: return QPlatformTheme::CheckBoxFont;
- case QQuickTheme::TabBar: return QPlatformTheme::TabButtonFont;
- case QQuickTheme::TextArea: return QPlatformTheme::EditorFont;
- case QQuickTheme::TextField: return QPlatformTheme::EditorFont;
- case QQuickTheme::ToolBar: return QPlatformTheme::ToolButtonFont;
- case QQuickTheme::ToolTip: return QPlatformTheme::TipLabelFont;
- case QQuickTheme::Tumbler: return QPlatformTheme::ItemViewFont;
- default: return QPlatformTheme::SystemFont;
- }
-}
-
-static QPlatformTheme::Palette platformPalette(QQuickTheme::Scope scope)
-{
- switch (scope) {
- case QQuickTheme::Button: return QPlatformTheme::ButtonPalette;
- case QQuickTheme::CheckBox: return QPlatformTheme::CheckBoxPalette;
- case QQuickTheme::ComboBox: return QPlatformTheme::ComboBoxPalette;
- case QQuickTheme::GroupBox: return QPlatformTheme::GroupBoxPalette;
- case QQuickTheme::ItemView: return QPlatformTheme::ItemViewPalette;
- case QQuickTheme::Label: return QPlatformTheme::LabelPalette;
- case QQuickTheme::ListView: return QPlatformTheme::ItemViewPalette;
- case QQuickTheme::Menu: return QPlatformTheme::MenuPalette;
- case QQuickTheme::MenuBar: return QPlatformTheme::MenuBarPalette;
- case QQuickTheme::RadioButton: return QPlatformTheme::RadioButtonPalette;
- case QQuickTheme::SpinBox: return QPlatformTheme::TextLineEditPalette;
- case QQuickTheme::Switch: return QPlatformTheme::CheckBoxPalette;
- case QQuickTheme::TabBar: return QPlatformTheme::TabBarPalette;
- case QQuickTheme::TextArea: return QPlatformTheme::TextEditPalette;
- case QQuickTheme::TextField: return QPlatformTheme::TextLineEditPalette;
- case QQuickTheme::ToolBar: return QPlatformTheme::ToolButtonPalette;
- case QQuickTheme::ToolTip: return QPlatformTheme::ToolTipPalette;
- case QQuickTheme::Tumbler: return QPlatformTheme::ItemViewPalette;
- default: return QPlatformTheme::SystemPalette;
- }
-}
-
-QQuickTheme::QQuickTheme()
- : d_ptr(new QQuickThemePrivate)
-{
- d_ptr->q_ptr = this;
-}
-
-QQuickTheme::~QQuickTheme()
-{
-}
-
-QQuickTheme *QQuickTheme::instance()
-{
- return QQuickThemePrivate::instance.data();
-}
-
-QFont QQuickTheme::font(Scope scope)
-{
- const QFont *font = nullptr;
- if (QQuickTheme *theme = instance())
- font = QQuickThemePrivate::get(theme)->fonts[scope].data();
- else if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
- font = theme->font(platformFont(scope));
-
- if (font) {
- QFont f = *font;
- if (scope == System)
- f.resolve(0);
- return f;
- }
-
- if (scope != System)
- return QQuickTheme::font(System);
-
- return QFont();
-}
-
-QPalette QQuickTheme::palette(Scope scope)
-{
- const QPalette *palette = nullptr;
- if (QQuickTheme *theme = instance())
- palette = QQuickThemePrivate::get(theme)->palettes[scope].data();
- else if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
- palette = theme->palette(platformPalette(scope));
-
- if (palette) {
- QPalette f = *palette;
- if (scope == System)
- f.resolve(0);
- return f;
- }
-
- if (scope != System)
- return QQuickTheme::palette(System);
-
- return QPalette();
-}
-
-void QQuickTheme::setFont(Scope scope, const QFont &font)
-{
- Q_D(QQuickTheme);
- d->fonts[scope] = QSharedPointer<QFont>::create(d->defaultFont ? d->defaultFont->resolve(font) : font);
-}
-
-void QQuickTheme::setPalette(Scope scope, const QPalette &palette)
-{
- Q_D(QQuickTheme);
- d->palettes[scope] = QSharedPointer<QPalette>::create(d->defaultPalette ? d->defaultPalette->resolve(palette) : palette);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktheme_p.h b/src/quicktemplates2/qquicktheme_p.h
deleted file mode 100644
index d51cc5b6..00000000
--- a/src/quicktemplates2/qquicktheme_p.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTHEME_P_H
-#define QQUICKTHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtGui/qfont.h>
-#include <QtGui/qpalette.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickThemePrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTheme
-{
-public:
- QQuickTheme();
- ~QQuickTheme();
-
- static QQuickTheme *instance();
-
- enum Scope {
- System,
- Button,
- CheckBox,
- ComboBox,
- GroupBox,
- ItemView,
- Label,
- ListView,
- Menu,
- MenuBar,
- RadioButton,
- SpinBox,
- Switch,
- TabBar,
- TextArea,
- TextField,
- ToolBar,
- ToolTip,
- Tumbler
- };
-
- static QFont font(Scope scope);
- static QPalette palette(Scope scope);
-
- void setFont(Scope scope, const QFont &font);
- void setPalette(Scope scope, const QPalette &palette);
-
-private:
- Q_DISABLE_COPY(QQuickTheme)
- Q_DECLARE_PRIVATE(QQuickTheme)
- QScopedPointer<QQuickThemePrivate> d_ptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTHEME_P_H
diff --git a/src/quicktemplates2/qquicktheme_p_p.h b/src/quicktemplates2/qquicktheme_p_p.h
deleted file mode 100644
index c7421677..00000000
--- a/src/quicktemplates2/qquicktheme_p_p.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTHEME_P_P_H
-#define QQUICKTHEME_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquicktheme_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickThemePrivate
-{
- Q_DECLARE_PUBLIC(QQuickTheme)
-
-public:
- static QQuickThemePrivate *get(QQuickTheme *theme)
- {
- return theme->d_func();
- }
-
- static QScopedPointer<QQuickTheme> instance;
-
- static const int NScopes = QQuickTheme::Tumbler + 1;
-
- QScopedPointer<const QFont> defaultFont;
- QScopedPointer<const QPalette> defaultPalette;
- QSharedPointer<QFont> fonts[NScopes];
- QSharedPointer<QPalette> palettes[NScopes];
- QQuickTheme *q_ptr = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTHEME_P_P_H
diff --git a/src/quicktemplates2/qquicktoolbar.cpp b/src/quicktemplates2/qquicktoolbar.cpp
deleted file mode 100644
index 0abf0364..00000000
--- a/src/quicktemplates2/qquicktoolbar.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktoolbar_p.h"
-#include "qquickpane_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ToolBar
- \inherits Pane
- \instantiates QQuickToolBar
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-containers
- \brief Container for context-sensitive controls.
-
- ToolBar is a container of application-wide and context sensitive
- actions and controls, such as navigation buttons and search fields.
- ToolBar is commonly used as a \l {ApplicationWindow::header}{header}
- or a \l {ApplicationWindow::footer}{footer} of an \l ApplicationWindow.
-
- ToolBar does not provide a layout of its own, but requires you to
- position its contents, for instance by creating a \l RowLayout. If only
- a single item is used within the ToolBar, it will resize to fit the
- implicit size of its contained item. This makes it particularly suitable
- for use together with layouts.
-
- \image qtquickcontrols2-toolbar.png
-
- \code
- ApplicationWindow {
- visible:true
-
- header: ToolBar {
- RowLayout {
- anchors.fill: parent
- ToolButton {
- text: qsTr("‹")
- onClicked: stack.pop()
- }
- Label {
- text: "Title"
- elide: Label.ElideRight
- horizontalAlignment: Qt.AlignHCenter
- verticalAlignment: Qt.AlignVCenter
- Layout.fillWidth: true
- }
- ToolButton {
- text: qsTr("â‹®")
- onClicked: menu.open()
- }
- }
- }
-
- StackView {
- id: stack
- anchors.fill: parent
- }
- }
- \endcode
-
- \sa ApplicationWindow, ToolButton, {Customizing ToolBar}, {Container Controls}
-*/
-
-class QQuickToolBarPrivate : public QQuickPanePrivate
-{
-public:
- QQuickToolBar::Position position = QQuickToolBar::Header;
-};
-
-QQuickToolBar::QQuickToolBar(QQuickItem *parent)
- : QQuickPane(*(new QQuickToolBarPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::ToolBar::position
-
- This property holds the position of the toolbar.
-
- \note If the toolbar is assigned as a header or footer of \l ApplicationWindow
- or \l Page, the appropriate position is set automatically.
-
- Possible values:
- \value ToolBar.Header The toolbar is at the top, as a window or page header.
- \value ToolBar.Footer The toolbar is at the bottom, as a window or page footer.
-
- The default value is style-specific.
-
- \sa ApplicationWindow::header, ApplicationWindow::footer, Page::header, Page::footer
-*/
-QQuickToolBar::Position QQuickToolBar::position() const
-{
- Q_D(const QQuickToolBar);
- return d->position;
-}
-
-void QQuickToolBar::setPosition(Position position)
-{
- Q_D(QQuickToolBar);
- if (d->position == position)
- return;
-
- d->position = position;
- emit positionChanged();
-}
-
-QFont QQuickToolBar::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ToolBar);
-}
-
-QPalette QQuickToolBar::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ToolBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickToolBar::accessibleRole() const
-{
- return QAccessible::ToolBar;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktoolbar_p.h b/src/quicktemplates2/qquicktoolbar_p.h
deleted file mode 100644
index ef2ceb7e..00000000
--- a/src/quicktemplates2/qquicktoolbar_p.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTOOLBAR_P_H
-#define QQUICKTOOLBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpane_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickToolBarPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickToolBar : public QQuickPane
-{
- Q_OBJECT
- Q_PROPERTY(Position position READ position WRITE setPosition NOTIFY positionChanged FINAL)
-
-public:
- explicit QQuickToolBar(QQuickItem *parent = nullptr);
-
- enum Position {
- Header,
- Footer
- };
- Q_ENUM(Position)
-
- Position position() const;
- void setPosition(Position position);
-
-Q_SIGNALS:
- void positionChanged();
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickToolBar)
- Q_DECLARE_PRIVATE(QQuickToolBar)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickToolBar)
-
-#endif // QQUICKTOOLBAR_P_H
diff --git a/src/quicktemplates2/qquicktoolbutton.cpp b/src/quicktemplates2/qquicktoolbutton.cpp
deleted file mode 100644
index b613e69b..00000000
--- a/src/quicktemplates2/qquicktoolbutton.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktoolbutton_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtGui/qpa/qplatformtheme.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ToolButton
- \inherits Button
- \instantiates QQuickToolButton
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-buttons
- \brief Button with a look suitable for a ToolBar.
-
- ToolButton is functionally similar to \l Button, but provides a look that
- is more suitable within a \l ToolBar.
-
- \image qtquickcontrols2-toolbar.png
-
- \snippet qtquickcontrols2-toolbar.qml 1
-
- ToolButton inherits its API from AbstractButton. For instance, you can set
- \l {AbstractButton::text}{text}, display an \l {Icons in Qt Quick Controls}{icon},
- and react to \l {AbstractButton::clicked}{clicks} using the AbstractButton API.
-
- \sa ToolBar, {Customizing ToolButton}, {Button Controls}
-*/
-
-QQuickToolButton::QQuickToolButton(QQuickItem *parent)
- : QQuickButton(parent)
-{
-}
-
-QFont QQuickToolButton::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ToolBar);
-}
-
-QPalette QQuickToolButton::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ToolBar);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktoolbutton_p.h b/src/quicktemplates2/qquicktoolbutton_p.h
deleted file mode 100644
index 0e376f7b..00000000
--- a/src/quicktemplates2/qquicktoolbutton_p.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTOOLBUTTON_P_H
-#define QQUICKTOOLBUTTON_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickbutton_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickToolButton : public QQuickButton
-{
- Q_OBJECT
-
-public:
- explicit QQuickToolButton(QQuickItem *parent = nullptr);
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickToolButton)
-
-#endif // QQUICKTOOLBUTTON_P_H
diff --git a/src/quicktemplates2/qquicktoolseparator.cpp b/src/quicktemplates2/qquicktoolseparator.cpp
deleted file mode 100644
index 625e85e9..00000000
--- a/src/quicktemplates2/qquicktoolseparator.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktoolseparator_p.h"
-
-#include "qquickcontrol_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ToolSeparator
- \inherits Control
- \instantiates QQuickToolSeparator
- \inqmlmodule QtQuick.Controls
- \since 5.8
- \ingroup qtquickcontrols2-separators
- \brief Separates a group of items in a toolbar from adjacent items.
-
- ToolSeparator is used to visually distinguish between groups of items in a
- toolbar by separating them with a line. It can be used in horizontal or
- vertical toolbars by setting the \l orientation property to \c Qt.Vertical
- or \c Qt.Horizontal, respectively.
-
- \image qtquickcontrols2-toolseparator.png
-
- \snippet qtquickcontrols2-toolseparator.qml 1
-
- \sa {Customizing ToolSeparator}, {Separator Controls}
-*/
-
-class QQuickToolSeparatorPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickToolSeparator)
-
-public:
- Qt::Orientation orientation = Qt::Vertical;
-};
-
-QQuickToolSeparator::QQuickToolSeparator(QQuickItem *parent)
- : QQuickControl(*(new QQuickToolSeparatorPrivate), parent)
-{
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Controls::ToolSeparator::orientation
-
- This property holds the orientation of the tool separator.
-
- Possible values:
- \value Qt.Horizontal A horizontal separator is used in a vertical toolbar.
- \value Qt.Vertical A vertical separator is used in a horizontal toolbar. (default)
-*/
-Qt::Orientation QQuickToolSeparator::orientation() const
-{
- Q_D(const QQuickToolSeparator);
- return d->orientation;
-}
-
-void QQuickToolSeparator::setOrientation(Qt::Orientation orientation)
-{
- Q_D(QQuickToolSeparator);
- if (d->orientation == orientation)
- return;
-
- d->orientation = orientation;
- emit orientationChanged();
-}
-
-/*!
- \readonly
- \qmlproperty bool QtQuick.Controls::ToolSeparator::horizontal
-
- This property holds whether \l orientation is equal to \c Qt.Horizontal.
-
- It is useful for \l {Customizing ToolSeparator}{customizing ToolSeparator}.
-
- \sa orientation, vertical
-*/
-bool QQuickToolSeparator::isHorizontal() const
-{
- Q_D(const QQuickToolSeparator);
- return d->orientation == Qt::Horizontal;
-}
-
-/*!
- \readonly
- \qmlproperty bool QtQuick.Controls::ToolSeparator::vertical
-
- This property holds whether \l orientation is equal to \c Qt.Vertical.
-
- It is useful for \l {Customizing ToolSeparator}{customizing ToolSeparator}.
-
- \sa orientation, horizontal
-*/
-bool QQuickToolSeparator::isVertical() const
-{
- Q_D(const QQuickToolSeparator);
- return d->orientation == Qt::Vertical;
-}
-
-QFont QQuickToolSeparator::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ToolBar);
-}
-
-QPalette QQuickToolSeparator::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ToolBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickToolSeparator::accessibleRole() const
-{
- return QAccessible::Separator;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktoolseparator_p.h b/src/quicktemplates2/qquicktoolseparator_p.h
deleted file mode 100644
index c3c14b82..00000000
--- a/src/quicktemplates2/qquicktoolseparator_p.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTOOLSEPARATOR_P_H
-#define QQUICKTOOLSEPARATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickToolSeparatorPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickToolSeparator : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
- Q_PROPERTY(bool horizontal READ isHorizontal NOTIFY orientationChanged FINAL)
- Q_PROPERTY(bool vertical READ isVertical NOTIFY orientationChanged FINAL)
-
-public:
- explicit QQuickToolSeparator(QQuickItem *parent = nullptr);
-
- Qt::Orientation orientation() const;
- void setOrientation(Qt::Orientation orientation);
-
- bool isHorizontal() const;
- bool isVertical() const;
-
-Q_SIGNALS:
- void orientationChanged();
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickToolSeparator)
- Q_DECLARE_PRIVATE(QQuickToolSeparator)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickToolSeparator)
-
-#endif // QQUICKTOOLSEPARATOR_P_H
diff --git a/src/quicktemplates2/qquicktooltip.cpp b/src/quicktemplates2/qquicktooltip.cpp
deleted file mode 100644
index 0a36e0c7..00000000
--- a/src/quicktemplates2/qquicktooltip.cpp
+++ /dev/null
@@ -1,563 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktooltip_p.h"
-#include "qquickpopup_p_p.h"
-#include "qquickpopupitem_p_p.h"
-#include "qquickcontrol_p_p.h"
-
-#include <QtCore/qbasictimer.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQuick/qquickwindow.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype ToolTip
- \inherits Popup
- \instantiates QQuickToolTip
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-popups
- \brief Provides tool tips for any control.
-
- A tool tip is a short piece of text that informs the user of a control's
- function. It is typically placed above or below the parent control. The
- tip text can be any \l{Rich Text Processing}{rich text} formatted string.
-
- \image qtquickcontrols2-tooltip.png
-
- \section2 Attached Tool Tips
-
- The most straight-forward way to setup tool tips for controls is to
- specify \l text and \l {visible}{visibility} via attached properties.
- The following example illustrates this approach:
-
- \snippet qtquickcontrols2-tooltip.qml 1
-
- Under normal circumstances, there is only one tool tip visible at a time.
- In order to save resources, all items that use the ToolTip attached property
- share the same visual tool tip label instance. Even though the visuals are
- shared, \c text, \c timeout and \c delay are stored individually for each item
- that uses the respective attached property. However, multiple items cannot
- make the shared tool tip visible at the same time. The shared tool tip is only
- shown for the last item that made it visible. The position of the shared tool
- tip is determined by the framework.
-
- \section2 Delay and Timeout
-
- Tool tips are typically transient in a sense that they are shown as a
- result of a certain external event or user interaction, and they usually
- hide after a certain timeout. It is possible to control the delay when
- a tool tip is shown, and the timeout when it is hidden. This makes it
- possible to implement varying strategies for showing and hiding tool tips.
-
- For example, on touch screens, it is a common pattern to show a tool tip
- as a result of pressing and holding down a button. The following example
- demonstrates how to delay showing a tool tip until the press-and-hold
- interval is reached. In this example, the tool tip hides as soon as the
- button is released.
-
- \snippet qtquickcontrols2-tooltip-pressandhold.qml 1
-
- With pointer devices, however, it might be desired to show a tool tip as
- a result of hovering a button for a while. The following example presents
- how to show a tool tip after hovering a button for a second, and hide it
- after a timeout of five seconds.
-
- \snippet qtquickcontrols2-tooltip-hover.qml 1
-
- \section2 Custom Tool Tips
-
- Should one need more fine-grained control over the tool tip position, or
- multiple simultaneous tool tip instances are needed, it is also possible
- to create local tool tip instances. This way, it is possible to
- \l {Customizing ToolTip}{customize} the tool tip, and the whole \l Popup
- API is available. The following example presents a tool tip that presents
- the value of a slider when the handle is dragged.
-
- \image qtquickcontrols2-tooltip-slider.png
-
- \snippet qtquickcontrols2-tooltip-slider.qml 1
-
- \sa {Customizing ToolTip}, {Popup Controls}
-*/
-
-class QQuickToolTipPrivate : public QQuickPopupPrivate
-{
- Q_DECLARE_PUBLIC(QQuickToolTip)
-
-public:
- void startDelay();
- void stopDelay();
-
- void startTimeout();
- void stopTimeout();
-
- int delay = 0;
- int timeout = -1;
- QString text;
- QBasicTimer delayTimer;
- QBasicTimer timeoutTimer;
-};
-
-void QQuickToolTipPrivate::startDelay()
-{
- Q_Q(QQuickToolTip);
- if (delay > 0)
- delayTimer.start(delay, q);
-}
-
-void QQuickToolTipPrivate::stopDelay()
-{
- delayTimer.stop();
-}
-
-void QQuickToolTipPrivate::startTimeout()
-{
- Q_Q(QQuickToolTip);
- if (timeout > 0)
- timeoutTimer.start(timeout, q);
-}
-
-void QQuickToolTipPrivate::stopTimeout()
-{
- timeoutTimer.stop();
-}
-
-QQuickToolTip::QQuickToolTip(QQuickItem *parent)
- : QQuickPopup(*(new QQuickToolTipPrivate), parent)
-{
- Q_D(QQuickToolTip);
- d->allowVerticalFlip = true;
- d->allowHorizontalFlip = true;
- d->popupItem->setHoverEnabled(false); // QTBUG-63644
-}
-
-/*!
- \qmlproperty string QtQuick.Controls::ToolTip::text
-
- This property holds the text shown on the tool tip.
-*/
-QString QQuickToolTip::text() const
-{
- Q_D(const QQuickToolTip);
- return d->text;
-}
-
-void QQuickToolTip::setText(const QString &text)
-{
- Q_D(QQuickToolTip);
- if (d->text == text)
- return;
-
- d->text = text;
- setAccessibleName(text);
- emit textChanged();
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::ToolTip::delay
-
- This property holds the delay (milliseconds) after which the tool tip is
- shown. A tooltip with a negative delay is shown immediately. The default
- value is \c 0.
-
- \sa {Delay and Timeout}
-*/
-int QQuickToolTip::delay() const
-{
- Q_D(const QQuickToolTip);
- return d->delay;
-}
-
-void QQuickToolTip::setDelay(int delay)
-{
- Q_D(QQuickToolTip);
- if (d->delay == delay)
- return;
-
- d->delay = delay;
- emit delayChanged();
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::ToolTip::timeout
-
- This property holds the timeout (milliseconds) after which the tool tip is
- hidden. A tooltip with a negative timeout does not hide automatically. The
- default value is \c -1.
-
- \sa {Delay and Timeout}
-*/
-int QQuickToolTip::timeout() const
-{
- Q_D(const QQuickToolTip);
- return d->timeout;
-}
-
-void QQuickToolTip::setTimeout(int timeout)
-{
- Q_D(QQuickToolTip);
- if (d->timeout == timeout)
- return;
-
- d->timeout = timeout;
-
- if (timeout <= 0)
- d->stopTimeout();
- else if (isVisible())
- d->startTimeout();
-
- emit timeoutChanged();
-}
-
-void QQuickToolTip::setVisible(bool visible)
-{
- Q_D(QQuickToolTip);
- if (visible) {
- if (!d->visible && d->delay > 0) {
- d->startDelay();
- return;
- }
- } else {
- d->stopDelay();
- }
- QQuickPopup::setVisible(visible);
-}
-
-QQuickToolTipAttached *QQuickToolTip::qmlAttachedProperties(QObject *object)
-{
- QQuickItem *item = qobject_cast<QQuickItem *>(object);
- if (!item)
- qmlWarning(object) << "ToolTip must be attached to an Item";
-
- return new QQuickToolTipAttached(object);
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlmethod void QtQuick.Controls::ToolTip::show(string text, int timeout = -1)
-
- This method shows the tooltip with \a text and \a timeout (milliseconds).
-*/
-void QQuickToolTip::show(const QString &text, int ms)
-{
- if (ms >= 0)
- setTimeout(ms);
- setText(text);
- open();
-}
-
-/*!
- \since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlmethod void QtQuick.Controls::ToolTip::hide()
-
- This method hides the tooltip.
-*/
-void QQuickToolTip::hide()
-{
- close();
-}
-
-QFont QQuickToolTip::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::ToolTip);
-}
-
-QPalette QQuickToolTip::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::ToolTip);
-}
-
-void QQuickToolTip::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- Q_D(QQuickToolTip);
- QQuickPopup::itemChange(change, data);
- if (change == QQuickItem::ItemVisibleHasChanged) {
- if (data.boolValue)
- d->startTimeout();
- else
- d->stopTimeout();
-
- QQuickToolTipAttached *attached = qobject_cast<QQuickToolTipAttached *>(qmlAttachedPropertiesObject<QQuickToolTip>(d->parentItem, false));
- if (attached)
- emit attached->visibleChanged();
- }
-}
-
-void QQuickToolTip::timerEvent(QTimerEvent *event)
-{
- Q_D(QQuickToolTip);
- if (event->timerId() == d->timeoutTimer.timerId()) {
- d->stopTimeout();
- QQuickPopup::setVisible(false);
- return;
- }
- if (event->timerId() == d->delayTimer.timerId()) {
- d->stopDelay();
- QQuickPopup::setVisible(true);
- return;
- }
- QQuickPopup::timerEvent(event);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickToolTip::accessibleRole() const
-{
- return QAccessible::ToolTip;
-}
-
-void QQuickToolTip::accessibilityActiveChanged(bool active)
-{
- Q_D(QQuickToolTip);
- QQuickPopup::accessibilityActiveChanged(active);
-
- if (active)
- setAccessibleName(d->text);
-}
-#endif
-
-class QQuickToolTipAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickToolTipAttached)
-
-public:
- QQuickToolTip *instance(bool create) const;
-
- int delay = 0;
- int timeout = -1;
- QString text;
-};
-
-QQuickToolTip *QQuickToolTipAttachedPrivate::instance(bool create) const
-{
- QQmlEngine *engine = qmlEngine(parent);
- if (!engine)
- return nullptr;
-
- static const char *name = "_q_QQuickToolTip";
-
- QQuickToolTip *tip = engine->property(name).value<QQuickToolTip *>();
- if (!tip && create) {
- // TODO: a cleaner way to create the instance? QQml(Meta)Type?
- QQmlComponent component(engine);
- component.setData("import QtQuick.Controls 2.4; ToolTip { }", QUrl());
-
- QObject *object = component.create();
- if (object)
- object->setParent(engine);
-
- tip = qobject_cast<QQuickToolTip *>(object);
- if (!tip)
- delete object;
- else
- engine->setProperty(name, QVariant::fromValue(object));
- }
- return tip;
-}
-
-QQuickToolTipAttached::QQuickToolTipAttached(QObject *parent)
- : QObject(*(new QQuickToolTipAttachedPrivate), parent)
-{
-}
-
-/*!
- \qmlattachedproperty string QtQuick.Controls::ToolTip::text
-
- This attached property holds the text of the shared tool tip.
- The property can be attached to any item.
-
- \sa {Attached Tool Tips}
-*/
-QString QQuickToolTipAttached::text() const
-{
- Q_D(const QQuickToolTipAttached);
- return d->text;
-}
-
-void QQuickToolTipAttached::setText(const QString &text)
-{
- Q_D(QQuickToolTipAttached);
- if (d->text == text)
- return;
-
- d->text = text;
- emit textChanged();
-
- if (isVisible())
- d->instance(true)->setText(text);
-}
-
-/*!
- \qmlattachedproperty int QtQuick.Controls::ToolTip::delay
-
- This attached property holds the delay (milliseconds) of the shared tool tip.
- The property can be attached to any item.
-
- \sa {Attached Tool Tips}, {Delay and Timeout}
-*/
-int QQuickToolTipAttached::delay() const
-{
- Q_D(const QQuickToolTipAttached);
- return d->delay;
-}
-
-void QQuickToolTipAttached::setDelay(int delay)
-{
- Q_D(QQuickToolTipAttached);
- if (d->delay == delay)
- return;
-
- d->delay = delay;
- emit delayChanged();
-
- if (isVisible())
- d->instance(true)->setDelay(delay);
-}
-
-/*!
- \qmlattachedproperty int QtQuick.Controls::ToolTip::timeout
-
- This attached property holds the timeout (milliseconds) of the shared tool tip.
- The property can be attached to any item.
-
- \sa {Attached Tool Tips}, {Delay and Timeout}
-*/
-int QQuickToolTipAttached::timeout() const
-{
- Q_D(const QQuickToolTipAttached);
- return d->timeout;
-}
-
-void QQuickToolTipAttached::setTimeout(int timeout)
-{
- Q_D(QQuickToolTipAttached);
- if (d->timeout == timeout)
- return;
-
- d->timeout = timeout;
- emit timeoutChanged();
-
- if (isVisible())
- d->instance(true)->setTimeout(timeout);
-}
-
-/*!
- \qmlattachedproperty bool QtQuick.Controls::ToolTip::visible
-
- This attached property holds whether the shared tool tip is visible.
- The property can be attached to any item.
-
- \sa {Attached Tool Tips}
-*/
-bool QQuickToolTipAttached::isVisible() const
-{
- Q_D(const QQuickToolTipAttached);
- QQuickToolTip *tip = d->instance(false);
- if (!tip)
- return false;
-
- return tip->isVisible() && tip->parentItem() == parent();
-}
-
-void QQuickToolTipAttached::setVisible(bool visible)
-{
- Q_D(QQuickToolTipAttached);
- if (visible)
- show(d->text);
- else
- hide();
-}
-
-/*!
- \qmlattachedproperty ToolTip QtQuick.Controls::ToolTip::toolTip
-
- This attached property holds the shared tool tip instance. The property
- can be attached to any item.
-
- \sa {Attached Tool Tips}
-*/
-QQuickToolTip *QQuickToolTipAttached::toolTip() const
-{
- Q_D(const QQuickToolTipAttached);
- return d->instance(true);
-}
-
-/*!
- \qmlattachedmethod void QtQuick.Controls::ToolTip::show(string text, int timeout = -1)
-
- This attached method shows the shared tooltip with \a text and \a timeout (milliseconds).
- The method can be attached to any item.
-
- \sa {Attached Tool Tips}
-*/
-void QQuickToolTipAttached::show(const QString &text, int ms)
-{
- Q_D(QQuickToolTipAttached);
- QQuickToolTip *tip = d->instance(true);
- if (!tip)
- return;
-
- tip->resetWidth();
- tip->resetHeight();
- tip->setParentItem(qobject_cast<QQuickItem *>(parent()));
- tip->setDelay(d->delay);
- tip->setTimeout(ms >= 0 ? ms : d->timeout);
- tip->show(text);
-}
-
-/*!
- \qmlattachedmethod void QtQuick.Controls::ToolTip::hide()
-
- This attached method hides the shared tooltip. The method can be attached to any item.
-
- \sa {Attached Tool Tips}
-*/
-void QQuickToolTipAttached::hide()
-{
- Q_D(QQuickToolTipAttached);
- QQuickToolTip *tip = d->instance(false);
- if (!tip)
- return;
-
- tip->close();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquicktooltip_p.h b/src/quicktemplates2/qquicktooltip_p.h
deleted file mode 100644
index 432bdd8e..00000000
--- a/src/quicktemplates2/qquicktooltip_p.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTOOLTIP_P_H
-#define QQUICKTOOLTIP_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickToolTipPrivate;
-class QQuickToolTipAttached;
-class QQuickToolTipAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickToolTip : public QQuickPopup
-{
- Q_OBJECT
- Q_PROPERTY(int delay READ delay WRITE setDelay NOTIFY delayChanged FINAL)
- Q_PROPERTY(int timeout READ timeout WRITE setTimeout NOTIFY timeoutChanged FINAL)
- Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
-
-public:
- explicit QQuickToolTip(QQuickItem *parent = nullptr);
-
- QString text() const;
- void setText(const QString &text);
-
- int delay() const;
- void setDelay(int delay);
-
- int timeout() const;
- void setTimeout(int timeout);
-
- void setVisible(bool visible) override;
-
- static QQuickToolTipAttached *qmlAttachedProperties(QObject *object);
-
-Q_SIGNALS:
- void textChanged();
- void delayChanged();
- void timeoutChanged();
-
-public Q_SLOTS:
- Q_REVISION(5) void show(const QString &text, int ms = -1);
- Q_REVISION(5) void hide();
-
-protected:
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
- void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) override;
- void timerEvent(QTimerEvent *event) override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
- void accessibilityActiveChanged(bool active) override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickToolTip)
- Q_DECLARE_PRIVATE(QQuickToolTip)
-};
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickToolTipAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
- Q_PROPERTY(int delay READ delay WRITE setDelay NOTIFY delayChanged FINAL)
- Q_PROPERTY(int timeout READ timeout WRITE setTimeout NOTIFY timeoutChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(QQuickToolTip *toolTip READ toolTip CONSTANT FINAL)
-
-public:
- explicit QQuickToolTipAttached(QObject *parent = nullptr);
-
- QString text() const;
- void setText(const QString &text);
-
- int delay() const;
- void setDelay(int delay);
-
- int timeout() const;
- void setTimeout(int timeout);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- QQuickToolTip *toolTip() const;
-
-Q_SIGNALS:
- void textChanged();
- void delayChanged();
- void timeoutChanged();
- void visibleChanged();
-
-public Q_SLOTS:
- void show(const QString &text, int ms = -1);
- void hide();
-
-private:
- Q_DISABLE_COPY(QQuickToolTipAttached)
- Q_DECLARE_PRIVATE(QQuickToolTipAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickToolTip)
-QML_DECLARE_TYPEINFO(QQuickToolTip, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKTOOLTIP_P_H
diff --git a/src/quicktemplates2/qquicktumbler.cpp b/src/quicktemplates2/qquicktumbler.cpp
deleted file mode 100644
index 85c70b1b..00000000
--- a/src/quicktemplates2/qquicktumbler.cpp
+++ /dev/null
@@ -1,1045 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquicktumbler_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/private/qquickflickable_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQuickTemplates2/private/qquicktumbler_p_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcTumbler, "qt.quick.controls.tumbler")
-
-/*!
- \qmltype Tumbler
- \inherits Control
- \instantiates QQuickTumbler
- \inqmlmodule QtQuick.Controls
- \since 5.7
- \ingroup qtquickcontrols2-input
- \brief Spinnable wheel of items that can be selected.
-
- \image qtquickcontrols2-tumbler-wrap.gif
-
- \code
- Tumbler {
- model: 5
- // ...
- }
- \endcode
-
- Tumbler allows the user to select an option from a spinnable \e "wheel" of
- items. It is useful for when there are too many options to use, for
- example, a RadioButton, and too few options to require the use of an
- editable SpinBox. It is convenient in that it requires no keyboard usage
- and wraps around at each end when there are a large number of items.
-
- The API is similar to that of views like \l ListView and \l PathView; a
- \l model and \l delegate can be set, and the \l count and \l currentItem
- properties provide read-only access to information about the view. To
- position the view at a certain index, use \l positionViewAtIndex().
-
- Unlike views like \l PathView and \l ListView, however, there is always a
- current item (when the model isn't empty). This means that when \l count is
- equal to \c 0, \l currentIndex will be \c -1. In all other cases, it will
- be greater than or equal to \c 0.
-
- By default, Tumbler \l {wrap}{wraps} when it reaches the top and bottom, as
- long as there are more items in the model than there are visible items;
- that is, when \l count is greater than \l visibleItemCount:
-
- \snippet qtquickcontrols2-tumbler-timePicker.qml tumbler
-
- \sa {Customizing Tumbler}, {Input Controls}
-*/
-
-namespace {
- static inline qreal delegateHeight(const QQuickTumbler *tumbler)
- {
- return tumbler->availableHeight() / tumbler->visibleItemCount();
- }
-}
-
-/*
- Finds the contentItem of the view that is a child of the control's \a contentItem.
- The type is stored in \a type.
-*/
-QQuickItem *QQuickTumblerPrivate::determineViewType(QQuickItem *contentItem)
-{
- if (!contentItem) {
- resetViewData();
- return nullptr;
- }
-
- if (contentItem->inherits("QQuickPathView")) {
- view = contentItem;
- viewContentItem = contentItem;
- viewContentItemType = PathViewContentItem;
- viewOffset = 0;
-
- return contentItem;
- } else if (contentItem->inherits("QQuickListView")) {
- view = contentItem;
- viewContentItem = qobject_cast<QQuickFlickable*>(contentItem)->contentItem();
- viewContentItemType = ListViewContentItem;
- viewContentY = 0;
-
- return contentItem;
- } else {
- const auto childItems = contentItem->childItems();
- for (QQuickItem *childItem : childItems) {
- QQuickItem *item = determineViewType(childItem);
- if (item)
- return item;
- }
- }
-
- resetViewData();
- viewContentItemType = UnsupportedContentItemType;
- return nullptr;
-}
-
-void QQuickTumblerPrivate::resetViewData()
-{
- view = nullptr;
- viewContentItem = nullptr;
- if (viewContentItemType == PathViewContentItem)
- viewOffset = 0;
- else if (viewContentItemType == ListViewContentItem)
- viewContentY = 0;
- viewContentItemType = NoContentItem;
-}
-
-QList<QQuickItem *> QQuickTumblerPrivate::viewContentItemChildItems() const
-{
- if (!viewContentItem)
- return QList<QQuickItem *>();
-
- return viewContentItem->childItems();
-}
-
-QQuickTumblerPrivate *QQuickTumblerPrivate::get(QQuickTumbler *tumbler)
-{
- return tumbler->d_func();
-}
-
-void QQuickTumblerPrivate::_q_updateItemHeights()
-{
- if (ignoreSignals)
- return;
-
- // Can't use our own private padding members here, as the padding property might be set,
- // which doesn't affect them, only their getters.
- Q_Q(const QQuickTumbler);
- const qreal itemHeight = delegateHeight(q);
- const auto items = viewContentItemChildItems();
- for (QQuickItem *childItem : items)
- childItem->setHeight(itemHeight);
-}
-
-void QQuickTumblerPrivate::_q_updateItemWidths()
-{
- if (ignoreSignals)
- return;
-
- Q_Q(const QQuickTumbler);
- const qreal availableWidth = q->availableWidth();
- const auto items = viewContentItemChildItems();
- for (QQuickItem *childItem : items)
- childItem->setWidth(availableWidth);
-}
-
-void QQuickTumblerPrivate::_q_onViewCurrentIndexChanged()
-{
- Q_Q(QQuickTumbler);
- if (!view || ignoreCurrentIndexChanges || currentIndexSetDuringModelChange) {
- // If the user set currentIndex in the onModelChanged handler,
- // we have to respect that currentIndex by ignoring changes in the view
- // until the model has finished being set.
- qCDebug(lcTumbler).nospace() << "view currentIndex changed to "
- << (view ? view->property("currentIndex").toString() : QStringLiteral("unknown index (no view)"))
- << ", but we're ignoring it because one or more of the following conditions are true:"
- << "\n- !view: " << !view
- << "\n- ignoreCurrentIndexChanges: " << ignoreCurrentIndexChanges
- << "\n- currentIndexSetDuringModelChange: " << currentIndexSetDuringModelChange;
- return;
- }
-
- const int oldCurrentIndex = currentIndex;
- currentIndex = view->property("currentIndex").toInt();
-
- qCDebug(lcTumbler).nospace() << "view currentIndex changed to "
- << (view ? view->property("currentIndex").toString() : QStringLiteral("unknown index (no view)"))
- << ", our old currentIndex was " << oldCurrentIndex;
-
- if (oldCurrentIndex != currentIndex)
- emit q->currentIndexChanged();
-}
-
-void QQuickTumblerPrivate::_q_onViewCountChanged()
-{
- Q_Q(QQuickTumbler);
- qCDebug(lcTumbler) << "view count changed - ignoring signals?" << ignoreSignals;
- if (ignoreSignals)
- return;
-
- setCount(view->property("count").toInt());
-
- if (count > 0) {
- if (pendingCurrentIndex != -1) {
- // If there was an attempt to set currentIndex at creation, try to finish that attempt now.
- // componentComplete() is too early, because the count might only be known sometime after completion.
- setCurrentIndex(pendingCurrentIndex);
- // If we could successfully set the currentIndex, consider it done.
- // Otherwise, we'll try again later in updatePolish().
- if (currentIndex == pendingCurrentIndex)
- setPendingCurrentIndex(-1);
- else
- q->polish();
- } else if (currentIndex == -1) {
- // If new items were added and our currentIndex was -1, we must
- // enforce our rule of a non-negative currentIndex when count > 0.
- setCurrentIndex(0);
- }
- } else {
- setCurrentIndex(-1);
- }
-}
-
-void QQuickTumblerPrivate::_q_onViewOffsetChanged()
-{
- viewOffset = view->property("offset").toReal();
- calculateDisplacements();
-}
-
-void QQuickTumblerPrivate::_q_onViewContentYChanged()
-{
- viewContentY = view->property("contentY").toReal();
- calculateDisplacements();
-}
-
-void QQuickTumblerPrivate::calculateDisplacements()
-{
- const auto items = viewContentItemChildItems();
- for (QQuickItem *childItem : items) {
- QQuickTumblerAttached *attached = qobject_cast<QQuickTumblerAttached *>(qmlAttachedPropertiesObject<QQuickTumbler>(childItem, false));
- if (attached)
- QQuickTumblerAttachedPrivate::get(attached)->calculateDisplacement();
- }
-}
-
-void QQuickTumblerPrivate::itemChildAdded(QQuickItem *, QQuickItem *)
-{
- _q_updateItemWidths();
- _q_updateItemHeights();
-}
-
-void QQuickTumblerPrivate::itemChildRemoved(QQuickItem *, QQuickItem *)
-{
- _q_updateItemWidths();
- _q_updateItemHeights();
-}
-
-void QQuickTumblerPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- QQuickControlPrivate::itemGeometryChanged(item, change, diff);
- if (change.sizeChange())
- calculateDisplacements();
-}
-
-QQuickTumbler::QQuickTumbler(QQuickItem *parent)
- : QQuickControl(*(new QQuickTumblerPrivate), parent)
-{
- setActiveFocusOnTab(true);
-
- connect(this, SIGNAL(leftPaddingChanged()), this, SLOT(_q_updateItemWidths()));
- connect(this, SIGNAL(rightPaddingChanged()), this, SLOT(_q_updateItemWidths()));
- connect(this, SIGNAL(topPaddingChanged()), this, SLOT(_q_updateItemHeights()));
- connect(this, SIGNAL(bottomPaddingChanged()), this, SLOT(_q_updateItemHeights()));
-}
-
-QQuickTumbler::~QQuickTumbler()
-{
- Q_D(QQuickTumbler);
- // Ensure that the item change listener is removed.
- d->disconnectFromView();
-}
-
-/*!
- \qmlproperty variant QtQuick.Controls::Tumbler::model
-
- This property holds the model that provides data for this tumbler.
-*/
-QVariant QQuickTumbler::model() const
-{
- Q_D(const QQuickTumbler);
- return d->model;
-}
-
-void QQuickTumbler::setModel(const QVariant &model)
-{
- Q_D(QQuickTumbler);
- if (model == d->model)
- return;
-
- d->beginSetModel();
-
- d->model = model;
- emit modelChanged();
-
- d->endSetModel();
-
- d->currentIndexSetDuringModelChange = false;
-
- // Don't try to correct the currentIndex if count() isn't known yet.
- // We can check in setupViewData() instead.
- if (isComponentComplete() && d->view && count() == 0)
- d->setCurrentIndex(-1);
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::Tumbler::count
- \readonly
-
- This property holds the number of items in the model.
-*/
-int QQuickTumbler::count() const
-{
- Q_D(const QQuickTumbler);
- return d->count;
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::Tumbler::currentIndex
-
- This property holds the index of the current item.
-
- The value of this property is \c -1 when \l count is equal to \c 0. In all
- other cases, it will be greater than or equal to \c 0.
-
- \sa currentItem, positionViewAtIndex()
-*/
-int QQuickTumbler::currentIndex() const
-{
- Q_D(const QQuickTumbler);
- return d->currentIndex;
-}
-
-void QQuickTumbler::setCurrentIndex(int currentIndex)
-{
- Q_D(QQuickTumbler);
- if (d->modelBeingSet)
- d->currentIndexSetDuringModelChange = true;
- d->setCurrentIndex(currentIndex, QQuickTumblerPrivate::UserChange);
-}
-
-/*!
- \qmlproperty Item QtQuick.Controls::Tumbler::currentItem
- \readonly
-
- This property holds the item at the current index.
-
- \sa currentIndex, positionViewAtIndex()
-*/
-QQuickItem *QQuickTumbler::currentItem() const
-{
- Q_D(const QQuickTumbler);
- return d->view ? d->view->property("currentItem").value<QQuickItem*>() : nullptr;
-}
-
-/*!
- \qmlproperty Component QtQuick.Controls::Tumbler::delegate
-
- This property holds the delegate used to display each item.
-*/
-QQmlComponent *QQuickTumbler::delegate() const
-{
- Q_D(const QQuickTumbler);
- return d->delegate;
-}
-
-void QQuickTumbler::setDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickTumbler);
- if (delegate == d->delegate)
- return;
-
- d->delegate = delegate;
- emit delegateChanged();
-}
-
-/*!
- \qmlproperty int QtQuick.Controls::Tumbler::visibleItemCount
-
- This property holds the number of items visible in the tumbler. It must be
- an odd number, as the current item is always vertically centered.
-*/
-int QQuickTumbler::visibleItemCount() const
-{
- Q_D(const QQuickTumbler);
- return d->visibleItemCount;
-}
-
-void QQuickTumbler::setVisibleItemCount(int visibleItemCount)
-{
- Q_D(QQuickTumbler);
- if (visibleItemCount == d->visibleItemCount)
- return;
-
- d->visibleItemCount = visibleItemCount;
- d->_q_updateItemHeights();
- emit visibleItemCountChanged();
-}
-
-QQuickTumblerAttached *QQuickTumbler::qmlAttachedProperties(QObject *object)
-{
- return new QQuickTumblerAttached(object);
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Tumbler::wrap
- \since QtQuick.Controls 2.1 (Qt 5.8)
-
- This property determines whether or not the tumbler wraps around when it
- reaches the top or bottom.
-
- The default value is \c false when \l count is less than
- \l visibleItemCount, as it is simpler to interact with a non-wrapping Tumbler
- when there are only a few items. To override this behavior, explicitly set
- the value of this property. To return to the default behavior, set this
- property to \c undefined.
-*/
-bool QQuickTumbler::wrap() const
-{
- Q_D(const QQuickTumbler);
- return d->wrap;
-}
-
-void QQuickTumbler::setWrap(bool wrap)
-{
- Q_D(QQuickTumbler);
- d->setWrap(wrap, true);
-}
-
-void QQuickTumbler::resetWrap()
-{
- Q_D(QQuickTumbler);
- d->explicitWrap = false;
- d->setWrapBasedOnCount();
-}
-
-/*!
- \qmlproperty bool QtQuick.Controls::Tumbler::moving
- \since QtQuick.Controls 2.2 (Qt 5.9)
-
- This property describes whether the tumbler is currently moving, due to
- the user either dragging or flicking it.
-*/
-bool QQuickTumbler::isMoving() const
-{
- Q_D(const QQuickTumbler);
- return d->view && d->view->property("moving").toBool();
-}
-
-/*!
- \qmlmethod void QtQuick.Controls::Tumbler::positionViewAtIndex(int index, PositionMode mode)
- \since QtQuick.Controls 2.5 (Qt 5.12)
-
- Positions the view so that the \a index is at the position specified by \a mode.
-
- For example:
-
- \code
- positionViewAtIndex(10, Tumbler.Center)
- \endcode
-
- If \l wrap is true (the default), the modes available to \l {PathView}'s
- \l {PathView::}{positionViewAtIndex()} function
- are available, otherwise the modes available to \l {ListView}'s
- \l {ListView::}{positionViewAtIndex()} function
- are available.
-
- \note There is a known limitation that using \c Tumbler.Beginning when \l
- wrap is \c true will result in the wrong item being positioned at the top
- of view. As a workaround, pass \c {index - 1}.
-
- \sa currentIndex
-*/
-void QQuickTumbler::positionViewAtIndex(int index, QQuickTumbler::PositionMode mode)
-{
- Q_D(QQuickTumbler);
- if (!d->view) {
- d->warnAboutIncorrectContentItem();
- return;
- }
-
- QMetaObject::invokeMethod(d->view, "positionViewAtIndex", Q_ARG(int, index), Q_ARG(int, mode));
-}
-
-void QQuickTumbler::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- Q_D(QQuickTumbler);
-
- QQuickControl::geometryChanged(newGeometry, oldGeometry);
-
- d->_q_updateItemHeights();
-
- if (newGeometry.width() != oldGeometry.width())
- d->_q_updateItemWidths();
-}
-
-void QQuickTumbler::componentComplete()
-{
- Q_D(QQuickTumbler);
- qCDebug(lcTumbler) << "componentComplete()";
- QQuickControl::componentComplete();
-
- if (!d->view) {
- // Force the view to be created.
- qCDebug(lcTumbler) << "emitting wrapChanged() to force view to be created";
- emit wrapChanged();
- // Determine the type of view for attached properties, etc.
- d->setupViewData(d->contentItem);
- }
-
- // If there was no contentItem or it was of an unsupported type,
- // we don't have anything else to do.
- if (!d->view)
- return;
-
- // Update item heights after we've populated the model,
- // otherwise ignoreSignals will cause these functions to return early.
- d->_q_updateItemHeights();
- d->_q_updateItemWidths();
- d->_q_onViewCountChanged();
-
- qCDebug(lcTumbler) << "componentComplete() is done";
-}
-
-void QQuickTumbler::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
-{
- Q_D(QQuickTumbler);
-
- QQuickControl::contentItemChange(newItem, oldItem);
-
- if (oldItem)
- d->disconnectFromView();
-
- if (newItem) {
- // We wait until wrap is set to that we know which type of view to create.
- // If we try to set up the view too early, we'll issue warnings about it not existing.
- if (isComponentComplete()) {
- // Make sure we use the new content item and not the current one, as that won't
- // be changed until after contentItemChange() has finished.
- d->setupViewData(newItem);
-
- d->_q_updateItemHeights();
- d->_q_updateItemWidths();
- }
- }
-}
-
-void QQuickTumblerPrivate::disconnectFromView()
-{
- Q_Q(QQuickTumbler);
- if (!view) {
- // If a custom content item is declared, it can happen that
- // the original contentItem exists without the view etc. having been
- // determined yet, and then this is called when the custom content item
- // is eventually set.
- return;
- }
-
- QObject::disconnect(view, SIGNAL(currentIndexChanged()), q, SLOT(_q_onViewCurrentIndexChanged()));
- QObject::disconnect(view, SIGNAL(currentItemChanged()), q, SIGNAL(currentItemChanged()));
- QObject::disconnect(view, SIGNAL(countChanged()), q, SLOT(_q_onViewCountChanged()));
- QObject::disconnect(view, SIGNAL(movingChanged()), q, SIGNAL(movingChanged()));
-
- if (viewContentItemType == PathViewContentItem)
- QObject::disconnect(view, SIGNAL(offsetChanged()), q, SLOT(_q_onViewOffsetChanged()));
- else
- QObject::disconnect(view, SIGNAL(contentYChanged()), q, SLOT(_q_onViewContentYChanged()));
-
- QQuickItemPrivate *oldViewContentItemPrivate = QQuickItemPrivate::get(viewContentItem);
- oldViewContentItemPrivate->removeItemChangeListener(this, QQuickItemPrivate::Children | QQuickItemPrivate::Geometry);
-
- resetViewData();
-}
-
-void QQuickTumblerPrivate::setupViewData(QQuickItem *newControlContentItem)
-{
- // Don't do anything if we've already set up.
- if (view)
- return;
-
- determineViewType(newControlContentItem);
-
- if (viewContentItemType == QQuickTumblerPrivate::NoContentItem)
- return;
-
- if (viewContentItemType == QQuickTumblerPrivate::UnsupportedContentItemType) {
- warnAboutIncorrectContentItem();
- return;
- }
-
- Q_Q(QQuickTumbler);
- QObject::connect(view, SIGNAL(currentIndexChanged()), q, SLOT(_q_onViewCurrentIndexChanged()));
- QObject::connect(view, SIGNAL(currentItemChanged()), q, SIGNAL(currentItemChanged()));
- QObject::connect(view, SIGNAL(countChanged()), q, SLOT(_q_onViewCountChanged()));
- QObject::connect(view, SIGNAL(movingChanged()), q, SIGNAL(movingChanged()));
-
- if (viewContentItemType == PathViewContentItem) {
- QObject::connect(view, SIGNAL(offsetChanged()), q, SLOT(_q_onViewOffsetChanged()));
- _q_onViewOffsetChanged();
- } else {
- QObject::connect(view, SIGNAL(contentYChanged()), q, SLOT(_q_onViewContentYChanged()));
- _q_onViewContentYChanged();
- }
-
- QQuickItemPrivate *viewContentItemPrivate = QQuickItemPrivate::get(viewContentItem);
- viewContentItemPrivate->addItemChangeListener(this, QQuickItemPrivate::Children | QQuickItemPrivate::Geometry);
-
- // Sync the view's currentIndex with ours.
- syncCurrentIndex();
-
- calculateDisplacements();
-}
-
-void QQuickTumblerPrivate::warnAboutIncorrectContentItem()
-{
- Q_Q(QQuickTumbler);
- qmlWarning(q) << "Tumbler: contentItem must contain either a PathView or a ListView";
-}
-
-void QQuickTumblerPrivate::syncCurrentIndex()
-{
- const int actualViewIndex = view->property("currentIndex").toInt();
- Q_Q(QQuickTumbler);
-
- const bool isPendingCurrentIndex = pendingCurrentIndex != -1;
- const int indexToSet = isPendingCurrentIndex ? pendingCurrentIndex : currentIndex;
-
- // Nothing to do.
- if (actualViewIndex == indexToSet) {
- setPendingCurrentIndex(-1);
- return;
- }
-
- // PathView likes to use 0 as currentIndex for empty models, but we use -1 for that.
- if (q->count() == 0 && actualViewIndex == 0)
- return;
-
- ignoreCurrentIndexChanges = true;
- view->setProperty("currentIndex", QVariant(indexToSet));
- ignoreCurrentIndexChanges = false;
-
- if (view->property("currentIndex").toInt() == indexToSet)
- setPendingCurrentIndex(-1);
- else if (isPendingCurrentIndex)
- q->polish();
-}
-
-void QQuickTumblerPrivate::setPendingCurrentIndex(int index)
-{
- qCDebug(lcTumbler) << "setting pendingCurrentIndex to" << index;
- pendingCurrentIndex = index;
-}
-
-QString QQuickTumblerPrivate::propertyChangeReasonToString(
- QQuickTumblerPrivate::PropertyChangeReason changeReason)
-{
- return changeReason == UserChange ? QStringLiteral("UserChange") : QStringLiteral("InternalChange");
-}
-
-void QQuickTumblerPrivate::setCurrentIndex(int newCurrentIndex,
- QQuickTumblerPrivate::PropertyChangeReason changeReason)
-{
- Q_Q(QQuickTumbler);
- qCDebug(lcTumbler).nospace() << "setting currentIndex to " << newCurrentIndex
- << ", old currentIndex was " << currentIndex
- << ", changeReason is " << propertyChangeReasonToString(changeReason);
- if (newCurrentIndex == currentIndex || newCurrentIndex < -1)
- return;
-
- if (!q->isComponentComplete()) {
- // Views can't set currentIndex until they're ready.
- qCDebug(lcTumbler) << "we're not complete; setting pendingCurrentIndex instead";
- setPendingCurrentIndex(newCurrentIndex);
- return;
- }
-
- if (modelBeingSet && changeReason == UserChange) {
- // If modelBeingSet is true and the user set the currentIndex,
- // the model is in the process of being set and the user has set
- // the currentIndex in onModelChanged. We have to queue the currentIndex
- // change until we're ready.
- qCDebug(lcTumbler) << "a model is being set; setting pendingCurrentIndex instead";
- setPendingCurrentIndex(newCurrentIndex);
- return;
- }
-
- // -1 doesn't make sense for a non-empty Tumbler, because unlike
- // e.g. ListView, there's always one item selected.
- // Wait until the component has finished before enforcing this rule, though,
- // because the count might not be known yet.
- if ((count > 0 && newCurrentIndex == -1) || (newCurrentIndex >= count)) {
- return;
- }
-
- // The view might not have been created yet, as is the case
- // if you create a Tumbler component and pass e.g. { currentIndex: 2 }
- // to createObject().
- if (view) {
- // Only actually set our currentIndex if the view was able to set theirs.
- bool couldSet = false;
- if (count == 0 && newCurrentIndex == -1) {
- // PathView insists on using 0 as the currentIndex when there are no items.
- couldSet = true;
- } else {
- ignoreCurrentIndexChanges = true;
- ignoreSignals = true;
- view->setProperty("currentIndex", newCurrentIndex);
- ignoreSignals = false;
- ignoreCurrentIndexChanges = false;
-
- couldSet = view->property("currentIndex").toInt() == newCurrentIndex;
- }
-
- if (couldSet) {
- // The view's currentIndex might not have actually changed, but ours has,
- // and that's what user code sees.
- currentIndex = newCurrentIndex;
- emit q->currentIndexChanged();
- }
-
- qCDebug(lcTumbler) << "view's currentIndex is now" << view->property("currentIndex").toInt()
- << "and ours is" << currentIndex;
- }
-}
-
-void QQuickTumblerPrivate::setCount(int newCount)
-{
- qCDebug(lcTumbler).nospace() << "setting count to " << newCount
- << ", old count was " << count;
- if (newCount == count)
- return;
-
- count = newCount;
-
- Q_Q(QQuickTumbler);
- setWrapBasedOnCount();
-
- emit q->countChanged();
-}
-
-void QQuickTumblerPrivate::setWrapBasedOnCount()
-{
- if (count == 0 || explicitWrap || modelBeingSet)
- return;
-
- setWrap(count >= visibleItemCount, false);
-}
-
-void QQuickTumblerPrivate::setWrap(bool shouldWrap, bool isExplicit)
-{
- qCDebug(lcTumbler) << "setting wrap to" << shouldWrap << "- exlicit?" << isExplicit;
- if (isExplicit)
- explicitWrap = true;
-
- Q_Q(QQuickTumbler);
- if (q->isComponentComplete() && shouldWrap == wrap)
- return;
-
- // Since we use the currentIndex of the contentItem directly, we must
- // ensure that we keep track of the currentIndex so it doesn't get lost
- // between view changes.
- const int oldCurrentIndex = currentIndex;
-
- disconnectFromView();
-
- wrap = shouldWrap;
-
- // New views will set their currentIndex upon creation, which we'd otherwise
- // take as the correct one, so we must ignore them.
- ignoreCurrentIndexChanges = true;
-
- // This will cause the view to be created if our contentItem is a TumblerView.
- emit q->wrapChanged();
-
- ignoreCurrentIndexChanges = false;
-
- // If isComponentComplete() is true, we require a contentItem. If it's not
- // true, it might not have been created yet, so we wait until
- // componentComplete() is called.
- //
- // When the contentItem (usually QQuickTumblerView) has been created, we
- // can start determining its type, etc. If the delegates use attached
- // properties, this will have already been called, in which case it will
- // return early. If the delegate doesn't use attached properties, we need
- // to call it here.
- if (q->isComponentComplete() || contentItem)
- setupViewData(contentItem);
-
- setCurrentIndex(oldCurrentIndex);
-}
-
-void QQuickTumblerPrivate::beginSetModel()
-{
- modelBeingSet = true;
-}
-
-void QQuickTumblerPrivate::endSetModel()
-{
- modelBeingSet = false;
- setWrapBasedOnCount();
-}
-
-void QQuickTumbler::keyPressEvent(QKeyEvent *event)
-{
- QQuickControl::keyPressEvent(event);
-
- Q_D(QQuickTumbler);
- if (event->isAutoRepeat() || !d->view)
- return;
-
- if (event->key() == Qt::Key_Up) {
- QMetaObject::invokeMethod(d->view, "decrementCurrentIndex");
- } else if (event->key() == Qt::Key_Down) {
- QMetaObject::invokeMethod(d->view, "incrementCurrentIndex");
- }
-}
-
-void QQuickTumbler::updatePolish()
-{
- Q_D(QQuickTumbler);
- if (d->pendingCurrentIndex != -1) {
- // Update our count, as ignoreSignals might have been true
- // when _q_onViewCountChanged() was last called.
- d->setCount(d->view->property("count").toInt());
-
- // If the count is still 0, it's not going to happen.
- if (d->count == 0) {
- d->setPendingCurrentIndex(-1);
- return;
- }
-
- // If there is a pending currentIndex at this stage, it means that
- // the view wouldn't set our currentIndex in _q_onViewCountChanged
- // because it wasn't ready. Try one last time here.
- d->setCurrentIndex(d->pendingCurrentIndex);
-
- if (d->currentIndex != d->pendingCurrentIndex && d->currentIndex == -1) {
- // If we *still* couldn't set it, it's probably invalid.
- // See if we can at least enforce our rule of "non-negative currentIndex when count > 0" instead.
- d->setCurrentIndex(0);
- }
-
- d->setPendingCurrentIndex(-1);
- }
-}
-
-QFont QQuickTumbler::defaultFont() const
-{
- return QQuickTheme::font(QQuickTheme::Tumbler);
-}
-
-QPalette QQuickTumbler::defaultPalette() const
-{
- return QQuickTheme::palette(QQuickTheme::Tumbler);
-}
-
-void QQuickTumblerAttachedPrivate::init(QQuickItem *delegateItem)
-{
- if (!delegateItem->parentItem()) {
- qWarning() << "Tumbler: attached properties must be accessed through a delegate item that has a parent";
- return;
- }
-
- QVariant indexContextProperty = qmlContext(delegateItem)->contextProperty(QStringLiteral("index"));
- if (!indexContextProperty.isValid()) {
- qWarning() << "Tumbler: attempting to access attached property on item without an \"index\" property";
- return;
- }
-
- index = indexContextProperty.toInt();
-
- QQuickItem *parentItem = delegateItem;
- while ((parentItem = parentItem->parentItem())) {
- if ((tumbler = qobject_cast<QQuickTumbler*>(parentItem)))
- break;
- }
-}
-
-void QQuickTumblerAttachedPrivate::calculateDisplacement()
-{
- const qreal previousDisplacement = displacement;
- displacement = 0;
-
- if (!tumbler) {
- // Can happen if the attached properties are accessed on the wrong type of item or the tumbler was destroyed.
- // We don't want to emit the change signal though, as this could cause warnings about Tumbler.tumbler being null.
- return;
- }
-
- // Can happen if there is no ListView or PathView within the contentItem.
- QQuickTumblerPrivate *tumblerPrivate = QQuickTumblerPrivate::get(tumbler);
- if (!tumblerPrivate->viewContentItem) {
- emitIfDisplacementChanged(previousDisplacement, displacement);
- return;
- }
-
- // The attached property gets created before our count is updated, so just cheat here
- // to avoid having to listen to count changes.
- const int count = tumblerPrivate->view->property("count").toInt();
- // This can happen in tests, so it may happen in normal usage too.
- if (count == 0) {
- emitIfDisplacementChanged(previousDisplacement, displacement);
- return;
- }
-
- if (tumblerPrivate->viewContentItemType == QQuickTumblerPrivate::PathViewContentItem) {
- const qreal offset = tumblerPrivate->viewOffset;
-
- displacement = count > 1 ? count - index - offset : 0;
- // Don't add 1 if count <= visibleItemCount
- const int visibleItems = tumbler->visibleItemCount();
- const int halfVisibleItems = visibleItems / 2 + (visibleItems < count ? 1 : 0);
- if (displacement > halfVisibleItems)
- displacement -= count;
- else if (displacement < -halfVisibleItems)
- displacement += count;
- } else {
- const qreal contentY = tumblerPrivate->viewContentY;
- const qreal delegateH = delegateHeight(tumbler);
- const qreal preferredHighlightBegin = tumblerPrivate->view->property("preferredHighlightBegin").toReal();
- const qreal itemY = qobject_cast<QQuickItem*>(parent)->y();
- qreal currentItemY = 0;
- auto currentItem = tumblerPrivate->view->property("currentItem").value<QQuickItem*>();
- if (currentItem)
- currentItemY = currentItem->y();
- // Start from the y position of the current item.
- const qreal topOfCurrentItemInViewport = currentItemY - contentY;
- // Then, calculate the distance between it and the preferredHighlightBegin.
- const qreal relativePositionToPreferredHighlightBegin = topOfCurrentItemInViewport - preferredHighlightBegin;
- // Next, calculate the distance between us and the current item.
- const qreal distanceFromCurrentItem = currentItemY - itemY;
- const qreal displacementInPixels = distanceFromCurrentItem - relativePositionToPreferredHighlightBegin;
- // Convert it from pixels to a floating point index.
- displacement = displacementInPixels / delegateH;
- }
-
- emitIfDisplacementChanged(previousDisplacement, displacement);
-}
-
-void QQuickTumblerAttachedPrivate::emitIfDisplacementChanged(qreal oldDisplacement, qreal newDisplacement)
-{
- Q_Q(QQuickTumblerAttached);
- if (newDisplacement != oldDisplacement)
- emit q->displacementChanged();
-}
-
-QQuickTumblerAttached::QQuickTumblerAttached(QObject *parent)
- : QObject(*(new QQuickTumblerAttachedPrivate), parent)
-{
- Q_D(QQuickTumblerAttached);
- QQuickItem *delegateItem = qobject_cast<QQuickItem *>(parent);
- if (delegateItem)
- d->init(delegateItem);
- else if (parent)
- qmlWarning(parent) << "Tumbler: attached properties of Tumbler must be accessed through a delegate item";
-
- if (d->tumbler) {
- // When the Tumbler is completed, wrapChanged() is emitted to let QQuickTumblerView
- // know that it can create the view. The view itself might instantiate delegates
- // that use attached properties. At this point, setupViewData() hasn't been called yet
- // (it's called on the next line in componentComplete()), so we call it here so that
- // we have access to the view.
- QQuickTumblerPrivate *tumblerPrivate = QQuickTumblerPrivate::get(d->tumbler);
- tumblerPrivate->setupViewData(tumblerPrivate->contentItem);
-
- if (delegateItem->parentItem() == tumblerPrivate->viewContentItem) {
- // This item belongs to the "new" view, meaning that the tumbler's contentItem
- // was probably assigned declaratively. If they're not equal, calling
- // calculateDisplacement() would use the old contentItem data, which is bad.
- d->calculateDisplacement();
- }
- }
-}
-
-/*!
- \qmlattachedproperty Tumbler QtQuick.Controls::Tumbler::tumbler
- \readonly
-
- This attached property holds the tumbler. The property can be attached to
- a tumbler delegate. The value is \c null if the item is not a tumbler delegate.
-*/
-QQuickTumbler *QQuickTumblerAttached::tumbler() const
-{
- Q_D(const QQuickTumblerAttached);
- return d->tumbler;
-}
-
-/*!
- \qmlattachedproperty real QtQuick.Controls::Tumbler::displacement
- \readonly
-
- This attached property holds a value from \c {-visibleItemCount / 2} to
- \c {visibleItemCount / 2}, which represents how far away this item is from
- being the current item, with \c 0 being completely current.
-
- For example, the item below will be 40% opaque when it is not the current item,
- and transition to 100% opacity when it becomes the current item:
-
- \code
- delegate: Text {
- text: modelData
- opacity: 0.4 + Math.max(0, 1 - Math.abs(Tumbler.displacement)) * 0.6
- }
- \endcode
-*/
-qreal QQuickTumblerAttached::displacement() const
-{
- Q_D(const QQuickTumblerAttached);
- return d->displacement;
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquicktumbler_p.cpp"
diff --git a/src/quicktemplates2/qquicktumbler_p.h b/src/quicktemplates2/qquicktumbler_p.h
deleted file mode 100644
index 3f7c06db..00000000
--- a/src/quicktemplates2/qquicktumbler_p.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTUMBLER_P_H
-#define QQUICKTUMBLER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qvariant.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickTumblerAttached;
-class QQuickTumblerPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTumbler : public QQuickControl
-{
- Q_OBJECT
- Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged FINAL)
- Q_PROPERTY(int count READ count NOTIFY countChanged FINAL)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged FINAL)
- Q_PROPERTY(QQuickItem *currentItem READ currentItem NOTIFY currentItemChanged FINAL)
- Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
- Q_PROPERTY(int visibleItemCount READ visibleItemCount WRITE setVisibleItemCount NOTIFY visibleItemCountChanged FINAL)
- // 2.1 (Qt 5.8)
- Q_PROPERTY(bool wrap READ wrap WRITE setWrap RESET resetWrap NOTIFY wrapChanged FINAL REVISION 1)
- // 2.2 (Qt 5.9)
- Q_PROPERTY(bool moving READ isMoving NOTIFY movingChanged FINAL REVISION 2)
-
-public:
- explicit QQuickTumbler(QQuickItem *parent = nullptr);
- ~QQuickTumbler();
-
- QVariant model() const;
- void setModel(const QVariant &model);
-
- int count() const;
-
- int currentIndex() const;
- void setCurrentIndex(int currentIndex);
- QQuickItem *currentItem() const;
-
- QQmlComponent *delegate() const;
- void setDelegate(QQmlComponent *delegate);
-
- int visibleItemCount() const;
- void setVisibleItemCount(int visibleItemCount);
-
- static QQuickTumblerAttached *qmlAttachedProperties(QObject *object);
-
- // 2.1 (Qt 5.8)
- bool wrap() const;
- void setWrap(bool wrap);
- void resetWrap();
-
- // 2.2 (Qt 5.9)
- bool isMoving() const;
-
- enum PositionMode {
- Beginning,
- Center,
- End,
- Visible, // ListView-only
- Contain,
- SnapPosition
- };
- Q_ENUM(PositionMode)
-
- // 2.5 (Qt 5.12)
- Q_REVISION(5) Q_INVOKABLE void positionViewAtIndex(int index, PositionMode mode);
-
-Q_SIGNALS:
- void modelChanged();
- void countChanged();
- void currentIndexChanged();
- void currentItemChanged();
- void delegateChanged();
- void visibleItemCountChanged();
- // 2.1 (Qt 5.8)
- Q_REVISION(1) void wrapChanged();
- // 2.2 (Qt 5.9)
- Q_REVISION(2) void movingChanged();
-
-protected:
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
- void componentComplete() override;
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override;
- void keyPressEvent(QKeyEvent *event) override;
- void updatePolish() override;
-
- QFont defaultFont() const override;
- QPalette defaultPalette() const override;
-
-private:
- Q_DISABLE_COPY(QQuickTumbler)
- Q_DECLARE_PRIVATE(QQuickTumbler)
-
- Q_PRIVATE_SLOT(d_func(), void _q_updateItemWidths())
- Q_PRIVATE_SLOT(d_func(), void _q_updateItemHeights())
- Q_PRIVATE_SLOT(d_func(), void _q_onViewCurrentIndexChanged())
- Q_PRIVATE_SLOT(d_func(), void _q_onViewCountChanged())
- Q_PRIVATE_SLOT(d_func(), void _q_onViewOffsetChanged())
- Q_PRIVATE_SLOT(d_func(), void _q_onViewContentYChanged())
-};
-
-class QQuickTumblerAttachedPrivate;
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTumblerAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickTumbler *tumbler READ tumbler CONSTANT FINAL)
- Q_PROPERTY(qreal displacement READ displacement NOTIFY displacementChanged FINAL)
-
-public:
- explicit QQuickTumblerAttached(QObject *parent = nullptr);
-
- QQuickTumbler *tumbler() const;
- qreal displacement() const;
-
-Q_SIGNALS:
- void displacementChanged();
-
-private:
- Q_DISABLE_COPY(QQuickTumblerAttached)
- Q_DECLARE_PRIVATE(QQuickTumblerAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickTumbler)
-QML_DECLARE_TYPEINFO(QQuickTumbler, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKTUMBLER_P_H
diff --git a/src/quicktemplates2/qquicktumbler_p_p.h b/src/quicktemplates2/qquicktumbler_p_p.h
deleted file mode 100644
index 049ab8a1..00000000
--- a/src/quicktemplates2/qquicktumbler_p_p.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKTUMBLER_P_P_H
-#define QQUICKTUMBLER_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
-#include <QtQuickTemplates2/private/qquicktumbler_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTumblerPrivate : public QQuickControlPrivate
-{
- Q_DECLARE_PUBLIC(QQuickTumbler)
-
-public:
- enum ContentItemType {
- NoContentItem,
- UnsupportedContentItemType,
- PathViewContentItem,
- ListViewContentItem
- };
-
- QQuickItem *determineViewType(QQuickItem *contentItem);
- void resetViewData();
- QList<QQuickItem *> viewContentItemChildItems() const;
-
- static QQuickTumblerPrivate *get(QQuickTumbler *tumbler);
-
- QVariant model;
- QQmlComponent *delegate = nullptr;
- int visibleItemCount = 5;
- bool wrap = true;
- bool explicitWrap = false;
- bool modelBeingSet = false;
- bool currentIndexSetDuringModelChange = false;
- QQuickItem *view = nullptr;
- QQuickItem *viewContentItem = nullptr;
- ContentItemType viewContentItemType = UnsupportedContentItemType;
- union {
- qreal viewOffset; // PathView
- qreal viewContentY; // ListView
- };
- int currentIndex = -1;
- int pendingCurrentIndex = -1;
- bool ignoreCurrentIndexChanges = false;
- int count = 0;
- bool ignoreSignals = false;
-
- void _q_updateItemHeights();
- void _q_updateItemWidths();
- void _q_onViewCurrentIndexChanged();
- void _q_onViewCountChanged();
- void _q_onViewOffsetChanged();
- void _q_onViewContentYChanged();
-
- void calculateDisplacements();
-
- void disconnectFromView();
- void setupViewData(QQuickItem *newControlContentItem);
- void warnAboutIncorrectContentItem();
- void syncCurrentIndex();
- void setPendingCurrentIndex(int index);
-
- enum PropertyChangeReason {
- UserChange,
- InternalChange
- };
-
- static QString propertyChangeReasonToString(PropertyChangeReason changeReason);
-
- void setCurrentIndex(int newCurrentIndex, PropertyChangeReason changeReason = InternalChange);
- void setCount(int newCount);
- void setWrapBasedOnCount();
- void setWrap(bool shouldWrap, bool isExplicit);
- void beginSetModel();
- void endSetModel();
-
- void itemChildAdded(QQuickItem *, QQuickItem *) override;
- void itemChildRemoved(QQuickItem *, QQuickItem *) override;
- void itemGeometryChanged(QQuickItem *, QQuickGeometryChange , const QRectF &) override;
-};
-
-class QQuickTumblerAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickTumblerAttached)
-
-public:
- static QQuickTumblerAttachedPrivate *get(QQuickTumblerAttached *attached)
- {
- return attached->d_func();
- }
-
- void init(QQuickItem *delegateItem);
-
- void calculateDisplacement();
- void emitIfDisplacementChanged(qreal oldDisplacement, qreal newDisplacement);
-
- // The Tumbler that contains the delegate. Required to calculated the displacement.
- QPointer<QQuickTumbler> tumbler;
- // The index of the delegate. Used to calculate the displacement.
- int index = -1;
- // The displacement for our delegate.
- qreal displacement = 0;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTUMBLER_P_P_H
diff --git a/src/quicktemplates2/qquickvelocitycalculator.cpp b/src/quicktemplates2/qquickvelocitycalculator.cpp
deleted file mode 100644
index a0c5ec0d..00000000
--- a/src/quicktemplates2/qquickvelocitycalculator.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qquickvelocitycalculator_p_p.h"
-
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-/*
- Usage:
-
- QQuickVelocityCalculator velocityCalculator;
-
- // ...
-
- velocityCalcular.startMeasuring(event->pos(), event->timestamp());
- velocityCalcular.stopMeasuring(event->pos(), event->timestamp());
-
- // ...
-
- if (velocityCalculator.velocity().x() > someAmount)
- doSomething();
- else if (velocityCalculator.velocity().x() < -someAmount)
- doSomethingElse();
-*/
-
-void QQuickVelocityCalculator::startMeasuring(const QPointF &point1, qint64 timestamp)
-{
- m_point1 = point1;
-
- if (timestamp != 0)
- m_point1Timestamp = timestamp;
- else
- m_timer.start();
-}
-
-void QQuickVelocityCalculator::stopMeasuring(const QPointF &point2, qint64 timestamp)
-{
- if (timestamp == 0 && !m_timer.isValid()) {
- qWarning() << "QQuickVelocityCalculator: a call to stopMeasuring() must be preceded by a call to startMeasuring()";
- return;
- }
-
- m_point2 = point2;
- m_point2Timestamp = timestamp != 0 ? timestamp : m_timer.elapsed();
- m_timer.invalidate();
-}
-
-void QQuickVelocityCalculator::reset()
-{
- m_point1 = QPointF();
- m_point2 = QPointF();
- m_point1Timestamp = 0;
- m_point2Timestamp = 0;
- m_timer.invalidate();
-}
-
-QPointF QQuickVelocityCalculator::velocity() const
-{
- if ((m_point2Timestamp == 0 || m_point1Timestamp == m_point2Timestamp) && !m_timer.isValid())
- return QPointF();
-
- const qreal secondsElapsed = (m_point2Timestamp != 0 ? m_point2Timestamp - m_point1Timestamp : m_timer.elapsed()) / 1000.0;
- const QPointF distance = m_point2 - m_point1;
- return distance / secondsElapsed;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickvelocitycalculator_p_p.h b/src/quicktemplates2/qquickvelocitycalculator_p_p.h
deleted file mode 100644
index 2b13ff07..00000000
--- a/src/quicktemplates2/qquickvelocitycalculator_p_p.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQUICKVELOCITYCALCULATOR_P_P_H
-#define QQUICKVELOCITYCALCULATOR_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qpoint.h>
-#include <QtCore/qelapsedtimer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickVelocityCalculator
-{
-public:
- void startMeasuring(const QPointF &point1, qint64 timestamp = 0);
- void stopMeasuring(const QPointF &m_point2, qint64 timestamp = 0);
- void reset();
- QPointF velocity() const;
-
-private:
- QPointF m_point1;
- QPointF m_point2;
- qint64 m_point1Timestamp = 0;
- qint64 m_point2Timestamp = 0;
- // When a timestamp isn't available, we must use a timer.
- // When stopMeasuring() has been called, we store the elapsed time in point2timestamp.
- QElapsedTimer m_timer;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKVELOCITYCALCULATOR_P_P_H
diff --git a/src/quicktemplates2/qtquicktemplates2global_p.h b/src/quicktemplates2/qtquicktemplates2global_p.h
deleted file mode 100644
index e5ee3f2e..00000000
--- a/src/quicktemplates2/qtquicktemplates2global_p.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTQUICKTEMPLATES2GLOBAL_P_H
-#define QTQUICKTEMPLATES2GLOBAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-#include <QtQml/private/qqmlglobal_p.h>
-#include <QtQuickTemplates2/private/qtquicktemplates2-config_p.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_QUICKTEMPLATES2_LIB)
-# define Q_QUICKTEMPLATES2_PRIVATE_EXPORT Q_DECL_EXPORT
-# else
-# define Q_QUICKTEMPLATES2_PRIVATE_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_QUICKTEMPLATES2_PRIVATE_EXPORT
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKTEMPLATES2GLOBAL_P_H
diff --git a/src/quicktemplates2/quicktemplates2.pri b/src/quicktemplates2/quicktemplates2.pri
deleted file mode 100644
index c145c20f..00000000
--- a/src/quicktemplates2/quicktemplates2.pri
+++ /dev/null
@@ -1,179 +0,0 @@
-INCLUDEPATH += $$PWD
-
-HEADERS += \
- $$PWD/qquickabstractbutton_p.h \
- $$PWD/qquickabstractbutton_p_p.h \
- $$PWD/qquickaction_p.h \
- $$PWD/qquickactiongroup_p.h \
- $$PWD/qquickapplicationwindow_p.h \
- $$PWD/qquickbusyindicator_p.h \
- $$PWD/qquickbutton_p.h \
- $$PWD/qquickbutton_p_p.h \
- $$PWD/qquickbuttongroup_p.h \
- $$PWD/qquickcheckbox_p.h \
- $$PWD/qquickcheckdelegate_p.h \
- $$PWD/qquickcombobox_p.h \
- $$PWD/qquickcontainer_p.h \
- $$PWD/qquickcontainer_p_p.h \
- $$PWD/qquickcontentitem_p.h \
- $$PWD/qquickcontrol_p.h \
- $$PWD/qquickcontrol_p_p.h \
- $$PWD/qquickdeferredexecute_p_p.h \
- $$PWD/qquickdeferredpointer_p_p.h \
- $$PWD/qquickdelaybutton_p.h \
- $$PWD/qquickdial_p.h \
- $$PWD/qquickdialog_p.h \
- $$PWD/qquickdialog_p_p.h \
- $$PWD/qquickdialogbuttonbox_p.h \
- $$PWD/qquickdialogbuttonbox_p_p.h \
- $$PWD/qquickdrawer_p.h \
- $$PWD/qquickdrawer_p_p.h \
- $$PWD/qquickframe_p.h \
- $$PWD/qquickframe_p_p.h \
- $$PWD/qquickgroupbox_p.h \
- $$PWD/qquickicon_p.h \
- $$PWD/qquickitemdelegate_p.h \
- $$PWD/qquickitemdelegate_p_p.h \
- $$PWD/qquicklabel_p.h \
- $$PWD/qquicklabel_p_p.h \
- $$PWD/qquickmenu_p.h \
- $$PWD/qquickmenu_p_p.h \
- $$PWD/qquickmenubar_p.h \
- $$PWD/qquickmenubar_p_p.h \
- $$PWD/qquickmenubaritem_p.h \
- $$PWD/qquickmenubaritem_p_p.h \
- $$PWD/qquickmenuitem_p.h \
- $$PWD/qquickmenuitem_p_p.h \
- $$PWD/qquickmenuseparator_p.h \
- $$PWD/qquickoverlay_p.h \
- $$PWD/qquickoverlay_p_p.h \
- $$PWD/qquickpage_p.h \
- $$PWD/qquickpage_p_p.h \
- $$PWD/qquickpageindicator_p.h \
- $$PWD/qquickpalette_p.h \
- $$PWD/qquickpaletteprovider_p.h \
- $$PWD/qquickpane_p.h \
- $$PWD/qquickpane_p_p.h \
- $$PWD/qquickpopup_p.h \
- $$PWD/qquickpopup_p_p.h \
- $$PWD/qquickpopupanchors_p.h \
- $$PWD/qquickpopupanchors_p_p.h \
- $$PWD/qquickpopupitem_p_p.h \
- $$PWD/qquickpopuppositioner_p_p.h \
- $$PWD/qquickpresshandler_p_p.h \
- $$PWD/qquickprogressbar_p.h \
- $$PWD/qquickradiobutton_p.h \
- $$PWD/qquickradiodelegate_p.h \
- $$PWD/qquickrangeslider_p.h \
- $$PWD/qquickroundbutton_p.h \
- $$PWD/qquickscrollbar_p.h \
- $$PWD/qquickscrollbar_p_p.h \
- $$PWD/qquickscrollindicator_p.h \
- $$PWD/qquickscrollview_p.h \
- $$PWD/qquickshortcutcontext_p_p.h \
- $$PWD/qquickslider_p.h \
- $$PWD/qquickspinbox_p.h \
- $$PWD/qquicksplitview_p.h \
- $$PWD/qquickstackelement_p_p.h \
- $$PWD/qquickstacktransition_p_p.h \
- $$PWD/qquickstackview_p.h \
- $$PWD/qquickstackview_p_p.h \
- $$PWD/qquickswipe_p.h \
- $$PWD/qquickswipedelegate_p.h \
- $$PWD/qquickswipedelegate_p_p.h \
- $$PWD/qquickswipeview_p.h \
- $$PWD/qquickswitch_p.h \
- $$PWD/qquickswitchdelegate_p.h \
- $$PWD/qquicktabbar_p.h \
- $$PWD/qquicktabbutton_p.h \
- $$PWD/qquicktextarea_p.h \
- $$PWD/qquicktextarea_p_p.h \
- $$PWD/qquicktextfield_p.h \
- $$PWD/qquicktextfield_p_p.h \
- $$PWD/qquicktheme_p.h \
- $$PWD/qquicktheme_p_p.h \
- $$PWD/qquicktoolbar_p.h \
- $$PWD/qquicktoolbutton_p.h \
- $$PWD/qquicktoolseparator_p.h \
- $$PWD/qquicktooltip_p.h \
- $$PWD/qquickvelocitycalculator_p_p.h
-
-SOURCES += \
- $$PWD/qquickabstractbutton.cpp \
- $$PWD/qquickaction.cpp \
- $$PWD/qquickactiongroup.cpp \
- $$PWD/qquickapplicationwindow.cpp \
- $$PWD/qquickbusyindicator.cpp \
- $$PWD/qquickbutton.cpp \
- $$PWD/qquickbuttongroup.cpp \
- $$PWD/qquickcheckbox.cpp \
- $$PWD/qquickcheckdelegate.cpp \
- $$PWD/qquickcombobox.cpp \
- $$PWD/qquickcontainer.cpp \
- $$PWD/qquickcontentitem.cpp \
- $$PWD/qquickcontrol.cpp \
- $$PWD/qquickdeferredexecute.cpp \
- $$PWD/qquickdelaybutton.cpp \
- $$PWD/qquickdial.cpp \
- $$PWD/qquickdialog.cpp \
- $$PWD/qquickdialogbuttonbox.cpp \
- $$PWD/qquickdrawer.cpp \
- $$PWD/qquickframe.cpp \
- $$PWD/qquickgroupbox.cpp \
- $$PWD/qquickicon.cpp \
- $$PWD/qquickitemdelegate.cpp \
- $$PWD/qquicklabel.cpp \
- $$PWD/qquickmenu.cpp \
- $$PWD/qquickmenubar.cpp \
- $$PWD/qquickmenubaritem.cpp \
- $$PWD/qquickmenuitem.cpp \
- $$PWD/qquickmenuseparator.cpp \
- $$PWD/qquickoverlay.cpp \
- $$PWD/qquickpage.cpp \
- $$PWD/qquickpageindicator.cpp \
- $$PWD/qquickpalette.cpp \
- $$PWD/qquickpaletteprovider.cpp \
- $$PWD/qquickpane.cpp \
- $$PWD/qquickpopup.cpp \
- $$PWD/qquickpopupanchors.cpp \
- $$PWD/qquickpopupitem.cpp \
- $$PWD/qquickpopuppositioner.cpp \
- $$PWD/qquickpresshandler.cpp \
- $$PWD/qquickprogressbar.cpp \
- $$PWD/qquickradiobutton.cpp \
- $$PWD/qquickradiodelegate.cpp \
- $$PWD/qquickrangeslider.cpp \
- $$PWD/qquickroundbutton.cpp \
- $$PWD/qquickscrollbar.cpp \
- $$PWD/qquickscrollindicator.cpp \
- $$PWD/qquickscrollview.cpp \
- $$PWD/qquickshortcutcontext.cpp \
- $$PWD/qquickslider.cpp \
- $$PWD/qquickspinbox.cpp \
- $$PWD/qquicksplitview.cpp \
- $$PWD/qquickstackelement.cpp \
- $$PWD/qquickstacktransition.cpp \
- $$PWD/qquickstackview.cpp \
- $$PWD/qquickstackview_p.cpp \
- $$PWD/qquickswipedelegate.cpp \
- $$PWD/qquickswipeview.cpp \
- $$PWD/qquickswitch.cpp \
- $$PWD/qquickswitchdelegate.cpp \
- $$PWD/qquicktabbar.cpp \
- $$PWD/qquicktabbutton.cpp \
- $$PWD/qquicktextarea.cpp \
- $$PWD/qquicktextfield.cpp \
- $$PWD/qquicktheme.cpp \
- $$PWD/qquicktoolbar.cpp \
- $$PWD/qquicktoolbutton.cpp \
- $$PWD/qquicktoolseparator.cpp \
- $$PWD/qquicktooltip.cpp \
- $$PWD/qquickvelocitycalculator.cpp
-
-qtConfig(quick-listview):qtConfig(quick-pathview) {
- HEADERS += \
- $$PWD/qquicktumbler_p.h \
- $$PWD/qquicktumbler_p_p.h
- SOURCES += \
- $$PWD/qquicktumbler.cpp
-}
diff --git a/src/quicktemplates2/quicktemplates2.pro b/src/quicktemplates2/quicktemplates2.pro
deleted file mode 100644
index 8ed0151a..00000000
--- a/src/quicktemplates2/quicktemplates2.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = QtQuickTemplates2
-MODULE = quicktemplates2
-
-QT += quick
-QT_PRIVATE += core-private gui-private qml-private quick-private
-qtHaveModule(qmlmodels): QT += qmlmodels-private
-
-DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
-HEADERS += \
- $$PWD/qtquicktemplates2global_p.h
-
-include(quicktemplates2.pri)
-load(qt_module)
diff --git a/src/src.pro b/src/src.pro
deleted file mode 100644
index 7f945ffb..00000000
--- a/src/src.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS += \
- quicktemplates2 \
- quickcontrols2 \
- imports
-
-quickcontrols2.depends = quicktemplates2
-imports.depends = quickcontrols2 quicktemplates2