Kaydet (Commit) 583b1edf authored tarafından Szymon Kłos's avatar Szymon Kłos Kaydeden (comit) Andras Timar

tdf#92411 : don't select all toolbar buttons in the ImageMap Editor

Reviewed-on: https://gerrit.libreoffice.org/17755Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNorbert Thiebaud <nthiebaud@gmail.com>
(cherry picked from commit cd3ca5b2)

Conflicts:
	svx/source/dialog/imapdlg.cxx

Change-Id: Id69a03b0379becc4c267a85eb7567bbbd41ccf82
üst 85e7df8c
...@@ -130,6 +130,7 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow ...@@ -130,6 +130,7 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
void DoOpen(); void DoOpen();
bool DoSave(); bool DoSave();
void SetActiveTool( sal_uInt16 nId );
public: public:
......
...@@ -358,7 +358,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void ) ...@@ -358,7 +358,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
DoSave(); DoSave();
else if(nNewItemId == mnSelectId) else if(nNewItemId == mnSelectId)
{ {
pTbx->CheckItem( nNewItemId, true ); SetActiveTool( nNewItemId );
pIMapWnd->SetEditMode( true ); pIMapWnd->SetEditMode( true );
if( pTbx->IsKeyEvent() ) if( pTbx->IsKeyEvent() )
{ {
...@@ -370,7 +370,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void ) ...@@ -370,7 +370,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
} }
else if(nNewItemId == mnRectId) else if(nNewItemId == mnRectId)
{ {
pTbx->CheckItem( nNewItemId, true ); SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_RECT ); pIMapWnd->SetObjKind( OBJ_RECT );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) ) if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{ {
...@@ -380,7 +380,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void ) ...@@ -380,7 +380,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
} }
else if(nNewItemId == mnCircleId) else if(nNewItemId == mnCircleId)
{ {
pTbx->CheckItem( nNewItemId, true ); SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_CIRC ); pIMapWnd->SetObjKind( OBJ_CIRC );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) ) if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{ {
...@@ -390,7 +390,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void ) ...@@ -390,7 +390,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
} }
else if(nNewItemId == mnPolyId) else if(nNewItemId == mnPolyId)
{ {
pTbx->CheckItem( nNewItemId, true ); SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_POLY ); pIMapWnd->SetObjKind( OBJ_POLY );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) ) if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{ {
...@@ -400,7 +400,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void ) ...@@ -400,7 +400,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
} }
else if(nNewItemId == mnFreePolyId) else if(nNewItemId == mnFreePolyId)
{ {
pTbx->CheckItem( nNewItemId, true ); SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_FREEFILL ); pIMapWnd->SetObjKind( OBJ_FREEFILL );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) ) if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{ {
...@@ -421,16 +421,26 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void ) ...@@ -421,16 +421,26 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
pIMapWnd->DoPropertyDialog(); pIMapWnd->DoPropertyDialog();
else if(nNewItemId == mnPolyEditId) else if(nNewItemId == mnPolyEditId)
{ {
SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( pTbx->IsItemChecked( TBI_POLYEDIT ) ? SID_BEZIER_MOVE : 0 ); pIMapWnd->SetPolyEditMode( pTbx->IsItemChecked( TBI_POLYEDIT ) ? SID_BEZIER_MOVE : 0 );
if( pTbx->IsKeyEvent() && pTbx->IsItemChecked( TBI_POLYEDIT ) ) if( pTbx->IsKeyEvent() && pTbx->IsItemChecked( TBI_POLYEDIT ) )
pIMapWnd->StartPolyEdit(); pIMapWnd->StartPolyEdit();
} }
else if(nNewItemId == mnPolyMoveId) else if(nNewItemId == mnPolyMoveId)
{
SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( SID_BEZIER_MOVE ); pIMapWnd->SetPolyEditMode( SID_BEZIER_MOVE );
}
else if(nNewItemId == mnPolyInsertId) else if(nNewItemId == mnPolyInsertId)
{
SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( SID_BEZIER_INSERT ); pIMapWnd->SetPolyEditMode( SID_BEZIER_INSERT );
}
else if(nNewItemId == mnPolyDeleteId) else if(nNewItemId == mnPolyDeleteId)
{
SetActiveTool( nNewItemId );
pIMapWnd->GetSdrView()->DeleteMarkedPoints(); pIMapWnd->GetSdrView()->DeleteMarkedPoints();
}
else if(nNewItemId == mnUndoId) else if(nNewItemId == mnUndoId)
{ {
URLLoseFocusHdl( NULL ); URLLoseFocusHdl( NULL );
...@@ -556,6 +566,32 @@ bool SvxIMapDlg::DoSave() ...@@ -556,6 +566,32 @@ bool SvxIMapDlg::DoSave()
return bRet; 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 ) IMPL_LINK( SvxIMapDlg, InfoHdl, IMapWindow*, pWnd )
{ {
OUString aStr; OUString aStr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment