mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-11-02 12:20:08 +00:00
added info display...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
f0b489dd52
commit
cdc352dbae
@ -1,5 +1,5 @@
|
|||||||
Priority work
|
Priority work
|
||||||
[_] 87% Preview II
|
[_] 88% Preview II
|
||||||
[_] 43% native client
|
[_] 43% native client
|
||||||
[_] make cache generator accept command-line args...
|
[_] make cache generator accept command-line args...
|
||||||
[_] 0% Generic
|
[_] 0% Generic
|
||||||
@ -43,6 +43,7 @@ Priority work
|
|||||||
[X] load sorted images from JSON data
|
[X] load sorted images from JSON data
|
||||||
| curently the sort is as in file...
|
| curently the sort is as in file...
|
||||||
[X] fix image ordering...
|
[X] fix image ordering...
|
||||||
|
[X] add basic image info display...
|
||||||
[X] 100% dynamic loading of images
|
[X] 100% dynamic loading of images
|
||||||
[X] 100% stream on navigate
|
[X] 100% stream on navigate
|
||||||
| parameters that affect loading:
|
| parameters that affect loading:
|
||||||
|
|||||||
@ -160,6 +160,14 @@ $(document).ready(setup);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- info display -->
|
||||||
|
<div class="info">
|
||||||
|
<div class="top-left"></div>
|
||||||
|
<div class="top-right"></div>
|
||||||
|
<div class="bottom-left"></div>
|
||||||
|
<div class="bottom-right"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- button bars -->
|
<!-- button bars -->
|
||||||
<div class="controller-mini left">
|
<div class="controller-mini left">
|
||||||
<div class="screen-button show-controls">*</div>
|
<div class="screen-button show-controls">*</div>
|
||||||
|
|||||||
@ -332,6 +332,23 @@ ImageGrid.GROUP('State',
|
|||||||
null
|
null
|
||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
|
ImageGrid.OPTION({
|
||||||
|
name: 'NORMAL_MODE_INFO',
|
||||||
|
display: false,
|
||||||
|
value: null,
|
||||||
|
doc: 'Info display in normal mode.',
|
||||||
|
set: function(){
|
||||||
|
if(ImageGrid.toggleSingleImageMode('?') == 'off'){
|
||||||
|
ImageGrid.toggleInfo(ImageGrid.option.NORMAL_MODE_INFO)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
get: function(){
|
||||||
|
if(ImageGrid.toggleSingleImageMode('?') == 'on'){
|
||||||
|
return ImageGrid.option.NORMAL_MODE_INFO
|
||||||
|
}
|
||||||
|
return ImageGrid.toggleInfo('?')
|
||||||
|
}
|
||||||
|
}),
|
||||||
ImageGrid.OPTION({
|
ImageGrid.OPTION({
|
||||||
name: 'NORMAL_MODE_BG',
|
name: 'NORMAL_MODE_BG',
|
||||||
display: false,
|
display: false,
|
||||||
@ -1051,6 +1068,31 @@ function alignRibbons(){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************** Info Generators **/
|
||||||
|
|
||||||
|
function currentImageNumberInRibbon(){
|
||||||
|
// XXX use image_data intead of DOM as the later can be loaded partially...
|
||||||
|
return (
|
||||||
|
($('.current.ribbon').children('.image').index($('.current.image'))+1)
|
||||||
|
+ '/'
|
||||||
|
+ $('.current.ribbon').children('.image').length)
|
||||||
|
}
|
||||||
|
|
||||||
|
function currentImagePath(){
|
||||||
|
if($('.current.image').length == 0){
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
return unescape(getImageData($('.current.image').attr('id')).path)
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateInfo(){
|
||||||
|
$('.info .bottom-right')
|
||||||
|
.text(currentImageNumberInRibbon())
|
||||||
|
|
||||||
|
//$('.info .bottom-left')
|
||||||
|
// .text(currentImagePath())
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************** Setup Functions **/
|
/************************************************** Setup Functions **/
|
||||||
// XXX is this a correct place for these?
|
// XXX is this a correct place for these?
|
||||||
@ -1062,6 +1104,8 @@ function setDefaultInitialState(){
|
|||||||
if($('.current.image').length == 0){
|
if($('.current.image').length == 0){
|
||||||
$('.current.ribbon').children('.image').first().addClass('current')
|
$('.current.ribbon').children('.image').first().addClass('current')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateInfo()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1082,19 +1126,23 @@ function setupEvents(){
|
|||||||
function(){
|
function(){
|
||||||
updated = true
|
updated = true
|
||||||
})
|
})
|
||||||
/*
|
|
||||||
.on([
|
.on([
|
||||||
// navigation events...
|
// navigation events...
|
||||||
'nextImage prevImage',
|
'nextImage prevImage',
|
||||||
'nextScreenImages',
|
'nextScreenImages',
|
||||||
'prevScreenImages',
|
'prevScreenImages',
|
||||||
'focusAboveRibbon',
|
'focusAboveRibbon',
|
||||||
'focusBelowRibbon'
|
'focusBelowRibbon',
|
||||||
|
'firstImage',
|
||||||
|
'lastImage'
|
||||||
].join(' '),
|
].join(' '),
|
||||||
function(){
|
function(){
|
||||||
|
/*
|
||||||
updated = true
|
updated = true
|
||||||
|
*/
|
||||||
|
|
||||||
|
updateInfo()
|
||||||
})
|
})
|
||||||
*/
|
|
||||||
// zooming...
|
// zooming...
|
||||||
$(document)
|
$(document)
|
||||||
.on([
|
.on([
|
||||||
@ -1682,6 +1730,12 @@ ImageGrid.GROUP('Mode: All',
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
ImageGrid.ACTION({
|
||||||
|
id: 'toggleInfo',
|
||||||
|
title: 'Single additional information',
|
||||||
|
type: 'toggle',
|
||||||
|
},
|
||||||
|
createCSSClassToggler('.viewer', 'display-info', updateInfo)),
|
||||||
|
|
||||||
ImageGrid.ACTION({
|
ImageGrid.ACTION({
|
||||||
id: 'toggleControls',
|
id: 'toggleControls',
|
||||||
@ -1799,6 +1853,7 @@ ImageGrid.GROUP('Mode: Single Image',
|
|||||||
function(action){
|
function(action){
|
||||||
if(action == 'on'){
|
if(action == 'on'){
|
||||||
ImageGrid.option.NORMAL_MODE_BG = ImageGrid.getBackgroundMode()
|
ImageGrid.option.NORMAL_MODE_BG = ImageGrid.getBackgroundMode()
|
||||||
|
ImageGrid.option.NORMAL_MODE_INFO = ImageGrid.toggleInfo('?')
|
||||||
ImageGrid.option.ORIGINAL_FIELD_SCALE = getElementScale($('.field'))
|
ImageGrid.option.ORIGINAL_FIELD_SCALE = getElementScale($('.field'))
|
||||||
// do this only when coming out of single image mode...
|
// do this only when coming out of single image mode...
|
||||||
} else if(ImageGrid.toggleSingleImageMode('?') == 'on'){
|
} else if(ImageGrid.toggleSingleImageMode('?') == 'on'){
|
||||||
@ -1810,9 +1865,11 @@ ImageGrid.GROUP('Mode: Single Image',
|
|||||||
if(action == 'on'){
|
if(action == 'on'){
|
||||||
ImageGrid.fitImage()
|
ImageGrid.fitImage()
|
||||||
ImageGrid.setBackgroundMode(ImageGrid.option.SINGLE_IMAGE_MODE_BG)
|
ImageGrid.setBackgroundMode(ImageGrid.option.SINGLE_IMAGE_MODE_BG)
|
||||||
|
ImageGrid.toggleInfo('off')
|
||||||
} else {
|
} else {
|
||||||
ImageGrid.setContainerScale(ImageGrid.option.ORIGINAL_FIELD_SCALE)
|
ImageGrid.setContainerScale(ImageGrid.option.ORIGINAL_FIELD_SCALE)
|
||||||
ImageGrid.setBackgroundMode(ImageGrid.option.NORMAL_MODE_BG)
|
ImageGrid.setBackgroundMode(ImageGrid.option.NORMAL_MODE_BG)
|
||||||
|
ImageGrid.toggleInfo(ImageGrid.option.NORMAL_MODE_INFO)
|
||||||
}
|
}
|
||||||
clickAfterTransitionsDone()
|
clickAfterTransitionsDone()
|
||||||
})),
|
})),
|
||||||
|
|||||||
@ -293,6 +293,48 @@
|
|||||||
height: 5%;
|
height: 5%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
color: gray;
|
||||||
|
|
||||||
|
opacity: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.display-info .info {
|
||||||
|
display: block;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info .top-left {
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
padding-left: 50px;
|
||||||
|
}
|
||||||
|
.info .top-right {
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
right: 0px;
|
||||||
|
padding-right: 50px;
|
||||||
|
}
|
||||||
|
.info .bottom-left {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0px;
|
||||||
|
left: 0px;
|
||||||
|
padding-left: 50px;
|
||||||
|
}
|
||||||
|
.info .bottom-right {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0px;
|
||||||
|
right: 0px;
|
||||||
|
padding-right: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -352,7 +394,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.dark .overlay *, .dark .splash * {
|
.dark .overlay *, .dark .splash *, .dark .info * {
|
||||||
color: silver;
|
color: silver;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,7 +424,7 @@
|
|||||||
background-color: black;
|
background-color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.black .overlay *, .black .splash * {
|
.black .overlay *, .black .splash *, .black .info * {
|
||||||
color: silver;
|
color: silver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,7 @@ var keybindings = {
|
|||||||
9: ImageGrid.toggleControls, // tab
|
9: ImageGrid.toggleControls, // tab
|
||||||
66: ImageGrid.toggleBackgroundModes, // b
|
66: ImageGrid.toggleBackgroundModes, // b
|
||||||
73: ImageGrid.toggleCurrentRibbonOpacity, // i
|
73: ImageGrid.toggleCurrentRibbonOpacity, // i
|
||||||
|
78: ImageGrid.toggleInfo, // n
|
||||||
77: toggleMarkers, // m
|
77: toggleMarkers, // m
|
||||||
|
|
||||||
87: ImageGrid.saveState, // w
|
87: ImageGrid.saveState, // w
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user