aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2020-11-25 14:13:29 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-12-17 09:17:54 -0800
commit17207917868476622b00656fc5f139ae126b90ff (patch)
tree15ac5c136cb0fa173ba714e06363b86fd720d260 /scripts
parent3c89964d797ea11fbeff18ead576a46f576a91e5 (diff)
downloadsubsurface-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.diff345
-rwxr-xr-xscripts/mobilecomponents.sh8
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