diff --git a/ui (gen4)/features/history.js b/ui (gen4)/features/history.js
index b81ed9ab..1c7c1dea 100755
--- a/ui (gen4)/features/history.js
+++ b/ui (gen4)/features/history.js
@@ -482,17 +482,6 @@ module.URLHistoryFSWriter = core.ImageGridFeatures.Feature({
var URLHistoryUIActions = actions.Actions({
config: {
- // Indicate when to remove striked items from url history list
- //
- // Supported values:
- // - true | undefined - always remove
- // - flase - never remove
- // - [ 'open', 'close' ] - explicitly select event
- //
- // XXX do we need this???
- // XXX used only in .listURLHistoryOld(..)
- 'url-history-list-clear': ['open', 'close'],
-
// If true pushing the pin item button will also focus the item
//
// NOTE: Both settings have their pluses and minuses:
@@ -505,209 +494,6 @@ var URLHistoryUIActions = actions.Actions({
'url-history-focus-on-pin': false,
},
- listURLHistoryOld: ['History|File/Location history (old)...',
- widgets.makeUIDialog(function(){
- var that = this
- var parent = this.preventClosing ? this.preventClosing() : null
- var cur = this.location.path
-
- // caches...
- var fs_state = {}
- var to_remove = []
-
- // remove stirked out elements...
- var removeStriked = function(evt){
- var rem = that.config['url-history-list-clear']
- if(rem == false || rem != null && rem.indexOf(evt) < 0){
- return
- }
- to_remove.forEach(function(e){
- that.dropURLFromHistory(e)
- })
- to_remove = []
- }
- var makeHistoryList = function(fs_state){
- fs_state = fs_state || {}
- var history = Object.keys(that.url_history).reverse()
-
- // pinned items...
- var list = history
- .filter(function(p){
- // NOTE: yes direct access is faster, but
- // calling the toggler (common API) here
- // will isolate the level knowledge to a
- // single point which will simplify things
- // if anything changes...
- //return that.url_history[p].pinned
- return that.toggleURLPinned(p, '?') == 'on'
- })
- .map(function(p){
- // prevent from drawing again...
- history.splice(history.indexOf(p), 1)
-
- // see of we need a full refresh or use the
- // last fs_state...
- if(p in fs_state){
- // XXX need to make this faster...
- var d = fs_state[p]
-
- } else {
- var d = !that.checkURLFromHistory(p)
- fs_state[p] = d
- }
-
- return [p,
- [p == cur ? 'highlighted selected': '', 'pinned'].join(' '),
- { disabled: d }
- ]
- })
-
- // separator...
- list.push([ '---', 'pinned-separator', {}])
-
- // history...
- list = list.concat(history
- // NOTE: this might get a little slow for
- // very large sets...
- .map(function(p){
- // see of we need a full refresh or use the
- // last fs_state...
- if(p in fs_state){
- // XXX need to make this faster...
- var d = fs_state[p]
-
- } else {
- var d = !that.checkURLFromHistory(p)
- fs_state[p] = d
- }
-
- return [p,
- p == cur ? 'highlighted selected': '',
- {disabled: d},
- ]
- }))
-
- // history is empty...
- // NOTE: the length here is 1 because we need to account
- // for the separator...
- if(list.length == 1){
- list.push([
- 'No history...',
- {
- disabled: true,
- buttons: [],
- }
- ])
- }
-
- return list
- }
-
-
- // NOTE: this partially re-implements browse.Items.EditableList(..)
- // but since we have the pinned items we can't use it directly
- // ...and since .EditableList(..) can't be used twice per
- // dialog we can't work around this...
- var o = browse.makeLister(null,
- function(path, make){
- makeHistoryList()
- .forEach(function(elem){
- var e = elem.slice()
- var path = e.shift()
- var cfg = e.pop()
- var cls = e.pop() || ''
-
- make(path, cfg)
- .attr('path', path)
- .addClass(cls)
- })
- },
- // add item buttons...
- { itemButtons: [
- // open...
- ['↗',
- function(p){
- o.browsePath(p) }],
- // move to top...
- //['♦',
- ['♦',
- function(p){
- that.setTopURLHistory(p)
- o.redraw(p)
- }],
- // pin to top...
- // XXX should this be standard functionality???
- ['●'
- +'○',
- function(p, cur){
- // change state...
- // pinned...
- if(cur.hasClass('pinned')){
- cur.removeClass('pinned')
- that.toggleURLPinned(p, 'off')
-
- // not pinned...
- } else {
- cur.addClass('pinned')
- that.toggleURLPinned(p, 'on')
- }
-
- // focus...
- that.config['url-history-focus-on-pin']
- && o.select(cur)
-
- // place...
- o.redraw()
- }],
- // mark for removal...
- browse.buttons.markForRemoval(to_remove)
- ] })
- .open(function(evt, path){
- removeStriked('open')
-
- o.close()
-
- that.openURLFromHistory(path)
- })
- .on('close', function(){
- removeStriked('close')
- })
-
- // Monkey-patch: fast redraw...
- //
- // NOTE: this is substantially faster than calling .update()
- // because this will only change positions of a view dom
- // elements while .update(..) will redraw the while thing...
- // NOTE: this also uses fs_state for caching...
- o.redraw = function(path){
- var list = o.dom.find('.list')
- makeHistoryList(fs_state)
- .forEach(function(elem, i){
- if(path && path != elem[0]){
- return
- }
- // move...
- if(list.children().eq(i).attr('path') != elem[0]){
- list.children().eq(i)
- .before(list
- .find('[path="'+elem[0]+'"]'))
- }
- })
- return this
- }
-
- // handle 'O' button to browse path...
- o.browsePath = function(p){
- that.browsePath(p || this.selected)
- .close(function(evt, reason){
- reason != 'reject'
- && o.close(reason)
- }) }
- o.keyboard.handler('General', 'O', 'browsePath')
-
- return o
- })],
-
// XXX add option to force full update on dialog.update() (???)
listURLHistory: ['History|File/Location history...',
widgets.makeUIDialog(function(){