@ -37,12 +37,9 @@ Item {
/ / ( i d , m S c a l e )
/ / ( i d , m S c a l e )
property variant frozenTasks: [ ]
property variant frozenTasks: [ ]
onInternalSeparatorPosChanged: {
/ / t h e i n t e r n a l s e p a r a t o r s i n t h e f o r m
if ( internalSeparatorPos > - 1 )
/ / ( l a u n c h e r U r l , i n d e x )
hasInternalSeparator = true ;
property variant separators: [ ]
else
hasInternalSeparator = false ;
}
/ / ! t h i s i s u s e d i n o r d e r t o u p d a t e t h e i n d e x w h e n t h e s i g n a l i s f o r a p p l e t s
/ / ! t h i s i s u s e d i n o r d e r t o u p d a t e t h e i n d e x w h e n t h e s i g n a l i s f o r a p p l e t s
/ / ! o u t s i d e t h e l a t t e p l a s m o i d
/ / ! o u t s i d e t h e l a t t e p l a s m o i d
@ -233,6 +230,8 @@ Item {
return false ;
return false ;
}
}
/ / ! F r o z e n T a s k s f u n c t i o n s
function getFrozenTask ( identifier ) {
function getFrozenTask ( identifier ) {
for ( var i = 0 ; i < frozenTasks . length ; ++ i ) {
for ( var i = 0 ; i < frozenTasks . length ; ++ i ) {
if ( frozenTasks [ i ] . id === identifier ) {
if ( frozenTasks [ i ] . id === identifier ) {
@ -265,4 +264,68 @@ Item {
frozenTasks . push ( { id: identifier , mScale: scale } ) ;
frozenTasks . push ( { id: identifier , mScale: scale } ) ;
}
}
}
}
/ / ! S E P A R A T O R S f u n c t i o n s
/ / u p d a t e t h e r e g i s t e r e d s e p a r a t o r s
/ / l a u n c h e r U r l , n o = a d d / u p d a t e s e p a r a t o r
/ / l a u n c h e r U r l , - 1 = r e m o v e s e p a r a t o r
function setSeparator ( launcher , taskIndex ) {
var currentPos = separatorArrayPos ( launcher ) ;
var updated = false ;
if ( currentPos === - 1 && taskIndex >= 0 ) {
/ / a d d t h a t s e p a r a t o r
separators . push ( { launcherUrl: launcher , index: taskIndex } ) ;
updated = true ;
} else if ( currentPos > - 1 && taskIndex === - 1 ) {
/ / r e m o v e t h a t s e p a r a t o r
separators . splice ( currentPos , 1 ) ;
updated = true ;
} else if ( currentPos > - 1 && taskIndex > - 1 && separators [ currentPos ] . index !== taskIndex ) {
/ / u p d a t e t h a t s e p a r a t o r
separators [ currentPos ] . index = taskIndex ;
updated = true ;
}
if ( updated ) {
hasInternalSeparator = separators . length > 0 ;
internalSeparatorPos = hasInternalSeparator ? separators [ 0 ] . index : - 1 ;
root . separatorsUpdated ( ) ;
}
}
function separatorArrayPos ( launcher ) {
var res = - 1 ;
for ( var i = 0 ; i < separators . length ; ++ i ) {
if ( separators [ i ] . launcherUrl === launcher )
return i ;
}
return res ;
}
function availableLowerIndex ( from ) {
var next = from ;
while ( separators . indexOf ( next ) !== - 1 || hidden . indexOf ( next ) !== - 1 )
next = next - 1 ;
return next ;
}
function availableHigherIndex ( from ) {
var next = from ;
while ( separators . indexOf ( next ) !== - 1 || hidden . indexOf ( next ) !== - 1 )
next = next + 1 ;
return next ;
}
function isSeparator ( launcher ) {
return ( launcher . indexOf ( "latte-separator" ) !== - 1 && launcher . indexOf ( ".desktop" ) !== 1 ) ;
}
}
}