View | Details | Raw Unified | Return to issue 119829
Collapse All | Expand All

(-)main/sw/inc/fesh.hxx (+1 lines)
Lines 475-480 Link Here
475
475
476
    const SdrObject* GetBestObject( sal_Bool bNext, sal_uInt16 eType = GOTOOBJ_DRAW_ANY, sal_Bool bFlat = sal_True, const ::svx::ISdrObjectFilter* pFilter = NULL );
476
    const SdrObject* GetBestObject( sal_Bool bNext, sal_uInt16 eType = GOTOOBJ_DRAW_ANY, sal_Bool bFlat = sal_True, const ::svx::ISdrObjectFilter* pFilter = NULL );
477
    sal_Bool GotoObj( sal_Bool bNext, sal_uInt16 /*GOTOOBJ_...*/ eType = GOTOOBJ_DRAW_ANY);
477
    sal_Bool GotoObj( sal_Bool bNext, sal_uInt16 /*GOTOOBJ_...*/ eType = GOTOOBJ_DRAW_ANY);
478
	void GotoStartEndObj( sal_Bool bStart);
478
479
479
	//Setzen vom DragMode (z.B. Rotate), tut nix bei Rahmenselektion.
480
	//Setzen vom DragMode (z.B. Rotate), tut nix bei Rahmenselektion.
480
	void SetDragMode( sal_uInt16 eSdrDragMode );
481
	void SetDragMode( sal_uInt16 eSdrDragMode );
(-)main/sw/source/core/frmedt/feshview.cxx (+31 lines)
Lines 1276-1281 Link Here
1276
    };
1276
    };
1277
}
1277
}
1278
1278
1279
void SwFEShell::GotoStartEndObj(sal_Bool bStart)
1280
{
1281
	if (!Imp() || !Imp()->HasDrawView())
1282
		return;
1283
1284
	const SdrMarkList &rMrkList = Imp()->GetDrawView()->GetMarkedObjectList();
1285
	if (rMrkList.GetMark(0) == NULL)
1286
		return;
1287
	const SdrObject* pStartObj = rMrkList.GetMark(0)->GetMarkedSdrObj();
1288
	
1289
	if (!pStartObj)
1290
		return;
1291
1292
        SdrObjList* pList = pStartObj->GetObjList();
1293
1294
	if (!pList)
1295
		return;
1296
1297
	if (pList->GetObjCount() == 0)
1298
		return;
1299
1300
		sal_uLong nEnd = pList->GetObjCount() - 1;
1301
		SdrObject* pObj = bStart ? pList->GetObj( 0 ) : pList->GetObj( nEnd );
1302
1303
	if (!pObj)
1304
		return;
1305
1306
		SelectObj(Point(), 0, pObj);
1307
1308
		return;
1309
}
1279
const SdrObject* SwFEShell::GetBestObject( sal_Bool bNext, sal_uInt16 /*GOTOOBJ_...*/ eType, sal_Bool bFlat, const ::svx::ISdrObjectFilter* pFilter )
1310
const SdrObject* SwFEShell::GetBestObject( sal_Bool bNext, sal_uInt16 /*GOTOOBJ_...*/ eType, sal_Bool bFlat, const ::svx::ISdrObjectFilter* pFilter )
1280
{
1311
{
1281
	if( !Imp()->HasDrawView() )
1312
	if( !Imp()->HasDrawView() )
(-)main/sw/source/ui/docvw/edtwin.cxx (+23 lines)
Lines 1473-1478 Link Here
1473
                       KS_NextCell, KS_PrevCell, KS_OutlineUp, KS_OutlineDown,
1473
                       KS_NextCell, KS_PrevCell, KS_OutlineUp, KS_OutlineDown,
1474
                       KS_GlossaryExpand, KS_NextPrevGlossary,
1474
                       KS_GlossaryExpand, KS_NextPrevGlossary,
1475
                       KS_AutoFmtByInput,
1475
                       KS_AutoFmtByInput,
1476
					   KS_StartObj, KS_EndObj,
1476
                       KS_NextObject, KS_PrevObject,
1477
                       KS_NextObject, KS_PrevObject,
1477
                       KS_KeyToView,
1478
                       KS_KeyToView,
1478
                       KS_LaunchOLEObject, KS_GoIntoFly, KS_GoIntoDrawing,
1479
                       KS_LaunchOLEObject, KS_GoIntoFly, KS_GoIntoDrawing,
Lines 1917-1922 Link Here
1917
                        nTblChgSize = pModOpt->GetTblVInsert();
1918
                        nTblChgSize = pModOpt->GetTblVInsert();
1918
                        goto KEYINPUT_CHECKTABLE_INSDEL;
1919
                        goto KEYINPUT_CHECKTABLE_INSDEL;
1919
                    }
1920
                    }
1921
		case KEY_HOME | KEY_MOD1:
1922
		{
1923
				if(rSh.GetSelectionType() & nsSelectionType::SEL_DRW)
1924
				{
1925
				eKeyState = KS_StartObj;
1926
				}
1927
		}
1928
		break;
1929
		case KEY_END | KEY_MOD1:
1930
		{
1931
				if(rSh.GetSelectionType() & nsSelectionType::SEL_DRW)
1932
				{
1933
				eKeyState = KS_EndObj;
1934
				}					
1935
		}
1936
		break;
1920
                case KEY_TAB:
1937
                case KEY_TAB:
1921
                {
1938
                {
1922
1939
Lines 2445-2450 Link Here
2445
2462
2446
//          case KS_NumOrNoNum:
2463
//          case KS_NumOrNoNum:
2447
//              break;
2464
//              break;
2465
	    case KS_StartObj:
2466
	    case KS_EndObj:
2467
		{
2468
		rSh.GotoStartEndObj(eKeyState == KS_StartObj);
2469
		}
2470
		break;
2448
            case KS_NextObject:
2471
            case KS_NextObject:
2449
            case KS_PrevObject:
2472
            case KS_PrevObject:
2450
                if(rSh.GotoObj( KS_NextObject == eKeyState, GOTOOBJ_GOTO_ANY))
2473
                if(rSh.GotoObj( KS_NextObject == eKeyState, GOTOOBJ_GOTO_ANY))

Return to issue 119829