summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorSzymon Kłos <eszkadev@gmail.com>2015-08-14 11:29:40 +0200
committerAndras Timar <andras.timar@collabora.com>2015-10-18 23:49:00 +0200
commit583b1edf2bd4edbf4a3e33877aae60b38d3ec8a7 (patch)
tree416d797466d3cd52cd2fce896a9c996b6335f312 /svx
parent85e7df8cf6abb2dad62dd1f50919d76f7487cdec (diff)
tdf#92411 : don't select all toolbar buttons in the ImageMap Editor
Reviewed-on: https://gerrit.libreoffice.org/17755 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> (cherry picked from commit cd3ca5b24eeebd5ab8e3b98c8e1b5edfd9127042) Conflicts: svx/source/dialog/imapdlg.cxx Change-Id: Id69a03b0379becc4c267a85eb7567bbbd41ccf82
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/imapdlg.cxx46
1 files changed, 41 insertions, 5 deletions
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index bc4a04671e1a..0716dc985c24 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -358,7 +358,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
DoSave();
else if(nNewItemId == mnSelectId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetEditMode( true );
if( pTbx->IsKeyEvent() )
{
@@ -370,7 +370,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnRectId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_RECT );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -380,7 +380,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnCircleId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_CIRC );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -390,7 +390,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnPolyId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_POLY );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -400,7 +400,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnFreePolyId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_FREEFILL );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -421,16 +421,26 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
pIMapWnd->DoPropertyDialog();
else if(nNewItemId == mnPolyEditId)
{
+ SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( pTbx->IsItemChecked( TBI_POLYEDIT ) ? SID_BEZIER_MOVE : 0 );
if( pTbx->IsKeyEvent() && pTbx->IsItemChecked( TBI_POLYEDIT ) )
pIMapWnd->StartPolyEdit();
}
else if(nNewItemId == mnPolyMoveId)
+ {
+ SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( SID_BEZIER_MOVE );
+ }
else if(nNewItemId == mnPolyInsertId)
+ {
+ SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( SID_BEZIER_INSERT );
+ }
else if(nNewItemId == mnPolyDeleteId)
+ {
+ SetActiveTool( nNewItemId );
pIMapWnd->GetSdrView()->DeleteMarkedPoints();
+ }
else if(nNewItemId == mnUndoId)
{
URLLoseFocusHdl( NULL );
@@ -556,6 +566,32 @@ bool SvxIMapDlg::DoSave()
return bRet;
}
+void SvxIMapDlg::SetActiveTool( sal_uInt16 nId )
+{
+ m_pTbxIMapDlg1->CheckItem( mnSelectId, mnSelectId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnRectId, mnRectId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnCircleId, mnCircleId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnPolyId, mnPolyId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnFreePolyId, mnFreePolyId == nId );
+
+ m_pTbxIMapDlg1->CheckItem( mnPolyInsertId, mnPolyInsertId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnPolyDeleteId, false );
+
+ bool bMove = mnPolyMoveId == nId
+ || ( mnPolyEditId == nId
+ && !m_pTbxIMapDlg1->IsItemChecked( TBI_POLYINSERT )
+ && !m_pTbxIMapDlg1->IsItemChecked( TBI_POLYDELETE ) );
+
+ m_pTbxIMapDlg1->CheckItem( mnPolyMoveId, bMove );
+
+ bool bEditMode = ( mnPolyEditId == nId )
+ || ( mnPolyMoveId == nId )
+ || ( mnPolyInsertId == nId )
+ || ( mnPolyDeleteId == nId );
+
+ m_pTbxIMapDlg1->CheckItem( mnPolyEditId, bEditMode );
+}
+
IMPL_LINK( SvxIMapDlg, InfoHdl, IMapWindow*, pWnd )
{
OUString aStr;