diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2020-11-25 14:13:29 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-12-17 09:17:54 -0800 |
commit | 17207917868476622b00656fc5f139ae126b90ff (patch) | |
tree | 15ac5c136cb0fa173ba714e06363b86fd720d260 /scripts | |
parent | 3c89964d797ea11fbeff18ead576a46f576a91e5 (diff) | |
download | subsurface-17207917868476622b00656fc5f139ae126b90ff.tar.gz |
kirigami: maintain our patches relative to upstream
Having them as commits like this should make it easier to migrate them
as we update the underlying Kirigami version.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/kirigami.diff | 345 | ||||
-rwxr-xr-x | scripts/mobilecomponents.sh | 8 |
2 files changed, 8 insertions, 345 deletions
diff --git a/scripts/kirigami.diff b/scripts/kirigami.diff deleted file mode 100644 index 1f8889275..000000000 --- a/scripts/kirigami.diff +++ /dev/null @@ -1,345 +0,0 @@ -diff -rwu ../kirigami/src/controls/GlobalDrawer.qml ./src/controls/GlobalDrawer.qml ---- ../kirigami/src/controls/GlobalDrawer.qml 2019-10-10 17:13:41.384333413 -0700 -+++ ./src/controls/GlobalDrawer.qml 2019-10-11 19:44:58.988220651 -0700 -@@ -215,6 +215,20 @@ - readonly property Action currentSubMenu: stackView.currentItem ? stackView.currentItem.current: null - - /** -+ * scrollViewItem: ScrollView -+ * -+ * Points to the internal ScrollView so the caller can implement the Back button -+ */ -+ readonly property Item scrollViewItem: scrollView -+ -+ /** -+ * pop: function -+ * -+ * Point to the pop function of the stackView inside the scrollView in order to be able to implement the Back button in the caller -+ */ -+ function pop() { scrollView.pop } -+ -+ /** - * Notifies that the banner has been clicked - */ - signal bannerClicked() -@@ -238,6 +252,7 @@ - anchors.fill: parent - implicitWidth: Math.min (Units.gridUnit * 20, root.parent.width * 0.8) - horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff -+ function pop() { stackView.pop() } - - Flickable { - id: mainFlickable -@@ -331,17 +346,13 @@ - ColumnLayout { - id: topContent - spacing: 0 -- Layout.alignment: Qt.AlignHCenter -- Layout.leftMargin: root.leftPadding -- Layout.rightMargin: root.rightPadding - Layout.bottomMargin: Units.smallSpacing -- Layout.topMargin: root.topPadding - Layout.fillWidth: true - Layout.fillHeight: true - Layout.preferredHeight: implicitHeight * opacity - //NOTE: why this? just Layout.fillWidth: true doesn't seem sufficient - //as items are added only after this column creation -- Layout.minimumWidth: parent.width - root.leftPadding - root.rightPadding -+ Layout.minimumWidth: parent.width - visible: children.length > 0 && childrenRect.height > 0 && opacity > 0 - opacity: !root.collapsed || showTopContentWhenCollapsed - Behavior on opacity { -@@ -435,7 +446,7 @@ - easing.type: Easing.InOutQuad - } - } -- -+/* - BasicListItem { - id: backItem - visible: level > 0 -@@ -454,7 +465,7 @@ - sequence: backItem.MnemonicData.sequence - onActivated: backItem.clicked() - } -- -+*/ - Repeater { - id: actionsRepeater - model: root.actions -diff -rwu ../kirigami/src/controls/private/GlobalDrawerActionItem.qml ./src/controls/private/GlobalDrawerActionItem.qml ---- ../kirigami/src/controls/private/GlobalDrawerActionItem.qml 2019-10-10 17:13:41.387666766 -0700 -+++ ./src/controls/private/GlobalDrawerActionItem.qml 2019-10-11 19:44:58.988220651 -0700 -@@ -94,7 +94,7 @@ - Layout.preferredHeight: !root.collapsed ? Units.iconSizes.smallMedium : Units.iconSizes.small/2 - selected: listItem.checked || listItem.pressed - Layout.preferredWidth: Layout.preferredHeight -- source: (LayoutMirroring.enabled ? "go-next-symbolic-rtl" : "go-next-symbolic") -+ source: (LayoutMirroring.enabled ? ":/go-next-symbolic-rtl" : ":/go-next-symbolic") - visible: (!isExpandible || root.collapsed) && !listItem.isSeparator && modelData.hasOwnProperty("children") && modelData.children!==undefined && modelData.children.length > 0 - } - data: [ -diff -rwu ../kirigami/src/controls/private/globaltoolbar/BreadcrumbControl.qml ./src/controls/private/globaltoolbar/BreadcrumbControl.qml ---- ../kirigami/src/controls/private/globaltoolbar/BreadcrumbControl.qml 2019-10-10 17:13:41.391000120 -0700 -+++ ./src/controls/private/globaltoolbar/BreadcrumbControl.qml 2019-10-11 22:59:45.248031517 -0700 -@@ -82,7 +81,7 @@ - Kirigami.Heading { - Layout.leftMargin: Kirigami.Units.largeSpacing - font.pointSize: -1 -- font.pixelSize: Math.max(1, mainLayout.height * 0.6) -+ font.pixelSize: Math.max(1, Kirigami.Units.defaultFontSize) - color: Kirigami.Theme.textColor - verticalAlignment: Text.AlignVCenter - wrapMode: Text.NoWrap -diff -rwu ../kirigami/src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml ./src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml ---- ../kirigami/src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml 2019-10-10 17:13:41.391000120 -0700 -+++ ./src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml 2019-10-12 10:36:39.396460010 -0700 -@@ -36,15 +36,23 @@ - readonly property Item currentItem: layerIsMainRow ? root.currentItem : root.layers.currentItem - - height: visible ? implicitHeight : 0 -+ - minimumHeight: globalToolBar.minimumHeight - preferredHeight: globalToolBar.preferredHeight - maximumHeight: globalToolBar.maximumHeight - separatorVisible: globalToolBar.separatorVisible -+ background: Rectangle { color: subsurfaceTheme.primaryColor } - - RowLayout { - anchors.fill: parent - spacing: 0 -- -+ // I can't make the layout work without this invisible rectangle to anchor things on -+ Rectangle { -+ id: correct -+ height: parent.height -+ width: 0 -+ color: "transparent" -+ } - Item { - id: leftHandleAnchor - visible: (typeof applicationWindow() !== "undefined" && applicationWindow().globalDrawer && applicationWindow().globalDrawer.enabled && applicationWindow().globalDrawer.handleVisible && -@@ -60,20 +68,21 @@ - RowLayout { - id: buttonsLayout - Layout.fillHeight: true -- - Layout.leftMargin: leftHandleAnchor.visible ? Kirigami.Units.smallSpacing : 0 -- -+ Layout.alignment: Qt.AlignTop | Qt.AlignVCenter - visible: (globalToolBar.showNavigationButtons != Kirigami.ApplicationHeaderStyle.NoNavigationButtons || root.layers.depth > 1) && (globalToolBar.actualStyle != Kirigami.ApplicationHeaderStyle.None) - - Layout.maximumWidth: visibleChildren.length > 0 ? implicitWidth : 0 -- - TemplatesPrivate.BackButton { - id: backButton - Layout.leftMargin: leftHandleAnchor.visible ? 0 : Kirigami.Units.smallSpacing - Layout.preferredWidth: height -+ Layout.topMargin: 0 -+ Layout.maximumHeight: correct.height - } - TemplatesPrivate.ForwardButton { - Layout.preferredWidth: height -+ Layout.maximumHeight: correct.height - } - } - -@@ -110,6 +119,6 @@ - Layout.preferredWidth: height - } - } -- background.opacity: breadcrumbLoader.opacity -+ //background.opacity: breadcrumbLoader.opacity - } - -diff -rwu ../kirigami/src/controls/templates/private/BackButton.qml ./src/controls/templates/private/BackButton.qml ---- ../kirigami/src/controls/templates/private/BackButton.qml 2019-10-10 17:13:41.391000120 -0700 -+++ ./src/controls/templates/private/BackButton.qml 2019-10-12 10:32:00.517728443 -0700 -@@ -27,6 +27,7 @@ - id: button - - icon.name: (LayoutMirroring.enabled ? "go-previous-symbolic-rtl" : "go-previous-symbolic") -+ icon.source: (LayoutMirroring.enabled ? "go-previous-symbolic-rtl" : "go-previous-symbolic") - - enabled: applicationWindow().pageStack.layers.depth > 1 || (applicationWindow().pageStack.depth > 1 && (applicationWindow().pageStack.currentIndex > 0 || applicationWindow().pageStack.contentItem.contentX > 0)) - -diff -rwu ../kirigami/src/controls/templates/private/ForwardButton.qml ./src/controls/templates/private/ForwardButton.qml ---- ../kirigami/src/controls/templates/private/ForwardButton.qml 2019-10-10 17:13:41.391000120 -0700 -+++ ./src/controls/templates/private/ForwardButton.qml 2019-10-11 19:44:58.988220651 -0700 -@@ -27,6 +27,7 @@ - id: button - - icon.name: (LayoutMirroring.enabled ? "go-next-symbolic-rtl" : "go-next-symbolic") -+ icon.source: (LayoutMirroring.enabled ? "go-next-symbolic-rtl" : "go-next-symbolic") - - enabled: applicationWindow().pageStack.currentIndex < applicationWindow().pageStack.depth-1 - -diff -rwu ../kirigami/src/controls/Units.qml ./src/controls/Units.qml ---- ../kirigami/src/controls/Units.qml 2019-10-10 17:13:41.387666766 -0700 -+++ ./src/controls/Units.qml 2019-10-11 20:48:07.216139938 -0700 -@@ -113,6 +113,11 @@ - readonly property int wheelScrollLines: 3 - - /** -+ * Use this to hardcode the font size of the global toolbar that Kirigami gets wrong -+ */ -+ property double defaultFontSize: fontMetrics.font.pixelSize -+ -+ /** - * metrics used by the default font - */ - property variant fontMetrics: TextMetrics { -diff -rwu ../kirigami/src/kirigamiplugin.cpp ./src/kirigamiplugin.cpp ---- ../kirigami/src/kirigamiplugin.cpp 2019-10-10 17:13:41.391000120 -0700 -+++ ./src/kirigamiplugin.cpp 2019-10-11 19:44:58.991554017 -0700 -@@ -41,7 +41,7 @@ - - //Q_INIT_RESOURCE(kirigami); - #ifdef KIRIGAMI_BUILD_TYPE_STATIC --#include <qrc_kirigami.cpp> -+//#include <qrc_kirigami.cpp> - #endif - - QUrl KirigamiPlugin::componentUrl(const QString &fileName) const -diff -rwu ../kirigami/src/controls/private/ActionButton.qml ./src/controls/private/ActionButton.qml ---- ../kirigami/src/controls/private/ActionButton.qml 2019-10-11 14:00:51.783839545 -0400 -+++ ./src/controls/private/ActionButton.qml 2019-10-27 17:12:04.339302719 -0400 -@@ -70,12 +70,12 @@ - - anchors.bottom: edgeMouseArea.bottom - -- implicitWidth: implicitHeight + Units.iconSizes.smallMedium*2 + Units.gridUnit -+ implicitWidth: implicitHeight + Units.iconSizes.smallMedium*4 + Units.gridUnit - implicitHeight: Units.iconSizes.medium + Units.largeSpacing * 2 - - - onXChanged: { -- if (mouseArea.pressed || edgeMouseArea.pressed || fakeContextMenuButton.pressed) { -+ if (0 && (mouseArea.pressed || edgeMouseArea.pressed || fakeContextMenuButton.pressed)) { - if (root.hasGlobalDrawer && globalDrawer.enabled && globalDrawer.modal) { - globalDrawer.peeking = true; - globalDrawer.visible = true; -@@ -97,13 +97,13 @@ - property bool internalVisibility: (!root.hasApplicationWindow || (applicationWindow().controlsVisible && applicationWindow().height > root.height*2)) && (root.action === null || root.action.visible === undefined || root.action.visible) - preventStealing: true - -- drag { -- target: button -- //filterChildren: true -- axis: Drag.XAxis -- minimumX: root.hasContextDrawer && contextDrawer.enabled && contextDrawer.modal ? 0 : root.width/2 - button.width/2 -- maximumX: root.hasGlobalDrawer && globalDrawer.enabled && globalDrawer.modal ? root.width : root.width/2 - button.width/2 -- } -+// drag { -+// target: button -+// //filterChildren: true -+// axis: Drag.XAxis -+// minimumX: root.hasContextDrawer && contextDrawer.enabled && contextDrawer.modal ? 0 : root.width/2 - button.width/2 -+// maximumX: root.hasGlobalDrawer && globalDrawer.enabled && globalDrawer.modal ? root.width : root.width/2 - button.width/2 -+// } - - property var downTimestamp; - property int startX -@@ -147,24 +147,24 @@ - drawerShowAdjust = 0; - - //project where it would be a full second in the future -- if (root.hasContextDrawer && root.hasGlobalDrawer && globalDrawer.modal && x + speed > Math.min(root.width/4*3, root.width/2 + globalDrawer.contentItem.width/2)) { -- globalDrawer.open(); -- contextDrawer.close(); -- } else if (root.hasContextDrawer && x + speed < Math.max(root.width/4, root.width/2 - contextDrawer.contentItem.width/2)) { -- if (root.hasContextDrawer && contextDrawer.modal) { -- contextDrawer.open(); -- } -- if (root.hasGlobalDrawer && globalDrawer.modal) { -- globalDrawer.close(); -- } -- } else { -- if (root.hasGlobalDrawer && globalDrawer.modal) { -- globalDrawer.close(); -- } -- if (root.hasContextDrawer && contextDrawer.modal) { -- contextDrawer.close(); -- } -- } -+// if (root.hasContextDrawer && root.hasGlobalDrawer && globalDrawer.modal && x + speed > Math.min(root.width/4*3, root.width/2 + globalDrawer.contentItem.width/2)) { -+// globalDrawer.open(); -+// contextDrawer.close(); -+// } else if (root.hasContextDrawer && x + speed < Math.max(root.width/4, root.width/2 - contextDrawer.contentItem.width/2)) { -+// if (root.hasContextDrawer && contextDrawer.modal) { -+// contextDrawer.open(); -+// } -+// if (root.hasGlobalDrawer && globalDrawer.modal) { -+// globalDrawer.close(); -+// } -+// } else { -+// if (root.hasGlobalDrawer && globalDrawer.modal) { -+// globalDrawer.close(); -+// } -+// if (root.hasContextDrawer && contextDrawer.modal) { -+// contextDrawer.close(); -+// } -+// } - //Don't rely on native onClicked, but fake it here: - //Qt.startDragDistance is not adapted to devices dpi in case - //of Android, so consider the button "clicked" when: -@@ -201,10 +201,10 @@ - } - } - -- onPositionChanged: { -- drawerShowAdjust = Math.min(0.3, Math.max(0, (startMouseY - mouse.y)/(Units.gridUnit*15))); -- button.xChanged(); -- } -+// onPositionChanged: { -+// drawerShowAdjust = Math.min(0.3, Math.max(0, (startMouseY - mouse.y)/(Units.gridUnit*15))); -+// button.xChanged(); -+// } - onPressAndHold: { - if (!actionUnderMouse) { - return; -@@ -291,7 +291,7 @@ - bottomMargin: Units.smallSpacing - } - enabled: root.leftAction && root.leftAction.enabled -- radius: Units.devicePixelRatio*2 -+ radius: Units.devicePixelRatio*4 - height: Units.iconSizes.smallMedium + Units.smallSpacing * 2 - width: height + (root.action ? Units.gridUnit*2 : 0) - visible: root.leftAction -@@ -326,6 +326,17 @@ - margins: Units.smallSpacing * 2 - } - } -+ Rectangle { -+ anchors.left: parent.left -+ anchors.leftMargin: Units.smallSpacing -+ anchors.verticalCenter: parent.verticalCenter -+ width: Units.iconSizes.smallMedium + Units.smallSpacing * 2 -+ height: width -+ radius: width / 2 -+ color: "transparent" -+ border.color: Qt.lighter(buttonGraphics.baseColor, 1.1) -+ border.width: 0.5 -+ } - } - //right button - Rectangle { -@@ -372,6 +383,17 @@ - margins: Units.smallSpacing * 2 - } - } -+ Rectangle { -+ anchors.right: parent.right -+ anchors.rightMargin: Units.smallSpacing -+ anchors.verticalCenter: parent.verticalCenter -+ width: Units.iconSizes.smallMedium + Units.smallSpacing * 2 -+ height: width -+ radius: width / 2 -+ color: "transparent" -+ border.color: Qt.lighter(buttonGraphics.baseColor, 1.1) -+ border.width: 0.5 -+ } - } - } - diff --git a/scripts/mobilecomponents.sh b/scripts/mobilecomponents.sh index 3086b0770..ad6c4a370 100755 --- a/scripts/mobilecomponents.sh +++ b/scripts/mobilecomponents.sh @@ -27,6 +27,14 @@ cd "$SRC"/subsurface/mobile-widgets/3rdparty/ECM cmake -DSHARE_INSTALL_DIR=.. ../extra-cmake-modules make install +# finally, add our patches to Kirigami +cd "$SRC"/subsurface/mobile-widgets/3rdparty +PATCHES=$(echo 00*.patch) +cd kirigami +for i in $PATCHES +do + git am ../$i +done exit 0 |