moment/src/gui/Base/HFlickableColumnPage.qml
miruka 44051f706d Prevent horizontal flick in HFlickableColumnPage
These pages and popups using them were always horizontally scrollable,
even though their inner content didn't exceed the page width. Qt bug?
2021-03-03 17:14:56 -04:00

60 lines
1.6 KiB
QML

// Copyright Mirage authors & contributors <https://github.com/mirukana/mirage>
// SPDX-License-Identifier: LGPL-3.0-or-later
import QtQuick 2.12
import QtQuick.Controls 2.12
import "../ShortcutBundles"
HPage {
id: page
default property alias columnData: column.data
property alias column: column
property alias flickable: flickable
property alias flickShortcuts: flickShortcuts
property bool enableFlickShortcuts:
SwipeView ? SwipeView.isCurrentItem : true
implicitWidth: theme.controls.box.defaultWidth
implicitHeight: contentHeight + implicitHeaderHeight + implicitFooterHeight
contentHeight:
flickable.contentHeight + flickable.topMargin + flickable.bottomMargin
padding: 0
HFlickable {
id: flickable
anchors.fill: parent
contentWidth: parent.width
contentHeight: column.implicitHeight
flickableDirection: Flickable.VerticalFlick
clip: true
topMargin: theme.spacing
bottomMargin: topMargin
leftMargin: topMargin
rightMargin: topMargin
FlickShortcuts {
id: flickShortcuts
active: ! mainUI.debugConsole.visible && enableFlickShortcuts
flickable: flickable
}
HColumnLayout {
id: column
width:
flickable.width - flickable.leftMargin - flickable.rightMargin
spacing: theme.spacing * 1.5
}
}
HKineticScrollingDisabler {
flickable: flickable
width: enabled ? flickable.width : 0
height: enabled ? flickable.height : 0
}
}