diff options
author | Christian Lippka <christian.lippka@sun.com> | 2010-05-10 14:25:18 +0200 |
---|---|---|
committer | Christian Lippka <christian.lippka@sun.com> | 2010-05-10 14:25:18 +0200 |
commit | d24b570e7db3127356f0807d765c0be1fcb3ba19 (patch) | |
tree | 6f78ef69333b61de773c2032eb47ad00d7e958c7 /svtools | |
parent | e67cb2379351b85ae49892d929053e630316f184 (diff) |
#i107213# enable reading of toolbar menu entries on mac
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/inc/svtools/toolbarmenu.hxx | 2 | ||||
-rw-r--r-- | svtools/source/control/toolbarmenu.cxx | 9 | ||||
-rw-r--r-- | svtools/source/control/toolbarmenuacc.cxx | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | svtools/source/control/valueacc.cxx | 5 | ||||
-rw-r--r-- | svtools/source/uno/popupwindowcontroller.cxx | 5 |
5 files changed, 18 insertions, 5 deletions
diff --git a/svtools/inc/svtools/toolbarmenu.hxx b/svtools/inc/svtools/toolbarmenu.hxx index 943f714b0097..92b873158a98 100644 --- a/svtools/inc/svtools/toolbarmenu.hxx +++ b/svtools/inc/svtools/toolbarmenu.hxx @@ -103,6 +103,8 @@ public: int getSelectedEntryId() const; int getHighlightedEntryId() const; + void highlightFirstEntry(); + protected: virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible(); diff --git a/svtools/source/control/toolbarmenu.cxx b/svtools/source/control/toolbarmenu.cxx index 8ff327f26731..f07ebd7fe8cd 100644 --- a/svtools/source/control/toolbarmenu.cxx +++ b/svtools/source/control/toolbarmenu.cxx @@ -30,6 +30,7 @@ #include "precompiled_svtools.hxx" #include <com/sun/star/accessibility/AccessibleEventId.hpp> +#include <com/sun/star/accessibility/AccessibleStateType.hpp> #include <comphelper/processfactory.hxx> #include <vcl/dockwin.hxx> @@ -432,6 +433,7 @@ void ToolbarMenu_Impl::notifyHighlightedEntry() fireAccessibleEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, aOld, aNew ); fireAccessibleEvent( AccessibleEventId::SELECTION_CHANGED, aOld, aNew ); + fireAccessibleEvent( AccessibleEventId::STATE_CHANGED, Any(), Any( AccessibleStateType::FOCUSED ) ); aNew >>= mxOldSelection; } } @@ -764,6 +766,13 @@ Size ToolbarMenu::implCalcSize() // -------------------------------------------------------------------- +void ToolbarMenu::highlightFirstEntry() +{ + implChangeHighlightEntry( 0 ); +} + +// -------------------------------------------------------------------- + void ToolbarMenu::GetFocus() { if( mpImpl->mnHighlightedEntry == -1 ) diff --git a/svtools/source/control/toolbarmenuacc.cxx b/svtools/source/control/toolbarmenuacc.cxx index 14586ecd422b..020467084748 100644 --- a/svtools/source/control/toolbarmenuacc.cxx +++ b/svtools/source/control/toolbarmenuacc.cxx @@ -765,7 +765,7 @@ sal_Int16 SAL_CALL ToolbarMenuEntryAcc::getAccessibleRole() throw (RuntimeExcept ::rtl::OUString SAL_CALL ToolbarMenuEntryAcc::getAccessibleDescription() throw (RuntimeException) { - return OUString( RTL_CONSTASCII_USTRINGPARAM( "ToolbarMenu item" ) ); + return ::rtl::OUString(); } // ----------------------------------------------------------------------------- diff --git a/svtools/source/control/valueacc.cxx b/svtools/source/control/valueacc.cxx index 52fa40fcf00e..66da5636d89c 100755..100644 --- a/svtools/source/control/valueacc.cxx +++ b/svtools/source/control/valueacc.cxx @@ -976,10 +976,7 @@ sal_Int16 SAL_CALL ValueItemAcc::getAccessibleRole() ::rtl::OUString SAL_CALL ValueItemAcc::getAccessibleDescription() throw (uno::RuntimeException) { - const vos::OGuard aSolarGuard( Application::GetSolarMutex() ); - String aRet( RTL_CONSTASCII_USTRINGPARAM( "ValueSet item" ) ); - - return aRet; + return ::rtl::OUString(); } // ----------------------------------------------------------------------------- diff --git a/svtools/source/uno/popupwindowcontroller.cxx b/svtools/source/uno/popupwindowcontroller.cxx index 52a636017806..4fbaff23714d 100644 --- a/svtools/source/uno/popupwindowcontroller.cxx +++ b/svtools/source/uno/popupwindowcontroller.cxx @@ -34,6 +34,7 @@ #include <vcl/svapp.hxx> #include "svtools/popupwindowcontroller.hxx" +#include "svtools/toolbarmenu.hxx" using rtl::OUString; using namespace ::com::sun::star; @@ -107,6 +108,10 @@ IMPL_LINK( PopupWindowControllerImpl, WindowEventListener, VclSimpleEvent*, pEve if( mpToolBox ) mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_OPEN, (void*)mpPopupWindow ); mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_GETFOCUS, 0 ); + + svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow ); + if( pToolbarMenu ) + pToolbarMenu->highlightFirstEntry(); break; } break; |