diff options
Diffstat (limited to 'src')
22 files changed, 341 insertions, 0 deletions
diff --git a/src/imports/controls/fusion/CMakeLists.txt b/src/imports/controls/fusion/CMakeLists.txt index 0298f38e..1f9aaa9e 100644 --- a/src/imports/controls/fusion/CMakeLists.txt +++ b/src/imports/controls/fusion/CMakeLists.txt @@ -94,6 +94,7 @@ set(qml_files "RadioDelegate.qml" "RangeSlider.qml" "RoundButton.qml" + "ScrollView.qml" "ScrollBar.qml" "ScrollIndicator.qml" "Slider.qml" diff --git a/src/imports/controls/fusion/ScrollView.qml b/src/imports/controls/fusion/ScrollView.qml new file mode 100644 index 00000000..a6bba9de --- /dev/null +++ b/src/imports/controls/fusion/ScrollView.qml @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick +import QtQuick.Controls.impl +import QtQuick.Templates 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/fusion/fusion.pri b/src/imports/controls/fusion/fusion.pri index 5bc3fbce..b57ded65 100644 --- a/src/imports/controls/fusion/fusion.pri +++ b/src/imports/controls/fusion/fusion.pri @@ -38,6 +38,7 @@ QML_FILES += \ $$PWD/RangeSlider.qml \ $$PWD/RoundButton.qml \ $$PWD/ScrollBar.qml \ + $$PWD/ScrollView.qml \ $$PWD/ScrollIndicator.qml \ $$PWD/Slider.qml \ $$PWD/SpinBox.qml \ diff --git a/src/imports/controls/fusion/qmldir b/src/imports/controls/fusion/qmldir index 5579a4b5..7d3848b8 100644 --- a/src/imports/controls/fusion/qmldir +++ b/src/imports/controls/fusion/qmldir @@ -26,6 +26,7 @@ ProgressBar 2.0 ProgressBar.qml RadioButton 2.0 RadioButton.qml RadioDelegate 2.0 RadioDelegate.qml RangeSlider 2.0 RangeSlider.qml +ScrollView 2.0 ScrollView.qml ScrollBar 2.0 ScrollBar.qml ScrollIndicator 2.0 ScrollIndicator.qml Slider 2.0 Slider.qml @@ -94,6 +95,7 @@ RadioButton 6.0 RadioButton.qml RadioDelegate 6.0 RadioDelegate.qml RangeSlider 6.0 RangeSlider.qml RoundButton 6.0 RoundButton.qml +ScrollView 6.0 ScrollView.qml ScrollBar 6.0 ScrollBar.qml ScrollIndicator 6.0 ScrollIndicator.qml Slider 6.0 Slider.qml diff --git a/src/imports/controls/imagine/imagine.pri b/src/imports/controls/imagine/imagine.pri index 1c9ffaa2..134aa2c3 100644 --- a/src/imports/controls/imagine/imagine.pri +++ b/src/imports/controls/imagine/imagine.pri @@ -35,6 +35,7 @@ QML_FILES += \ $$PWD/RadioDelegate.qml \ $$PWD/RangeSlider.qml \ $$PWD/RoundButton.qml \ + $$PWD/ScrollView.qml \ $$PWD/ScrollBar.qml \ $$PWD/ScrollIndicator.qml \ $$PWD/Slider.qml \ diff --git a/src/imports/controls/imagine/qmldir b/src/imports/controls/imagine/qmldir index e39f3d18..32261165 100644 --- a/src/imports/controls/imagine/qmldir +++ b/src/imports/controls/imagine/qmldir @@ -26,6 +26,7 @@ ProgressBar 2.0 ProgressBar.qml RadioButton 2.0 RadioButton.qml RadioDelegate 2.0 RadioDelegate.qml RangeSlider 2.0 RangeSlider.qml +ScrollView 2.0 ScrollView.qml ScrollBar 2.0 ScrollBar.qml ScrollIndicator 2.0 ScrollIndicator.qml Slider 2.0 Slider.qml @@ -90,6 +91,7 @@ RadioButton 6.0 RadioButton.qml RadioDelegate 6.0 RadioDelegate.qml RangeSlider 6.0 RangeSlider.qml RoundButton 6.0 RoundButton.qml +ScrollView 6.0 ScrollView.qml ScrollBar 6.0 ScrollBar.qml ScrollIndicator 6.0 ScrollIndicator.qml Slider 6.0 Slider.qml diff --git a/src/imports/controls/macos/CMakeLists.txt b/src/imports/controls/macos/CMakeLists.txt index 59a1a1f7..1cb9ff86 100644 --- a/src/imports/controls/macos/CMakeLists.txt +++ b/src/imports/controls/macos/CMakeLists.txt @@ -50,6 +50,7 @@ set(qml_files "Frame.qml" "TextArea.qml" "ComboBox.qml" + "ScrollView.qml" "ScrollBar.qml" "ProgressBar.qml" "Dial.qml" diff --git a/src/imports/controls/macos/ScrollView.qml b/src/imports/controls/macos/ScrollView.qml new file mode 100644 index 00000000..a6bba9de --- /dev/null +++ b/src/imports/controls/macos/ScrollView.qml @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick +import QtQuick.Controls.impl +import QtQuick.Templates 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/macos/macos.pri b/src/imports/controls/macos/macos.pri index 98474a92..d059151e 100644 --- a/src/imports/controls/macos/macos.pri +++ b/src/imports/controls/macos/macos.pri @@ -9,6 +9,7 @@ QML_FILES += \ $$PWD/Frame.qml \ $$PWD/TextArea.qml \ $$PWD/ComboBox.qml \ + $$PWD/ScrollView.qml \ $$PWD/ScrollBar.qml \ $$PWD/ProgressBar.qml \ $$PWD/Dial.qml \ diff --git a/src/imports/controls/macos/qmldir b/src/imports/controls/macos/qmldir index ea71d8fc..43130514 100644 --- a/src/imports/controls/macos/qmldir +++ b/src/imports/controls/macos/qmldir @@ -13,6 +13,7 @@ TextField 6.0 TextField.qml Frame 6.0 Frame.qml TextArea 6.0 TextArea.qml ComboBox 6.0 ComboBox.qml +ScrollView 6.0 ScrollView.qml ScrollBar 6.0 ScrollBar.qml ProgressBar 6.0 ProgressBar.qml Dial 6.0 Dial.qml diff --git a/src/imports/controls/material/CMakeLists.txt b/src/imports/controls/material/CMakeLists.txt index a52cb168..9b70b6b5 100644 --- a/src/imports/controls/material/CMakeLists.txt +++ b/src/imports/controls/material/CMakeLists.txt @@ -99,6 +99,7 @@ set(qml_files "RadioDelegate.qml" "RangeSlider.qml" "RoundButton.qml" + "ScrollView.qml" "ScrollBar.qml" "ScrollIndicator.qml" "Slider.qml" diff --git a/src/imports/controls/material/ScrollView.qml b/src/imports/controls/material/ScrollView.qml new file mode 100644 index 00000000..a6bba9de --- /dev/null +++ b/src/imports/controls/material/ScrollView.qml @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick +import QtQuick.Controls.impl +import QtQuick.Templates 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/material/material.pri b/src/imports/controls/material/material.pri index 8cffdabb..9eb14233 100644 --- a/src/imports/controls/material/material.pri +++ b/src/imports/controls/material/material.pri @@ -37,6 +37,7 @@ QML_FILES += \ $$PWD/RadioDelegate.qml \ $$PWD/RangeSlider.qml \ $$PWD/RoundButton.qml \ + $$PWD/ScrollView.qml \ $$PWD/ScrollBar.qml \ $$PWD/ScrollIndicator.qml \ $$PWD/Slider.qml \ diff --git a/src/imports/controls/material/qmldir b/src/imports/controls/material/qmldir index 82199ec0..3ee29b02 100644 --- a/src/imports/controls/material/qmldir +++ b/src/imports/controls/material/qmldir @@ -26,6 +26,7 @@ ProgressBar 2.0 ProgressBar.qml RadioButton 2.0 RadioButton.qml RadioDelegate 2.0 RadioDelegate.qml RangeSlider 2.0 RangeSlider.qml +ScrollView 2.0 ScrollView.qml ScrollBar 2.0 ScrollBar.qml ScrollIndicator 2.0 ScrollIndicator.qml Slider 2.0 Slider.qml @@ -96,6 +97,7 @@ RadioButton 6.0 RadioButton.qml RadioDelegate 6.0 RadioDelegate.qml RangeSlider 6.0 RangeSlider.qml RoundButton 6.0 RoundButton.qml +ScrollView 6.0 ScrollView.qml ScrollBar 6.0 ScrollBar.qml ScrollIndicator 6.0 ScrollIndicator.qml Slider 6.0 Slider.qml diff --git a/src/imports/controls/universal/CMakeLists.txt b/src/imports/controls/universal/CMakeLists.txt index 8b671821..6a27f536 100644 --- a/src/imports/controls/universal/CMakeLists.txt +++ b/src/imports/controls/universal/CMakeLists.txt @@ -99,6 +99,7 @@ set(qml_files "RadioDelegate.qml" "RangeSlider.qml" "RoundButton.qml" + "ScrollView.qml" "ScrollBar.qml" "ScrollIndicator.qml" "Slider.qml" diff --git a/src/imports/controls/universal/ScrollView.qml b/src/imports/controls/universal/ScrollView.qml new file mode 100644 index 00000000..a6bba9de --- /dev/null +++ b/src/imports/controls/universal/ScrollView.qml @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick +import QtQuick.Controls.impl +import QtQuick.Templates 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/universal/qmldir b/src/imports/controls/universal/qmldir index e864bd76..ac762e31 100644 --- a/src/imports/controls/universal/qmldir +++ b/src/imports/controls/universal/qmldir @@ -26,6 +26,7 @@ ProgressBar 2.0 ProgressBar.qml RadioButton 2.0 RadioButton.qml RadioDelegate 2.0 RadioDelegate.qml RangeSlider 2.0 RangeSlider.qml +ScrollView 2.0 ScrollView.qml ScrollBar 2.0 ScrollBar.qml ScrollIndicator 2.0 ScrollIndicator.qml Slider 2.0 Slider.qml @@ -95,6 +96,7 @@ RadioButton 6.0 RadioButton.qml RadioDelegate 6.0 RadioDelegate.qml RangeSlider 6.0 RangeSlider.qml RoundButton 6.0 RoundButton.qml +ScrollView 6.0 ScrollView.qml ScrollBar 6.0 ScrollBar.qml ScrollIndicator 6.0 ScrollIndicator.qml Slider 6.0 Slider.qml diff --git a/src/imports/controls/universal/universal.pri b/src/imports/controls/universal/universal.pri index 983fcf10..b946a8f3 100644 --- a/src/imports/controls/universal/universal.pri +++ b/src/imports/controls/universal/universal.pri @@ -37,6 +37,7 @@ QML_FILES += \ $$PWD/RadioDelegate.qml \ $$PWD/RangeSlider.qml \ $$PWD/RoundButton.qml \ + $$PWD/ScrollView.qml \ $$PWD/ScrollBar.qml \ $$PWD/ScrollIndicator.qml \ $$PWD/Slider.qml \ diff --git a/src/imports/controls/windows/CMakeLists.txt b/src/imports/controls/windows/CMakeLists.txt index 6bcbc26c..5e8ddb62 100644 --- a/src/imports/controls/windows/CMakeLists.txt +++ b/src/imports/controls/windows/CMakeLists.txt @@ -51,6 +51,7 @@ set(qml_files "SpinBox.qml" "TextArea.qml" "TextField.qml" + "ScrollView.qml" ) set_source_files_properties(Button.qml PROPERTIES QT_QML_SOURCE_VERSION "6.0" diff --git a/src/imports/controls/windows/ScrollView.qml b/src/imports/controls/windows/ScrollView.qml new file mode 100644 index 00000000..a6bba9de --- /dev/null +++ b/src/imports/controls/windows/ScrollView.qml @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick +import QtQuick.Controls.impl +import QtQuick.Templates 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/windows/qmldir b/src/imports/controls/windows/qmldir index 28fd2ce3..ed9758b3 100644 --- a/src/imports/controls/windows/qmldir +++ b/src/imports/controls/windows/qmldir @@ -14,3 +14,4 @@ Frame 6.0 Frame.qml TextArea 6.0 TextArea.qml ComboBox 6.0 ComboBox.qml ProgressBar 6.0 ProgressBar.qml +ScrollView 6.0 ScrollView.qml diff --git a/src/imports/controls/windows/windows.pri b/src/imports/controls/windows/windows.pri index c04ac6d4..4c9e51f7 100644 --- a/src/imports/controls/windows/windows.pri +++ b/src/imports/controls/windows/windows.pri @@ -10,3 +10,4 @@ QML_FILES += \ $$PWD/SpinBox.qml \ $$PWD/TextArea.qml \ $$PWD/TextField.qml \ + $$PWD/ScrollView.qml \ |