Skip to content

Commit

Permalink
fix(page_sidebar, toolbar): Properly push and pop the right sidebar a…
Browse files Browse the repository at this point in the history
…ctionbar

Fixes papyros#293
iBelieve committed Dec 18, 2015
1 parent d61c089 commit 818a10e
Showing 3 changed files with 72 additions and 1 deletion.
10 changes: 9 additions & 1 deletion demo/PageStackDemo.qml
Original file line number Diff line number Diff line change
@@ -16,6 +16,14 @@ Item {
onClicked: pageStack.push(Qt.resolvedUrl("SubPage.qml"))
}

Button {
anchors.horizontalCenter: parent.horizontalCenter

text: "Push subpage with sidebar"
elevation: 1
onClicked: pageStack.push(Qt.resolvedUrl("SidebarPage.qml"))
}

Image {
id: image

@@ -62,7 +70,7 @@ Item {
}
height: Units.dp(48)
opacity: overlayView.transitionOpacity

spacing: Units.dp(24)

Repeater {
51 changes: 51 additions & 0 deletions demo/SidebarPage.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* QML Material - An application framework implementing Material Design.
* Copyright (C) 2015 Michael Spencer <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 2.1 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.4
import Material 0.1
import Material.ListItems 0.1 as ListItem

Page {
id: page
title: "Page with right sidebar"

actions: [
Action {
iconName: "action/search"
text: "Search"
}
]

Button {
anchors.centerIn: parent
text: "Sub page"
onClicked: pageStack.push(Qt.resolvedUrl("SubPage.qml"))
}

rightSidebar: PageSidebar {
title: "Sidebar"

width: Units.dp(320)

actions: [
Action {
iconName: "action/delete"
text: "Delete"
}
]
}
}
12 changes: 12 additions & 0 deletions modules/Material/Toolbar.qml
Original file line number Diff line number Diff line change
@@ -83,6 +83,8 @@ View {

if (page.rightSidebar && page.rightSidebar.actionBar)
rightSidebarStack.pop(page.rightSidebar.actionBar)
else
rightSidebarStack.pop(emptyRightSidebar)

toolbar.page = page
}
@@ -95,6 +97,8 @@ View {

if (page.rightSidebar && page.rightSidebar.actionBar)
rightSidebarStack.push(page.rightSidebar.actionBar)
else
rightSidebarStack.push(emptyRightSidebar)
}

function replace(page) {
@@ -105,6 +109,8 @@ View {

if (page.rightSidebar && page.rightSidebar.actionBar)
rightSidebarStack.replace(page.rightSidebar.actionBar)
else
rightSidebarStack.replace(emptyRightSidebar)
}

Rectangle {
@@ -223,4 +229,10 @@ View {
onClicked: Qt.quit()
}
}

Component {
id: emptyRightSidebar

Item {}
}
}

0 comments on commit 818a10e

Please sign in to comment.