aboutsummaryrefslogblamecommitdiffstats
path: root/scripts/kirigami.diff
blob: 1f88892752d5b529162990cc8ea9041f495c4a10 (plain) (tree)
1
2
3
                                                                                   
                                                                                   
                                                                           























                                                                                                                                       
                                           


                              
                               







                                                            
                                                                     

                                                                                             
                                                      

                                                                                           







                                                              
                   






                                                                     
                                                                                                                       
                                                                                                   
                                                                                           



                                                                                                        
                                                                                            

                                                                                                                                                                                              











                                                                                                                                                   
                                                                                                                   





                                                                                                           





                                                                  




































                                                                                                                                                                                                                  





                                                   
                                                                                                                   
                                                                                                   
                                                                                           






                                                                                                                                                                                                                       
                                                                                                                         
                                                                                                           
                                                                                           
                 
 
                                                                                         
 
                                                                                                
 














                                                                                         
                                                                           
                                                                   







                                                                 

                                                                                                   
                   


                                                                                       
                                                                                       

                                                                        



















































































                                                                                                                                                                                                                                                        











































                                                                                   
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
+		    }
                 }
             }