From a5da678d6e3c3e4a8a416b9ae3b0f56a52f7e509 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 15 Feb 2016 18:02:20 +1300 Subject: [PATCH] Make Running Scripts dialog content scrollable when needed --- .../qml/hifi/dialogs/RunningScripts.qml | 40 +------------------ interface/resources/qml/windows-uit/Frame.qml | 8 ++-- .../resources/qml/windows-uit/Window.qml | 15 ++++++- 3 files changed, 20 insertions(+), 43 deletions(-) diff --git a/interface/resources/qml/hifi/dialogs/RunningScripts.qml b/interface/resources/qml/hifi/dialogs/RunningScripts.qml index d03d9a15c0..be282a580a 100644 --- a/interface/resources/qml/hifi/dialogs/RunningScripts.qml +++ b/interface/resources/qml/hifi/dialogs/RunningScripts.qml @@ -79,11 +79,9 @@ Window { } Rectangle { - color: hifi.colors.baseGray - anchors.fill: parent - Item { - anchors { fill: parent; margins: 8 } + Column { + Text { id: title font.bold: true @@ -94,8 +92,6 @@ Window { Row { id: allButtons - anchors.top: title.bottom - anchors.topMargin: 8 spacing: 8 Button { text: "Reload all"; onClicked: reloadAll() } Button { text: "Stop all"; onClicked: stopAll() } @@ -103,14 +99,6 @@ Window { ScrollView { onActiveFocusChanged: if (activeFocus && listView.currentItem) { listView.currentItem.forceActiveFocus(); } - anchors { - top: allButtons.bottom; - left: parent.left; - right: parent.right; - topMargin: 8 - bottom: row1.top - bottomMargin: 8 - } ListView { id: listView @@ -180,20 +168,11 @@ Window { font.bold: true font.pointSize: 16 color: "#0e7077" - - anchors.left: parent.left - anchors.leftMargin: 0 - anchors.bottom: filterEdit.top - anchors.bottomMargin: 8 } Row { id: row1 spacing: 8 - anchors.bottom: filterEdit.top - anchors.bottomMargin: 8 - anchors.right: parent.right - Button { text: "from URL"; @@ -231,10 +210,6 @@ Window { HifiControls.TextField { id: filterEdit - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: treeView.top - anchors.bottomMargin: 8 placeholderText: "filter" focus: true onTextChanged: scriptsModel.filterRegExp = new RegExp("^.*" + text + ".*$", "i") @@ -244,10 +219,6 @@ Window { TreeView { id: treeView height: 128 - anchors.bottom: loadButton.top - anchors.bottomMargin: 8 - anchors.left: parent.left - anchors.right: parent.right headerVisible: false // FIXME doesn't work? onDoubleClicked: isExpanded(index) ? collapse(index) : expand(index) @@ -288,11 +259,6 @@ Window { HifiControls.TextField { id: selectedScript readOnly: true - anchors.left: parent.left - anchors.right: loadButton.left - anchors.rightMargin: 8 - anchors.bottom: loadButton.bottom - anchors.top: loadButton.top Connections { target: treeView onCurrentIndexChanged: { @@ -309,8 +275,6 @@ Window { Button { id: loadButton - anchors.bottom: parent.bottom - anchors.right: parent.right text: "Load" enabled: selectedScript.text != "" onClicked: root.loadScript(selectedScript.text) diff --git a/interface/resources/qml/windows-uit/Frame.qml b/interface/resources/qml/windows-uit/Frame.qml index aad22faf86..23d7dc1d28 100644 --- a/interface/resources/qml/windows-uit/Frame.qml +++ b/interface/resources/qml/windows-uit/Frame.qml @@ -61,7 +61,7 @@ Item { border.width: 3 border.color: hifi.colors.white50 radius: hifi.dimensions.borderRadius - visible: window ? !window.content.visible : false + visible: window ? !windowContent.visible : false } MouseArea { @@ -84,15 +84,15 @@ Item { } onReleased: { if (hid) { - window.content.visible = true + windowContent.visible = true frameContent.visible = true hid = false; } } onPositionChanged: { if (pressed) { - if (window.content.visible) { - window.content.visible = false; + if (windowContent.visible) { + windowContent.visible = false; frameContent.visible = false hid = true; } diff --git a/interface/resources/qml/windows-uit/Window.qml b/interface/resources/qml/windows-uit/Window.qml index dc74d47072..5d49b2accc 100644 --- a/interface/resources/qml/windows-uit/Window.qml +++ b/interface/resources/qml/windows-uit/Window.qml @@ -121,8 +121,21 @@ Fadable { // frame styles, like a full desktop frame to simulate a modal window property var frame: DefaultFrame { } + // Scrollable window content. + property var scroller: Rectangle { + id: windowContent + anchors.fill: parent + color: hifi.colors.baseGray - children: [ swallower, frame, content, activator ] + ScrollView { + anchors.fill: parent + contentItem: content + horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff + verticalScrollBarPolicy: Qt.ScrollBarAsNeeded + } + } + + children: [ swallower, frame, scroller, activator ] Component.onCompleted: raise(); Component.onDestruction: windowDestroyed();