2014-07-21 16:38:06 +04:00
|
|
|
/**********************************************************************
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
2014-07-25 18:34:53 +04:00
|
|
|
window.nodejs = (typeof(process) === 'object' && process.features.uv)
|
|
|
|
|
? {
|
|
|
|
|
require: window.require,
|
|
|
|
|
}
|
|
|
|
|
: null
|
2014-07-21 16:38:06 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
define(function(require){ var module = {}
|
|
|
|
|
console.log('>>> ui')
|
|
|
|
|
|
|
|
|
|
//var DEBUG = DEBUG != null ? DEBUG : true
|
|
|
|
|
|
2014-07-21 18:21:36 +04:00
|
|
|
var keyboard = require('lib/keyboard')
|
|
|
|
|
var doc = keyboard.doc
|
|
|
|
|
|
|
|
|
|
// compatibility...
|
2014-07-21 16:38:06 +04:00
|
|
|
var browser = require('browser')
|
|
|
|
|
var nw = require('nw')
|
|
|
|
|
|
2014-07-21 18:21:36 +04:00
|
|
|
// XXX load only the actualy used here modules...
|
|
|
|
|
var actions = require('actions')
|
|
|
|
|
var data = require('data')
|
2014-07-21 18:33:31 +04:00
|
|
|
var ribbons = require('ribbons')
|
2014-07-21 16:38:06 +04:00
|
|
|
|
|
|
|
|
|
2014-08-15 06:03:36 +04:00
|
|
|
// XXX
|
|
|
|
|
var testing = require('testing')
|
|
|
|
|
|
|
|
|
|
|
2014-09-02 02:55:03 +04:00
|
|
|
var client = require('client')
|
|
|
|
|
|
2014-10-11 06:33:49 +04:00
|
|
|
var viewer = require('viewer')
|
|
|
|
|
|
2014-09-02 02:55:03 +04:00
|
|
|
|
2014-07-21 16:38:06 +04:00
|
|
|
|
|
|
|
|
/*********************************************************************/
|
|
|
|
|
|
2014-07-21 18:33:31 +04:00
|
|
|
// XXX add this to the global doc...
|
2014-07-22 17:09:25 +04:00
|
|
|
module.GLOBAL_KEYBOARD = {
|
2014-07-21 16:38:06 +04:00
|
|
|
'Global bindings': {
|
|
|
|
|
doc: 'NOTE: binding priority is the same as the order of sections '+
|
|
|
|
|
'on this page.',
|
|
|
|
|
pattern: '*',
|
|
|
|
|
|
|
|
|
|
F4: {
|
2014-10-22 01:05:59 +04:00
|
|
|
alt: 'close',
|
|
|
|
|
/*
|
2014-07-21 16:38:06 +04:00
|
|
|
alt: doc('Close viewer',
|
|
|
|
|
function(){
|
2014-07-21 18:21:36 +04:00
|
|
|
window.close()
|
2014-07-21 16:38:06 +04:00
|
|
|
return false
|
|
|
|
|
}),
|
2014-10-22 01:05:59 +04:00
|
|
|
*/
|
2014-07-21 16:38:06 +04:00
|
|
|
},
|
|
|
|
|
F5: doc('Full reload viewer',
|
|
|
|
|
function(){
|
|
|
|
|
/*
|
|
|
|
|
killAllWorkers()
|
|
|
|
|
.done(function(){
|
|
|
|
|
reload()
|
|
|
|
|
})
|
|
|
|
|
*/
|
2014-07-21 18:21:36 +04:00
|
|
|
location.reload()
|
2014-07-21 16:38:06 +04:00
|
|
|
return false
|
|
|
|
|
}),
|
2014-10-22 01:05:59 +04:00
|
|
|
F12: 'showDevTools',
|
2014-07-21 16:38:06 +04:00
|
|
|
// NOTE: these are for systems where F** keys are not available
|
|
|
|
|
// or do other stuff...
|
|
|
|
|
R: {
|
2014-10-24 04:51:35 +04:00
|
|
|
default: 'rotateCW',
|
|
|
|
|
shift: 'reverseImages',
|
2014-10-22 01:05:59 +04:00
|
|
|
ctrl: 'reload!',
|
2014-07-21 16:38:06 +04:00
|
|
|
'ctrl+shift': 'F5',
|
|
|
|
|
},
|
2014-10-24 04:51:35 +04:00
|
|
|
L: 'rotateCCW',
|
|
|
|
|
H: 'flipHorizontal',
|
|
|
|
|
V: 'flipVertical',
|
2014-07-21 16:38:06 +04:00
|
|
|
P: {
|
|
|
|
|
'ctrl+shift': 'F12',
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// NOTE: this is handled by the wrapper at this point, so we do
|
|
|
|
|
// not have to do anything here...
|
2014-10-22 01:23:56 +04:00
|
|
|
F11: 'toggleFullScreen',
|
2014-07-21 16:38:06 +04:00
|
|
|
F: {
|
|
|
|
|
ctrl: 'F11',
|
|
|
|
|
},
|
2014-10-12 03:14:29 +04:00
|
|
|
|
|
|
|
|
// XXX testing...
|
2014-10-22 13:11:26 +04:00
|
|
|
|
2014-11-06 03:56:54 +03:00
|
|
|
Enter: 'toggleSingleImage',
|
|
|
|
|
B: 'toggleTheme',
|
|
|
|
|
|
2014-10-21 21:17:44 +04:00
|
|
|
Home: {
|
|
|
|
|
default: 'firstImage',
|
2014-10-22 13:11:26 +04:00
|
|
|
ctrl: 'firstGlobalImage',
|
|
|
|
|
shift: 'firstRibbon',
|
2014-10-21 21:17:44 +04:00
|
|
|
},
|
|
|
|
|
End: {
|
|
|
|
|
default: 'lastImage',
|
2014-10-22 13:11:26 +04:00
|
|
|
ctrl: 'lastGlobalImage',
|
|
|
|
|
shift: 'lastRibbon',
|
2014-10-21 21:17:44 +04:00
|
|
|
},
|
2014-10-13 00:18:26 +04:00
|
|
|
Left: {
|
2014-10-20 06:52:13 +04:00
|
|
|
default: 'prevImage',
|
|
|
|
|
alt: 'shiftImageLeft!',
|
|
|
|
|
ctrl: 'prevScreen',
|
2014-10-13 00:18:26 +04:00
|
|
|
},
|
2014-10-21 21:17:44 +04:00
|
|
|
PgUp: 'prevScreen',
|
|
|
|
|
PgDown: 'nextScreen',
|
2014-10-13 00:18:26 +04:00
|
|
|
Right: {
|
2014-10-20 06:52:13 +04:00
|
|
|
default: 'nextImage',
|
|
|
|
|
alt: 'shiftImageRight!',
|
|
|
|
|
ctrl: 'nextScreen',
|
2014-10-13 00:18:26 +04:00
|
|
|
},
|
2014-10-20 06:52:13 +04:00
|
|
|
'(': 'prevImageInOrder',
|
|
|
|
|
')': 'nextImageInOrder',
|
2014-10-12 03:14:29 +04:00
|
|
|
Up: {
|
2014-10-20 06:52:13 +04:00
|
|
|
default: 'prevRibbon',
|
|
|
|
|
shift: 'shiftImageUp',
|
|
|
|
|
'ctrl+shift': 'shiftImageUpNewRibbon',
|
2014-10-12 03:14:29 +04:00
|
|
|
},
|
|
|
|
|
Down: {
|
2014-10-20 06:52:13 +04:00
|
|
|
default: 'nextRibbon',
|
|
|
|
|
shift: 'shiftImageDown',
|
|
|
|
|
'ctrl+shift': 'shiftImageDownNewRibbon',
|
2014-10-13 00:18:26 +04:00
|
|
|
},
|
2014-10-20 16:38:26 +04:00
|
|
|
|
2014-10-20 06:52:13 +04:00
|
|
|
'#0': 'fitMax',
|
2014-10-18 17:32:41 +04:00
|
|
|
'#1': {
|
2014-10-20 06:52:13 +04:00
|
|
|
default: 'fitImage',
|
2014-11-05 03:26:29 +03:00
|
|
|
shift: 'fitRibbon',
|
2014-10-20 06:52:13 +04:00
|
|
|
ctrl: 'fitOrig!',
|
2014-10-18 17:32:41 +04:00
|
|
|
},
|
2014-11-05 16:19:37 +03:00
|
|
|
'#2': 'fitImage: 2',
|
2014-11-05 01:09:06 +03:00
|
|
|
'#3': {
|
2014-11-05 16:19:37 +03:00
|
|
|
default: 'fitImage: 3',
|
2014-11-05 16:24:36 +03:00
|
|
|
shift: 'fitRibbon: 3.5',
|
2014-11-05 01:09:06 +03:00
|
|
|
},
|
2014-11-05 16:24:36 +03:00
|
|
|
'#4': 'fitImage: 4',
|
2014-11-05 01:09:06 +03:00
|
|
|
'#5': {
|
2014-11-05 16:24:36 +03:00
|
|
|
default: 'fitImage: 5',
|
|
|
|
|
shift: 'fitRibbon: 5.5',
|
2014-11-05 01:09:06 +03:00
|
|
|
},
|
2014-11-05 16:24:36 +03:00
|
|
|
'#6': 'fitImage: 6',
|
|
|
|
|
'#7': 'fitImage: 7',
|
|
|
|
|
'#8':'fitImage: 8',
|
|
|
|
|
'#9': 'fitImage: 9',
|
2014-10-13 00:18:26 +04:00
|
|
|
|
2014-10-20 06:52:13 +04:00
|
|
|
'+': 'zoomIn',
|
2014-10-18 17:32:41 +04:00
|
|
|
'=': '+',
|
2014-10-20 06:52:13 +04:00
|
|
|
'-': 'zoomOut',
|
2014-10-22 05:49:11 +04:00
|
|
|
|
|
|
|
|
F2: {
|
|
|
|
|
default: 'cropRibbon',
|
|
|
|
|
shift: 'cropRibbonAndAbove',
|
|
|
|
|
},
|
|
|
|
|
Esc: {
|
|
|
|
|
default: 'uncrop',
|
|
|
|
|
ctrl: 'uncropAll',
|
|
|
|
|
},
|
2014-10-18 17:32:41 +04:00
|
|
|
|
2014-07-21 16:38:06 +04:00
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-20 06:52:13 +04:00
|
|
|
|
2014-07-21 16:38:06 +04:00
|
|
|
/*********************************************************************/
|
|
|
|
|
|
|
|
|
|
$(function(){
|
2014-10-20 06:52:13 +04:00
|
|
|
|
2014-11-09 19:39:57 +03:00
|
|
|
// XXX
|
2014-10-20 06:52:13 +04:00
|
|
|
window.a = testing.setupActions()
|
|
|
|
|
|
2014-11-11 03:07:14 +03:00
|
|
|
viewer.Features.setup(a, [
|
|
|
|
|
// XXX I do not fully understand it yet, but PartialRibbons must be
|
|
|
|
|
// setup BEFORE AlignRibbonsTo*, otherwise the later will break
|
|
|
|
|
// on shifting an image to a new ribbon...
|
|
|
|
|
// To reproduce:
|
|
|
|
|
// - setupe RibbonAlignToFirst first
|
|
|
|
|
// - go to top ribbon
|
|
|
|
|
// - shift image up
|
|
|
|
|
'ui-partial-ribbons',
|
|
|
|
|
'ui-ribbon-align-to-order',
|
|
|
|
|
'ui-single-image-view',
|
|
|
|
|
'ui-animation',
|
|
|
|
|
'ui-bounds-indicators',
|
|
|
|
|
'ui-current-image-indicator',
|
2014-11-19 06:49:03 +03:00
|
|
|
|
|
|
|
|
'image-marks',
|
|
|
|
|
'image-bookmarks',
|
2014-11-11 03:07:14 +03:00
|
|
|
])
|
2014-10-20 06:52:13 +04:00
|
|
|
|
|
|
|
|
// this publishes all the actions...
|
|
|
|
|
//module.GLOBAL_KEYBOARD.__proto__ = a
|
|
|
|
|
|
|
|
|
|
|
2014-11-08 16:18:20 +03:00
|
|
|
// load some testing data...
|
|
|
|
|
a.load({
|
|
|
|
|
data: data.Data(testing.mock_data),
|
|
|
|
|
viewer: $('.viewer'),
|
|
|
|
|
images: testing.makeTestImages(),
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
2014-07-21 18:21:36 +04:00
|
|
|
// setup base keyboard for devel, in case something breaks...
|
2014-07-21 16:38:06 +04:00
|
|
|
$(document)
|
|
|
|
|
.keydown(
|
|
|
|
|
keyboard.makeKeyboardHandler(
|
2014-07-22 17:09:25 +04:00
|
|
|
module.GLOBAL_KEYBOARD,
|
2014-07-21 16:38:06 +04:00
|
|
|
function(k){
|
|
|
|
|
window.DEBUG && console.log(k)
|
2014-10-20 06:52:13 +04:00
|
|
|
},
|
|
|
|
|
a))
|
2014-07-21 16:38:06 +04:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
|
* vim:set ts=4 sw=4 : */
|
|
|
|
|
return module })
|