diff options
| author | hogelog | 2008-12-23 00:09:29 +0000 | 
|---|---|---|
| committer | hogelog | 2008-12-23 00:09:29 +0000 | 
| commit | 0a7728280cf233456d6d4294719d27bba28de7f4 (patch) | |
| tree | f1dc1dcefeb3a37b8606e17101541fe2b14c93c9 | |
| parent | 577a550e189ed8994983e882192ff71a6863e5ee (diff) | |
| download | vimperator-plugins-0a7728280cf233456d6d4294719d27bba28de7f4.tar.bz2 | |
 * remove old way setting background.
 * 'q' stop presentation.
 * TODO: save/load key mappings.
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@27264 d0d07461-0603-4401-acd4-de1884942a52
| -rw-r--r-- | takahashiPresentation.js | 32 | 
1 files changed, 25 insertions, 7 deletions
| diff --git a/takahashiPresentation.js b/takahashiPresentation.js index 7bb33a3..5f4f176 100644 --- a/takahashiPresentation.js +++ b/takahashiPresentation.js @@ -19,13 +19,13 @@ start :presentation.  </VimperatorPlugin>;  //}}}  (function() { -    plugins.presentation = {};      let keys = [          ['<Right>', 'next page', function() nextPage()],          ['<Left>', 'prev page', function() prevPage()],          ['^', 'first page', function() loadPage(0)],          ['$', 'last page', function() loadPage(pages.length-1)],          ['.', 'last page', function(count) loadPage(count?count-1:0), {flags: Mappings.flags.COUNT}], +        ['q', 'stop presentation', function() stop()],      ];      let win;      let doc; @@ -71,15 +71,30 @@ start :presentation.          loadPage(curpage);      }      function parsePages(text) { -        if(/:backgroundImage:(.+)(?:\r\n|[\r\n])/.test(text)) { -            doc.body.style.backgroundImage = RegExp.$1; -            doc.body.style.backgroundRepeat = 'repeat'; -        } -        return text.replace(/(?::.+(?:\r\n|[\r\n]))+/g, '') -                   .split('----') +        return text.split('----')                     .map(function(txt) txt.replace(/^(?:\r\n|[\r\n])|(?:\r\n|[\r\n])$/g, ''));      } +    function save_setting(setting) { +        setting.fullscreen = options.fullscreen; +        setting.guioptions = options.guioptions; +        // TODO: save key mapping +        //setting.mappings = keys.map(function([key,]) { +        //    let mapping = mappings.get(modes.NORMAL, key); +        //    return [mapping.modes, key, mapping.description, mapping.action, mapping.extra]; +        //}); +    } +    function load_setting(setting) { +        options.fullscreen = setting.fullscreen; +        options.guioptions = setting.guioptions; +        // TODO: load key mapping +        //setting.mappings.forEach(function([modes, key, desc, action, extra]) { +        //    mappings.addUserMap(modes, [key], desc, action, extra); +        //}); +    } +    let original_setting = {};      function start() { +        save_setting(original_setting); +          options.fullscreen = true;          options.guioptions = '';          win = window.content; @@ -98,6 +113,9 @@ start :presentation.          loadPage(0);      } +    function stop() { +        load_setting(original_setting); +    }      commands.add(['presentation'], 'start presentation', //{{{          function(args) { | 
