Update of /cvsroot/libufo/ufo-0.5/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6642/src
Modified Files:
umenumanager.cpp
Log Message:
Fixed deselecting top level menu. Selecting first menu item on changing top level menu (thanks Mobius).
Index: umenumanager.cpp
===================================================================
RCS file: /cvsroot/libufo/ufo-0.5/src/umenumanager.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** umenumanager.cpp 15 Aug 2005 17:29:29 -0000 1.14
--- umenumanager.cpp 17 Aug 2005 09:57:56 -0000 1.15
***************
*** 117,121 ****
case UKey::UK_LEFT:
if (topLevel) {
! highlightPreviousSibling(menu);
} else {
UMenu * parentMenu = item->getParentMenu();
--- 117,121 ----
case UKey::UK_LEFT:
if (topLevel) {
! highlightPreviousTopLevel(menu);
} else {
UMenu * parentMenu = item->getParentMenu();
***************
*** 132,136 ****
case UKey::UK_RIGHT:
if (topLevel) {
! highlightNextSibling(menu);
} else if (menu) {
recalcPathWithLeaf(dynamic_cast<UMenuItem*>(menu->getPopupMenu()->getWidget(0)));
--- 132,136 ----
case UKey::UK_RIGHT:
if (topLevel) {
! highlightNextTopLevel(menu);
} else if (menu) {
recalcPathWithLeaf(dynamic_cast<UMenuItem*>(menu->getPopupMenu()->getWidget(0)));
***************
*** 322,325 ****
--- 322,329 ----
}
}
+ // special case for deselecting top level menu
+ if (!parents.size() && m_menuPath.size() && *(m_menuPath.begin()) == item) {
+ ++path_iter;
+ }
// clear all non-identical parents
|