Implement switching in narrow mode
1 files changed, 37 insertions, 38 deletions
diff --git a/resources/qml/components/AdaptiveLayout.qml b/resources/qml/components/AdaptiveLayout.qml
index e6416414..eea85e38 100644
--- a/resources/qml/components/AdaptiveLayout.qml
+++ b/resources/qml/components/AdaptiveLayout.qml
@@ -18,6 +18,43 @@ Container {
property int splitterGrabMargin: Nheko.paddingSmall
property int pageIndex: 0
property Component handle
+ property Component handleToucharea
+
+ anchors.fill: parent
+ Component.onCompleted: {
+ for (var i = 0; i < count - 1; i++) {
+ let handle_ = handle.createObject(contentChildren[i]);
+ let split_ = handleToucharea.createObject(contentChildren[i]);
+ contentChildren[i].width = Qt.binding(function() {
+ return split_.calculatedWidth;
+ });
+ contentChildren[i].splitterWidth = Qt.binding(function() {
+ return handle_.width;
+ });
+ }
+ contentChildren[count - 1].width = Qt.binding(function() {
+ if (container.singlePageMode) {
+ return container.width;
+ } else {
+ var w = container.width;
+ for (var i = 0; i < count - 1; i++) {
+ if (contentChildren[i].width)
+ w = w - contentChildren[i].width;
+
+ }
+ return w;
+ }
+ });
+ contentChildren[count - 1].splitterWidth = 0;
+ for (var i = 0; i < count; i++) {
+ contentChildren[i].height = Qt.binding(function() {
+ return container.height;
+ });
+ contentChildren[i].children[0].height = Qt.binding(function() {
+ return container.height;
+ });
+ }
+ }
handle: Rectangle {
z: 3
@@ -27,8 +64,6 @@ Container {
anchors.right: parent.right
}
- property Component handleToucharea
-
handleToucharea: Item {
id: splitter
@@ -79,42 +114,6 @@ Container {
}
- anchors.fill: parent
- Component.onCompleted: {
- for (var i = 0; i < count - 1; i++) {
- let handle_ = handle.createObject(contentChildren[i]);
- let split_ = handleToucharea.createObject(contentChildren[i]);
- contentChildren[i].width = Qt.binding(function() {
- return split_.calculatedWidth;
- });
- contentChildren[i].splitterWidth = Qt.binding(function() {
- return handle_.width;
- });
- }
- contentChildren[count - 1].width = Qt.binding(function() {
- if (container.singlePageMode) {
- return container.width;
- } else {
- var w = container.width;
- for (var i = 0; i < count - 1; i++) {
- if (contentChildren[i].width)
- w = w - contentChildren[i].width;
-
- }
- return w;
- }
- });
- contentChildren[count - 1].splitterWidth = 0;
- for (var i = 0; i < count; i++) {
- contentChildren[i].height = Qt.binding(function() {
- return container.height;
- });
- contentChildren[i].children[0].height = Qt.binding(function() {
- return container.height;
- });
- }
- }
-
contentItem: ListView {
id: view
|