aboutsummaryrefslogtreecommitdiffstats
path: root/takahashiPresentation.js
diff options
context:
space:
mode:
authorhogelog2008-12-23 00:09:29 +0000
committerhogelog2008-12-23 00:09:29 +0000
commit0a7728280cf233456d6d4294719d27bba28de7f4 (patch)
treef1dc1dcefeb3a37b8606e17101541fe2b14c93c9 /takahashiPresentation.js
parent577a550e189ed8994983e882192ff71a6863e5ee (diff)
downloadvimperator-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.js32
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) {