@@ -494,22 +494,25 @@ Rectangle {
497+ print("width:", spreadFlickable.width, "contentWidth", spreadFlickable.contentWidth)
498+ if (spreadFlickable.contentWidth > spreadFlickable.minContentWidth) {
497− var margins = spreadFlickable.width * 0.05;
499+ var margins = spreadFlickable.width * 0.05;
499− if (!progressiveScrollingEnabled && mouseX < spreadFlickable.width - scrollAreaWidth) {
501+ if (!progressiveScrollingEnabled && mouseX < spreadFlickable.width - scrollAreaWidth) {
500− progressiveScrollingEnabled = true
502+ progressiveScrollingEnabled = true
503− // do we need to scroll?
505+ // do we need to scroll?
504− if (mouseX < scrollAreaWidth) {
506+ if (mouseX < scrollAreaWidth) {
505− var progress = Math.min(1, (scrollAreaWidth + margins - mouseX) / (scrollAreaWidth - margins));
507+ var progress = Math.min(1, (scrollAreaWidth + margins - mouseX) / (scrollAreaWidth - margins));
506− var contentX = (1 - progress) * (spreadFlickable.contentWidth - spreadFlickable.width)
508+ var contentX = (1 - progress) * (spreadFlickable.contentWidth - spreadFlickable.width)
507− spreadFlickable.contentX = Math.max(0, Math.min(spreadFlickable.contentX, contentX))
509+ spreadFlickable.contentX = Math.max(0, Math.min(spreadFlickable.contentX, contentX))
509− if (mouseX > spreadFlickable.width - scrollAreaWidth && progressiveScrollingEnabled) {
511+ if (mouseX > spreadFlickable.width - scrollAreaWidth && progressiveScrollingEnabled) {
510− var progress = Math.min(1, (mouseX - (spreadFlickable.width - scrollAreaWidth)) / (scrollAreaWidth - margins))
512+ var progress = Math.min(1, (mouseX - (spreadFlickable.width - scrollAreaWidth)) / (scrollAreaWidth - margins))
511− var contentX = progress * (spreadFlickable.contentWidth - spreadFlickable.width)
513+ var contentX = progress * (spreadFlickable.contentWidth - spreadFlickable.width)
512− spreadFlickable.contentX = Math.min(spreadFlickable.contentWidth - spreadFlickable.width, Math.max(spreadFlickable.contentX, contentX))
514+ spreadFlickable.contentX = Math.min(spreadFlickable.contentWidth - spreadFlickable.width, Math.max(spreadFlickable.contentX, contentX))
515 onPressed: mouse.accepted = false
518 onPressed: mouse.accepted = false
@@ -519,6 +522,7 @@ Rectangle {
519 id: spreadFlickable
522 id: spreadFlickable
520 objectName: "spreadFlickable"
523 objectName: "spreadFlickable"
521 anchors.fill: parent
524 anchors.fill: parent
525+ property int minContentWidth: 6 * Math.min(height / 4, width / 5)
522 contentWidth: Math.max(6, ApplicationManager.count) * Math.min(height / 4, width / 5)
526 contentWidth: Math.max(6, ApplicationManager.count) * Math.min(height / 4, width / 5)
523 enabled: false
527 enabled: false
@@ -633,7 +637,7 @@ Rectangle {
634 name: "altTab"; when: root.altTabPressed
638 name: "altTab"; when: root.altTabPressed
635 PropertyChanges { target: workspaceSelector; visible: true }
639 PropertyChanges { target: workspaceSelector; visible: true }
636− PropertyChanges { target: spreadFlickable; enabled: true }
640+ PropertyChanges { target: spreadFlickable; enabled: spreadFlickable.contentWidth > spreadFlickable.minContentWidth }
637 PropertyChanges { target: currentSelectedLabel; visible: true }
641 PropertyChanges { target: currentSelectedLabel; visible: true }
638 PropertyChanges { target: spreadBackground; visible: true }
642 PropertyChanges { target: spreadBackground; visible: true }
639 PropertyChanges { target: appContainer; focus: true }
643 PropertyChanges { target: appContainer; focus: true }