summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorChristian Lippka <christian.lippka@sun.com>2010-05-10 14:25:18 +0200
committerChristian Lippka <christian.lippka@sun.com>2010-05-10 14:25:18 +0200
commitd24b570e7db3127356f0807d765c0be1fcb3ba19 (patch)
tree6f78ef69333b61de773c2032eb47ad00d7e958c7 /svtools
parente67cb2379351b85ae49892d929053e630316f184 (diff)
#i107213# enable reading of toolbar menu entries on mac
Diffstat (limited to 'svtools')
-rw-r--r--svtools/inc/svtools/toolbarmenu.hxx2
-rw-r--r--svtools/source/control/toolbarmenu.cxx9
-rw-r--r--svtools/source/control/toolbarmenuacc.cxx2
-rw-r--r--[-rwxr-xr-x]svtools/source/control/valueacc.cxx5
-rw-r--r--svtools/source/uno/popupwindowcontroller.cxx5
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;