diff --git a/ui (gen4)/experiments/browse-dialog.html b/ui (gen4)/experiments/browse-dialog.html index bb0d7668..7c5c5fe8 100755 --- a/ui (gen4)/experiments/browse-dialog.html +++ b/ui (gen4)/experiments/browse-dialog.html @@ -98,10 +98,12 @@ opacity: 0; } .browse .path .dir.cur:empty:hover:not([contenteditable]) { - opacity: 0.3; + opacity: 0.6; } .browse .path .dir.cur:empty:hover:not([contenteditable]):after { - content: "filter"; + content: "______"; + border: dashed white 1px; + cursor: text; } /* XXX need to make this resizable up but only to a certain size (~80vh) */ /* diff --git a/ui (gen4)/experiments/browse-dialog.js b/ui (gen4)/experiments/browse-dialog.js index 6e5abb8d..fb0f5390 100755 --- a/ui (gen4)/experiments/browse-dialog.js +++ b/ui (gen4)/experiments/browse-dialog.js @@ -92,9 +92,9 @@ var BrowserPrototype = { General: { pattern: '.browse', - Up: 'prev', + Up: 'prev!', Backspace: 'Up', - Down: 'next', + Down: 'next!', Left: 'pop', Right: 'push', @@ -417,6 +417,28 @@ var BrowserPrototype = { if(!filtering){ browser.find('.path .dir.cur').text(elem.text()) } + + + // handle scroll position... + var p = elem.scrollParent() + var S = p.scrollTop() + var H = p.height() + + var h = elem.height() + var t = elem.offset().top - p.offset().top + + var D = 3 * h + + // XXX there is an error here... + // too low... + if(t+h+D > H){ + p.scrollTop(S + (t+h+D) - H) + + // too high... + } else if(t < D){ + p.scrollTop(S + t - D) + } + return elem.addClass('selected') } }