mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
added a 'single-image' workspace + added push/pop worspace actions...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
58b1672ab8
commit
14d1b9410e
@ -1251,6 +1251,22 @@ stretching in width... */
|
||||
content: "Global";
|
||||
}
|
||||
|
||||
/* gid */
|
||||
.overlay-info .gid {
|
||||
opacity: 0.7;
|
||||
}
|
||||
.overlay-info .gid:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
.overlay-info .path {
|
||||
opacity: 0.7;
|
||||
}
|
||||
.overlay-info .path:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************************** Global status ***/
|
||||
|
||||
@ -330,6 +330,8 @@ module.makeWorkspaceConfigLoader = function(keys, callback){
|
||||
|
||||
var WorkspaceActions = actions.Actions({
|
||||
config: {
|
||||
'load-workspace': 'default',
|
||||
|
||||
'workspace': 'default',
|
||||
'workspaces': {},
|
||||
},
|
||||
@ -396,6 +398,28 @@ var WorkspaceActions = actions.Actions({
|
||||
makeConfigToggler('workspace',
|
||||
function(){ return Object.keys(this.config['workspaces']) },
|
||||
function(state){ this.loadWorkspace(state) })],
|
||||
|
||||
pushWorkspace: ['- Workspace/',
|
||||
function(name){
|
||||
name = name || this.workspace
|
||||
var stack = this.__workspace_stack = this.__workspace_stack || []
|
||||
|
||||
this.saveWorkspace()
|
||||
|
||||
this.workspace != name && this.loadWorkspace(name)
|
||||
stack.push(name)
|
||||
}],
|
||||
popWorkspace: ['- Workspace/',
|
||||
function(){
|
||||
var stack = this.__workspace_stack
|
||||
|
||||
if(!stack || stack.length == 0){
|
||||
return
|
||||
}
|
||||
|
||||
this.saveWorkspace()
|
||||
this.loadWorkspace(stack.pop())
|
||||
}],
|
||||
})
|
||||
|
||||
|
||||
@ -412,8 +436,12 @@ module.Workspace = ImageGridFeatures.Feature({
|
||||
actions: WorkspaceActions,
|
||||
|
||||
handlers: [
|
||||
['start',
|
||||
function(){
|
||||
this.loadWorkspace(this.config['load-workspace'] || 'default') }],
|
||||
['stop',
|
||||
function(){ this.saveWorkspace() }],
|
||||
function(){
|
||||
this.saveWorkspace() }],
|
||||
],
|
||||
})
|
||||
|
||||
|
||||
@ -226,7 +226,22 @@ var SingleImageActions = actions.Actions({
|
||||
toggleSingleImage: ['Interface/Toggle single image view',
|
||||
toggler.CSSClassToggler(
|
||||
function(){ return this.ribbons.viewer },
|
||||
'single-image-mode') ],
|
||||
'single-image-mode',
|
||||
function(state){
|
||||
if(state == 'on'){
|
||||
this.pushWorkspace()
|
||||
|
||||
if(this.workspaces['single-image'] == null){
|
||||
this.loadWorkspace('ui-chrome-hidden')
|
||||
this.saveWorkspace('single-image')
|
||||
}
|
||||
|
||||
this.loadWorkspace('single-image')
|
||||
|
||||
} else {
|
||||
this.popWorkspace()
|
||||
}
|
||||
})],
|
||||
})
|
||||
|
||||
|
||||
|
||||
@ -183,9 +183,11 @@ var SlideshowActions = actions.Actions({
|
||||
|
||||
// prepare for the slideshow...
|
||||
} else {
|
||||
// single image mode...
|
||||
this.toggleSingleImage('on')
|
||||
|
||||
// save current workspace...
|
||||
this.__pre_slideshow_workspace = this.workspace
|
||||
this.saveWorkspace()
|
||||
this.pushWorkspace()
|
||||
|
||||
// construct the slideshow workspace if it does
|
||||
// not exist...
|
||||
@ -199,9 +201,6 @@ var SlideshowActions = actions.Actions({
|
||||
|
||||
// load the slideshow workspace...
|
||||
this.loadWorkspace('slideshow')
|
||||
|
||||
// single image mode...
|
||||
this.toggleSingleImage('on')
|
||||
}
|
||||
|
||||
// start the timer...
|
||||
@ -230,17 +229,13 @@ var SlideshowActions = actions.Actions({
|
||||
|
||||
// stop...
|
||||
} else {
|
||||
this.saveWorkspace('slideshow')
|
||||
|
||||
// stop timer...
|
||||
this.__slideshouw_timer
|
||||
&& clearInterval(this.__slideshouw_timer)
|
||||
delete this.__slideshouw_timer
|
||||
|
||||
// restore the original workspace...
|
||||
this.__pre_slideshow_workspace &&
|
||||
this.loadWorkspace(this.__pre_slideshow_workspace)
|
||||
delete this.__pre_slideshow_workspace
|
||||
this.popWorkspace()
|
||||
}
|
||||
})],
|
||||
|
||||
|
||||
@ -307,7 +307,7 @@ var StatusBarActions = actions.Actions({
|
||||
|
||||
var bar = this.ribbons.viewer.find('.state-indicator-container.global-info')
|
||||
if(bar.length == 0){
|
||||
bar = makeStateIndicator('global-info overlay-info')
|
||||
bar = makeStateIndicator('global-info overlay-info statusbar')
|
||||
.addClass(this.config['status-bar-mode'] || '')
|
||||
.on('mouseover', function(){
|
||||
var t = $(event.target)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user