From bd8e266f46d5abb1c83f7eebd9d43b36dc91e934 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Wed, 5 Mar 2014 01:57:51 +0400 Subject: [PATCH] now slidesow mode disables mark view and resets it on exit... Signed-off-by: Alex A. Naanou --- ui/TODO.otl | 22 ++++++++++++++++++++++ ui/modes.js | 15 +++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/ui/TODO.otl b/ui/TODO.otl index 377003a7..43744eb4 100755 --- a/ui/TODO.otl +++ b/ui/TODO.otl @@ -117,6 +117,28 @@ Roadmap | | Appears to be the same symptoms as the las worker bug (export)... | ...i.e. workers running but not being removed from pool... + [_] BUG: prev/next ribbon in single image view after long jump is wrong... + | to reproduce: + | - ribbon counts: + | - current: ~146 + | - target: ~108 + | - Home + | - Enter (to single image mode) + | - End + | - Up/Down + | + | expected: + | - loaded image is above current... + | + | result: + | - loaded image is somewhere in the middle... + | + | reason: + | we are not updating invisible ribbons... + | + | projected solution: + | load adjacent ribbons on long jumps or when they reach end... + | use showImage to load the correct image... [_] BUG: close button does not work on stalled progress bars... [_] BUG: chrome 32 / nw 0.9.1: flicker on preview swap... | an image get's repainted black and only then the new preview diff --git a/ui/modes.js b/ui/modes.js index 53ff0952..0fa1f605 100755 --- a/ui/modes.js +++ b/ui/modes.js @@ -169,6 +169,10 @@ var toggleSingleImageMode = createCSSClassToggler( // TODO transitions... // TODO a real setup UI (instead of prompt) +// +// XXX avoid using globals: +// _pre_slideshow_marks_view +// _slideshow_timer var toggleSlideShowMode = createCSSClassToggler( '.viewer', '.slideshow-mode', @@ -176,6 +180,9 @@ var toggleSlideShowMode = createCSSClassToggler( if(action == 'on'){ updateStatus('Slideshow...').show() + // XXX hackish... + _pre_slideshow_marks_view = toggleMarksView('?') + // interval from user... //var interval = prompt('Slideshow interval (sec):', SLIDESHOW_INTERVAL/1000) formDialog($('.viewer'), 'Slideshow', { @@ -216,6 +223,8 @@ var toggleSlideShowMode = createCSSClassToggler( hideOverlay($('.viewer')) toggleSingleImageMode('on') + toggleMarksView('off') + _slideshow_timer = setInterval(function(){ var cur = getImage() // advance the image... @@ -227,6 +236,8 @@ var toggleSlideShowMode = createCSSClassToggler( SLIDESHOW_DIRECTION == 'next' ? firstImage() : lastImage() } else { toggleSlideShowMode('off') + toggleMarksView(window._pre_slideshow_marks_view == null ? 'on' + : window._pre_slideshow_marks_view) return } } @@ -238,11 +249,15 @@ var toggleSlideShowMode = createCSSClassToggler( // user cancelled... .fail(function(){ toggleSlideShowMode('off') + toggleMarksView(window._pre_slideshow_marks_view == null ? 'on' + : window._pre_slideshow_marks_view) }) } else { window._slideshow_timer != null && clearInterval(_slideshow_timer) showStatus('Slideshow: canceled.') + toggleMarksView(window._pre_slideshow_marks_view == null ? 'on' + : window._pre_slideshow_marks_view) hideOverlay($('.viewer')) } })