Tablet Running Scripts dialog fixes

* The "Currrently Running" section is now visible by default, this includes the "Reload All" and "Remove All" buttons
* The entire dialog is flickable/scrollable.  We need to do this because the entire dialog is too tall to fit on the tablet.
* The keyboard now appears when the filter edit text has focus.
  The content is scrolled in such away that the focus edit field, and the tree view are above the keyboard.
This commit is contained in:
Anthony J. Thibault 2017-03-14 15:34:41 -07:00
parent 08ee2fd43f
commit 3a788d31de
2 changed files with 273 additions and 238 deletions

View file

@ -79,9 +79,19 @@ Rectangle {
scripts.stopAllScripts();
}
Flickable {
id: flickable
width: parent.width
height: parent.height - (keyboard.raised ? keyboard.raisedHeight : 0)
contentWidth: parent.width
contentHeight: column.childrenRect.height
clip: true
Column {
id: column
width: parent.width
HifiControls.TabletContentSection {
id: firstSection
name: "Currently Running"
isFirst: true
@ -262,6 +272,15 @@ Rectangle {
placeholderText: "Filter"
onTextChanged: scriptsModel.filterRegExp = new RegExp("^.*" + text + ".*$", "i")
Component.onCompleted: scriptsModel.filterRegExp = new RegExp("^.*$", "i")
onActiveFocusChanged: {
// raise the keyboard
keyboard.raised = activeFocus;
// scroll to the bottom of the content area.
if (activeFocus) {
flickable.contentY = (flickable.contentHeight - flickable.height);
}
}
}
HifiControls.VerticalSpacer {
@ -341,5 +360,17 @@ Rectangle {
}
}
}
}
HifiControls.Keyboard {
id: keyboard
raised: false
numeric: false
anchors {
bottom: parent.bottom
left: parent.left
right: parent.right
}
}
}

View file

@ -54,6 +54,10 @@ Item {
d.currentItem.focus = true;
d.currentItem.forceActiveFocus();
breadcrumbText.text = d.currentItem.title;
if (typeof bgNavBar !== "undefined") {
d.currentItem.y = bgNavBar.height;
d.currentItem.height -= bgNavBar.height;
}
}
function popSource() {