21 import org.kde.plasma.components 0.1 as PlasmaComponents
22 import org.kde.plasma.extras 0.1 as PlasmaExtras
23 import org.kde.plasma.core 0.1 as PlasmaCore
24 import org.kde.plasma.mobilecomponents 0.1 as MobileComponents
25 import org.kde.qtextracomponents 0.1
26 import org.kde.okular 0.1 as Okular
29 MobileComponents.OverlayDrawer {
31 property string currentUdi
38 property Item delegate: delegate1
39 property Item oldDelegate: delegate2
40 property bool incrementing: delegate.delta > 0
42 target: pageArea.delegate
44 pageArea.oldDelegate.delta = pageArea.delegate.delta
45 if (pageArea.delegate.delta > 0) {
46 pageArea.oldDelegate.visible =
true
47 pageArea.oldDelegate.pageNumber = pageArea.delegate.pageNumber + 1
48 documentItem.currentPage = pageArea.oldDelegate.pageNumber
49 pageArea.oldDelegate.visible = !(pageArea.delegate.pageNumber == documentItem.pageCount-1)
50 }
else if (pageArea.delegate.delta < 0) {
51 pageArea.oldDelegate.pageNumber = pageArea.delegate.pageNumber - 1
52 documentItem.currentPage = pageArea.oldDelegate.pageNumber
54 pageArea.oldDelegate.visible = pageArea.delegate.pageNumber != 0
59 property int startMouseScreenX
60 property int startMouseScreenY
62 startMouseScreenX = mouse.screenX
63 startMouseScreenY = mouse.screenY
66 if (Math.abs(mouse.screenX - startMouseScreenX) > width/5) {
67 delegate.pageSwitchEnabled =
true
71 delegate.pageSwitchEnabled =
false
72 if (Math.abs(mouse.screenX - startMouseScreenX) < 20 &&
73 Math.abs(mouse.screenY - startMouseScreenY) < 20) {
74 if (browserFrame.state ==
"Closed") {
75 browserFrame.state =
"Hidden"
77 browserFrame.state =
"Closed"
80 }
else if (oldDelegate.visible && delegate.delta != 0 &&
81 (Math.abs(mouse.screenX - startMouseScreenX) > width/5) &&
82 Math.abs(mouse.screenX - startMouseScreenX) > Math.abs(mouse.screenY - startMouseScreenY)) {
83 oldDelegate = delegate
84 delegate = (delegate == delegate1) ? delegate2 : delegate1
85 switchAnimation.running =
true
97 Component.onCompleted: pageNumber = documentItem.currentPage
100 SequentialAnimation {
103 target: pageArea.oldDelegate
105 to: pageArea.incrementing ? -pageArea.oldDelegate.width : pageArea.oldDelegate.width
106 easing.type: Easing.InQuad
111 pageArea.oldDelegate.z = 0
112 pageArea.delegate.z = 10
113 pageArea.oldDelegate.x = 0
114 pageArea.delegate.x = 0
118 script: delegate1.
delta = delegate2.delta = 0
122 PlasmaComponents.ScrollBar {
123 flickableItem: pageArea.delegate.flickable
124 orientation: Qt.Vertical
126 right: pageArea.right
128 bottom: pageArea.bottom
132 PlasmaComponents.ScrollBar {
133 flickableItem: pageArea.delegate.flickable
134 orientation: Qt.Horizontal
137 right: pageArea.right
138 bottom: pageArea.bottom
149 PlasmaComponents.ToolBar {
152 y: pageStack.currentPage.contentY <= 0 ? 0 : -height
153 transform: Translate {
154 y: Math.max(0, -pageStack.currentPage.contentY)
156 tools: pageStack.currentPage.tools
169 PlasmaComponents.PageStack {
173 top: mainToolBar.bottom
175 bottom: parent.bottom
183 property int oldContentY:0
184 target: pageStack.currentPage
188 if (pageStack.currentPage.contentHeight <= pageStack.height ||
189 (scrollConnection.oldContentY < pageStack.currentPage.contentY &&
190 pageStack.currentPage.contentY > 0)) {
191 tabsToolbar.y = tabsToolbar.parent.height - tabsToolbar.height
193 tabsToolbar.y = tabsToolbar.parent.height
195 scrollConnection.oldContentY = pageStack.currentPage.contentY
199 PlasmaComponents.ToolBar {
210 height: childrenRect.height
211 PlasmaComponents.TabBar {
213 anchors.horizontalCenter: parent.horizontalCenter
214 PlasmaComponents.TabButton {
216 text: i18n(
"Thumbnails")
219 pageStack.replace(Qt.createComponent(
"Thumbnails.qml"))
223 PlasmaComponents.TabButton {
225 enabled: documentItem.tableOfContents.count > 0
226 text: i18n(
"Table of contents")
229 pageStack.replace(Qt.createComponent(
"TableOfContents.qml"))
233 PlasmaComponents.TabButton {
235 enabled: documentItem.bookmarkedPages.length > 0
236 text: i18n(
"Bookmarks")
239 pageStack.replace(Qt.createComponent(
"Bookmarks.qml"))