Index: sources/gui/qml/components/StackItem.qml =================================================================== diff -u -r3702984c4572607055ab3ede4d45792e74595991 -r8d6f0d14c717e6f3eecb32b6acb4c4306d8eb608 --- sources/gui/qml/components/StackItem.qml (.../StackItem.qml) (revision 3702984c4572607055ab3ede4d45792e74595991) +++ sources/gui/qml/components/StackItem.qml (.../StackItem.qml) (revision 8d6f0d14c717e6f3eecb32b6acb4c4306d8eb608) @@ -33,7 +33,9 @@ /*! * \brief prints out the list of the items in the stack by their index position in the stack. */ - function info() { + function info(vInfo) { + console.debug('-----') + if ( vInfo !== undefined ) console.debug(vInfo) for( var i = 0; i < _stackView.depth; i++ ) { console.debug("index:", i, _stackView.get(i)) } @@ -44,8 +46,15 @@ * \brief page function gets the screen vScreen and tries to find the screen in the stack. * if the page found will pop the items on stack down to that screen. * otherwise adds that screen on top of the stack + * \param vScreen - The screen to navigate to + * \param vCondition - if the vCondition has been passed and is false then page returns immediately + * \param vInfo - some extra information to be shown in the info function if the screen name is the same + * */ - function page(vScreen) { + function page(vScreen, vCondition, vInfo) { + if ( vScreen === undefined || vScreen === null ) return + if ( vCondition !== undefined && vCondition === false ) return + if (stackView.find(function(screen) { return screen === vScreen; })) { @@ -54,7 +63,7 @@ else { _stackView.push(vScreen) } - info() + info(vInfo) } /*!