From a95633b878808288954b0ee9a431eedca8bb535c Mon Sep 17 00:00:00 2001
From: rolux
Date: Tue, 5 Mar 2013 09:33:15 +0000
Subject: [PATCH] update help dialog, help html and help config
---
pandora/config.0xdb.jsonc | 19 ++--
pandora/config.indiancinema.jsonc | 19 ++--
pandora/config.padma.jsonc | 19 ++--
pandora/config.pandora.jsonc | 19 ++--
static/html/help.html | 173 +++++++++++++++++++++++-------
static/js/pandora/helpDialog.js | 35 ++++--
6 files changed, 199 insertions(+), 85 deletions(-)
diff --git a/pandora/config.0xdb.jsonc b/pandora/config.0xdb.jsonc
index 4812c6c19..81733535d 100644
--- a/pandora/config.0xdb.jsonc
+++ b/pandora/config.0xdb.jsonc
@@ -91,19 +91,20 @@
"help": [
{"id": "help", "title": "Help"},
{"id": "accounts", "title": "Accounts"},
- {"id": "annotations", "title": "Annotations"},
- {"id": "calendars", "title": "Calendars"},
+ {"id": "navigation", "title": "Navigation"},
+ {"id": "views", "title": "Views"},
+ {"id": "timelines", "title": "Timelines"},
{"id": "clips", "title": "Clips"},
- {"id": "edits", "title": "Edits"},
+ {"id": "maps", "title": "Maps"},
+ {"id": "calendars", "title": "Calendars"},
+ {"id": "find", "title": "Find"},
{"id": "filters", "title": "Filters"},
{"id": "lists", "title": "Lists"},
- {"id": "maps", "title": "Maps"},
- {"id": "navigation", "title": "Navigation"},
- {"id": "search", "title": "Search"},
+ {"id": "player", "title": "Player"},
+ {"id": "editor", "title": "Editor"},
+ {"id": "edits", "title": "Edits"},
{"id": "texts", "title": "Texts"},
- {"id": "timelines", "title": "Timelines"},
- {"id": "video", "title": "Video"},
- {"id": "views", "title": "Views"}
+ {"id": "embeds", "title": "Embeds"}
],
/*
An itemKey must have the following properties:
diff --git a/pandora/config.indiancinema.jsonc b/pandora/config.indiancinema.jsonc
index ef327adec..c3c2ce9e1 100644
--- a/pandora/config.indiancinema.jsonc
+++ b/pandora/config.indiancinema.jsonc
@@ -97,19 +97,20 @@
"help": [
{"id": "help", "title": "Help"},
{"id": "accounts", "title": "Accounts"},
- {"id": "annotations", "title": "Annotations"},
- {"id": "calendars", "title": "Calendars"},
+ {"id": "navigation", "title": "Navigation"},
+ {"id": "views", "title": "Views"},
+ {"id": "timelines", "title": "Timelines"},
{"id": "clips", "title": "Clips"},
- {"id": "edits", "title": "Edits"},
+ {"id": "maps", "title": "Maps"},
+ {"id": "calendars", "title": "Calendars"},
+ {"id": "find", "title": "Find"},
{"id": "filters", "title": "Filters"},
{"id": "lists", "title": "Lists"},
- {"id": "maps", "title": "Maps"},
- {"id": "navigation", "title": "Navigation"},
- {"id": "search", "title": "Search"},
+ {"id": "player", "title": "Player"},
+ {"id": "editor", "title": "Editor"},
+ {"id": "edits", "title": "Edits"},
{"id": "texts", "title": "Texts"},
- {"id": "timelines", "title": "Timelines"},
- {"id": "video", "title": "Video"},
- {"id": "views", "title": "Views"}
+ {"id": "embeds", "title": "Embeds"}
],
/*
An itemKey must have the following properties:
diff --git a/pandora/config.padma.jsonc b/pandora/config.padma.jsonc
index b8118842d..0bce62cae 100644
--- a/pandora/config.padma.jsonc
+++ b/pandora/config.padma.jsonc
@@ -87,19 +87,20 @@
"help": [
{"id": "help", "title": "Help"},
{"id": "accounts", "title": "Accounts"},
- {"id": "annotations", "title": "Annotations"},
- {"id": "calendars", "title": "Calendars"},
+ {"id": "navigation", "title": "Navigation"},
+ {"id": "views", "title": "Views"},
+ {"id": "timelines", "title": "Timelines"},
{"id": "clips", "title": "Clips"},
- {"id": "edits", "title": "Edits"},
+ {"id": "maps", "title": "Maps"},
+ {"id": "calendars", "title": "Calendars"},
+ {"id": "find", "title": "Find"},
{"id": "filters", "title": "Filters"},
{"id": "lists", "title": "Lists"},
- {"id": "maps", "title": "Maps"},
- {"id": "navigation", "title": "Navigation"},
- {"id": "search", "title": "Search"},
+ {"id": "player", "title": "Player"},
+ {"id": "editor", "title": "Editor"},
+ {"id": "edits", "title": "Edits"},
{"id": "texts", "title": "Texts"},
- {"id": "timelines", "title": "Timelines"},
- {"id": "video", "title": "Video"},
- {"id": "views", "title": "Views"}
+ {"id": "embeds", "title": "Embeds"}
],
/*
An itemKey must have the following properties:
diff --git a/pandora/config.pandora.jsonc b/pandora/config.pandora.jsonc
index 79d5e6b55..dc8ec19c3 100644
--- a/pandora/config.pandora.jsonc
+++ b/pandora/config.pandora.jsonc
@@ -84,19 +84,20 @@
"help": [
{"id": "help", "title": "Help"},
{"id": "accounts", "title": "Accounts"},
- {"id": "annotations", "title": "Annotations"},
- {"id": "calendars", "title": "Calendars"},
+ {"id": "navigation", "title": "Navigation"},
+ {"id": "views", "title": "Views"},
+ {"id": "timelines", "title": "Timelines"},
{"id": "clips", "title": "Clips"},
- {"id": "edits", "title": "Edits"},
+ {"id": "maps", "title": "Maps"},
+ {"id": "calendars", "title": "Calendars"},
+ {"id": "find", "title": "Find"},
{"id": "filters", "title": "Filters"},
{"id": "lists", "title": "Lists"},
- {"id": "maps", "title": "Maps"},
- {"id": "navigation", "title": "Navigation"},
- {"id": "search", "title": "Search"},
+ {"id": "player", "title": "Player"},
+ {"id": "editor", "title": "Editor"},
+ {"id": "edits", "title": "Edits"},
{"id": "texts", "title": "Texts"},
- {"id": "timelines", "title": "Timelines"},
- {"id": "video", "title": "Video"},
- {"id": "views", "title": "Views"}
+ {"id": "embeds", "title": "Embeds"}
],
/*
An itemKey must have the following properties:
diff --git a/static/html/help.html b/static/html/help.html
index 7247fcd85..518db66ec 100644
--- a/static/html/help.html
+++ b/static/html/help.html
@@ -1,45 +1,142 @@
-
Help is coming soon...
+
To learn more about the various features of {site.name}, just select a topic on the left.
+
(Please note that this help section is a work in progress.)
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
+
Coming soon...
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
-
-
-
Help is coming soon...
+
+
Mouse and Keyboard Shortcuts
+
+ Click | Select an item |
+ Doubleclick | Open an item |
+ Shift Click | Add one or more items to the current selection |
+ Command Click | Toggle an item (select a deselected or deselect a selected item) |
+ Drag & Drop | Copy all selected items to another list |
+ Command Drag & Drop | Move all selected items from one list to another |
+ |
+ Up/Down/Left/Right | Select next item |
+ Shift Up/Down/Left/Right | Add next item to the current selection |
+ Control A | Select all items |
+ Shift Control A | Deselect all items |
+ Alt Control A | Toggle all items (select all deselected and deselect all selected items) |
+ Page Up | Scroll one page up |
+ Page Down | Scroll one page down |
+ Home | Scroll to first item |
+ End | Scroll to last item |
+ Control X | Cut all selected items from a list |
+ Control C | Copy all selected items from a list |
+ Control V | Paste previously cut or copied items into a list |
+ Delete | Delete all selected items from a list |
+ Space | Show preview (list of {itemName.plural}) or play/pause video (clip) |
+
+
-
Help is coming soon...
-
\ No newline at end of file
+ Lists of {itemName.plural}, and also individual {itemName.plural} themselves, can be displayed in different views. Both for lists and for {itemName.plural}, you'll find the menu to switch between views in the toolbar near the top of the screen.
+
+
List Views
+
+ as List | A table with fully configurable columns |
+ as Grid | A grid of icons (posters or stills) |
+ with Timelines | A list of icons with timelines |
+ with Clips | A list of icons with clips |
+ as Clips | A grid of video clips that match your current query |
+ on Map | A map with all places that appear in your current results |
+ on Calendar | A calendar with all events that appear in your current results |
+
+
+
+
Item Views
+
+ Info | Basic information about the {itemName.singular} |
+ Player | A video player |
+ Editor | An editor to add time-based annotations |
+ Timeline | A small video player that moves on a large timeline |
+ Clips | A grid of all clips of the current {itemName.singular} |
+ Map | A map with all places that appear in the current {itemName.singular} |
+ Calendar | A calendar with all events that appear in the current {itemName.singular} |
+
+
+
+
+
A timeline is a visual signature of a {itemName.singular}. It provides an instant overview of what is happening in a {itemName.singular}, and can be used for navigation. You can switch between different types of timelines: anti-alias (average colors), slit-scan (see below), keyframes (full frames) and waveform (audio).
+
+
+
+
Some views don't show lists of {itemName.plural}, but lists of video clips — for example clips matching your query, or related to a specific location on a map. Each clip is a video player. The video will load once you've selected it, and you can then simply click to play. If you doubleclick, you'll get to the {itemName.singular} itself, and its video player will be at the very position of the clip.
+
+
+
+
+
+
+
+
+
In the editor view, you can add and edit time-based annotations. Just set an in point and an out point, and pick one of the different types of annotations to add.
+
+
Keyboard Shortcuts
+
+
+ Space | Play/Pause |
+ P | Play from in point to out point |
+ 0 | Mute/Unmute |
+ - | Turn volume down |
+ + | Turn volume up |
+ Shift - | Small video player |
+ Shift + | Large video player |
+ ← | Go one frame back |
+ → | Go one frame forward |
+ Shift ← | Go one second back |
+ Shift → | Go one second forward |
+ ↑ | Go one line up on the timeline |
+ ↓ | Go one line down on the timeline |
+ Shift ↑ | Go to first frame |
+ Shift ↓ | Go to last frame |
+ I | Set in point |
+ O | Set out point |
+ Shift I | Go to in point |
+ Shift O | Go to out point |
+ [ | Go to previous annotation |
+ ] | Go to next annotation |
+ \ | Select current annotation |
+ B | Select previous annotation |
+ N | Select next annotation |
+ < | Go to previous cut |
+ > | Go to next cut |
+ / | Select current cut |
+ F | Find |
+ Shift G | Go to previous result |
+ G | Go to next result |
+ Return | Edit annotation, submit changes when editing |
+ Shift Return | Submit changes (for text annotations with line breaks) |
+ Escape | Deselect annotation, revert changes when editing |
+ {addAnnotationShortcuts}
+
+
+
+
+
+
+
diff --git a/static/js/pandora/helpDialog.js b/static/js/pandora/helpDialog.js
index 2c7800653..a05bc2750 100644
--- a/static/js/pandora/helpDialog.js
+++ b/static/js/pandora/helpDialog.js
@@ -72,13 +72,17 @@ pandora.ui.helpDialog = function() {
Ox.get('/static/html/help.html', function(html) {
- pandora.site.itemName = Ox.map(pandora.site.itemName, function(v) {
+ var $html = $(''),
+ strings = Ox.clone(pandora.site, true);
+
+ strings.itemName = Ox.map(strings.itemName, function(v) {
return v.toLowerCase();
});
- var $html = $('
').html(Ox.formatString(html, pandora.site));
- pandora.site.itemName = Ox.map(pandora.site.itemName, function(v) {
- return Ox.toTitleCase(v);
- });
+ strings.addAnnotationShortcuts = strings.layers.map(function(layer, index) {
+ return '
' + index + ' | Add ' + layer.item.toLowerCase() + ' |
';
+ }).join('\n');
+
+ $html.html(Ox.formatString(html, strings));
pandora.site.help.forEach(function(section) {
var html = $html.find('#' + section.id).html();
@@ -115,7 +119,11 @@ pandora.ui.helpDialog = function() {
$text = Ox.Element()
.css({
padding: '16px',
- overflowY: 'auto'
+ // fontSize: '12px',
+ lineHeight: '16px',
+ overflowY: 'auto',
+ MozUserSelect: 'text',
+ WebkitUserSelect: 'text'
});
$panel = Ox.SplitPanel({
@@ -133,11 +141,16 @@ pandora.ui.helpDialog = function() {
that.select = function(id) {
$text.html(text[id]);
- $text.find('td:first-child').css({
- height: '16px',
- paddingRight: '8px',
- textAlign: 'right'
- });
+ $text.find('img')
+ .css({
+ width: '100%'
+ });
+ $text.find('td:first-child')
+ .css({
+ height: '16px',
+ paddingRight: '8px',
+ textAlign: 'right'
+ });
return that;
}