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 /takahashiPresentation.js | |
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
Diffstat (limited to 'takahashiPresentation.js')
-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) { |