From 0a7728280cf233456d6d4294719d27bba28de7f4 Mon Sep 17 00:00:00 2001 From: hogelog Date: Tue, 23 Dec 2008 00:09:29 +0000 Subject: * 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 --- takahashiPresentation.js | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'takahashiPresentation.js') diff --git a/takahashiPresentation.js b/takahashiPresentation.js index 7bb33a3..5f4f176 100644 --- a/takahashiPresentation.js +++ b/takahashiPresentation.js @@ -19,13 +19,13 @@ start :presentation. ; //}}} (function() { - plugins.presentation = {}; let keys = [ ['', 'next page', function() nextPage()], ['', '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) { -- cgit v1.2.3