Lines 42-47
Link Here
|
42 |
|
42 |
|
43 |
#include "hintids.hxx" |
43 |
#include "hintids.hxx" |
44 |
|
44 |
|
|
|
45 |
#ifndef _SV_SVAPP_HXX |
46 |
#include <vcl/svapp.hxx> |
47 |
#endif |
45 |
#ifndef _SFXDISPATCH_HXX //autogen |
48 |
#ifndef _SFXDISPATCH_HXX //autogen |
46 |
#include <sfx2/dispatch.hxx> |
49 |
#include <sfx2/dispatch.hxx> |
47 |
#endif |
50 |
#endif |
Lines 324-346
Link Here
|
324 |
*/ |
327 |
*/ |
325 |
IMPL_LINK( SwView, BtnPage, Button *, pButton ) |
328 |
IMPL_LINK( SwView, BtnPage, Button *, pButton ) |
326 |
{ |
329 |
{ |
327 |
MoveNavigation(pButton == pPageDownBtn); |
330 |
// #i75416# move the execution of the search to an asynchronously called static link |
|
|
331 |
BOOL* pbNext = new BOOL( FALSE ); |
332 |
if (pButton == pPageDownBtn) *pbNext = TRUE; |
333 |
Application::PostUserEvent( STATIC_LINK(this, SwView, MoveNavigationHdl), pbNext ); |
328 |
return 0; |
334 |
return 0; |
329 |
} |
335 |
} |
330 |
/*-----------------20.06.97 10:46------------------- |
336 |
/*-----------------20.06.97 10:46------------------- |
331 |
|
337 |
|
332 |
--------------------------------------------------*/ |
338 |
--------------------------------------------------*/ |
333 |
void SwView::MoveNavigation(BOOL bNext) |
339 |
IMPL_STATIC_LINK( SwView, MoveNavigationHdl, BOOL *, pbNext ) |
334 |
{ |
340 |
{ |
335 |
SwWrtShell& rSh = GetWrtShell(); |
341 |
if ( !pbNext ) |
|
|
342 |
return 0; |
343 |
SwWrtShell& rSh = pThis->GetWrtShell(); |
336 |
switch( nMoveType ) |
344 |
switch( nMoveType ) |
337 |
{ |
345 |
{ |
338 |
case NID_PGE: |
346 |
case NID_PGE: |
339 |
bNext ? PhyPageDown() : PhyPageUp(); |
347 |
*pbNext ? pThis->PhyPageDown() : pThis->PhyPageUp(); |
340 |
break; |
348 |
break; |
341 |
case NID_TBL : |
349 |
case NID_TBL : |
342 |
rSh.EnterStdMode(); |
350 |
rSh.EnterStdMode(); |
343 |
if(bNext) |
351 |
if(*pbNext) |
344 |
rSh.MoveTable(fnTableNext, fnTableStart); |
352 |
rSh.MoveTable(fnTableNext, fnTableStart); |
345 |
else |
353 |
else |
346 |
rSh.MoveTable(fnTablePrev, fnTableStart); |
354 |
rSh.MoveTable(fnTablePrev, fnTableStart); |
Lines 354-360
Link Here
|
354 |
eType = FLY_GRF; |
362 |
eType = FLY_GRF; |
355 |
else if(nMoveType == NID_OLE) |
363 |
else if(nMoveType == NID_OLE) |
356 |
eType = FLY_OLE; |
364 |
eType = FLY_OLE; |
357 |
BOOL bSuccess = bNext ? |
365 |
BOOL bSuccess = *pbNext ? |
358 |
rSh.GotoNextFly(eType) : |
366 |
rSh.GotoNextFly(eType) : |
359 |
rSh.GotoPrevFly(eType); |
367 |
rSh.GotoPrevFly(eType); |
360 |
if(bSuccess) |
368 |
if(bSuccess) |
Lines 366-379
Link Here
|
366 |
break; |
374 |
break; |
367 |
case NID_DRW : |
375 |
case NID_DRW : |
368 |
case NID_CTRL: |
376 |
case NID_CTRL: |
369 |
rSh.GotoObj(bNext, |
377 |
rSh.GotoObj(*pbNext, |
370 |
nMoveType == NID_DRW ? |
378 |
nMoveType == NID_DRW ? |
371 |
DRAW_SIMPLE : |
379 |
DRAW_SIMPLE : |
372 |
DRAW_CONTROL); |
380 |
DRAW_CONTROL); |
373 |
break; |
381 |
break; |
374 |
case NID_REG : |
382 |
case NID_REG : |
375 |
rSh.EnterStdMode(); |
383 |
rSh.EnterStdMode(); |
376 |
if(bNext) |
384 |
if(*pbNext) |
377 |
rSh.MoveRegion(fnRegionNext, fnRegionStart); |
385 |
rSh.MoveRegion(fnRegionNext, fnRegionStart); |
378 |
else |
386 |
else |
379 |
rSh.MoveRegion(fnRegionPrev, fnRegionStart); |
387 |
rSh.MoveRegion(fnRegionPrev, fnRegionStart); |
Lines 381-400
Link Here
|
381 |
break; |
389 |
break; |
382 |
case NID_BKM : |
390 |
case NID_BKM : |
383 |
rSh.EnterStdMode(); |
391 |
rSh.EnterStdMode(); |
384 |
GetViewFrame()->GetDispatcher()->Execute(bNext ? |
392 |
pThis->GetViewFrame()->GetDispatcher()->Execute(*pbNext ? |
385 |
FN_NEXT_BOOKMARK : |
393 |
FN_NEXT_BOOKMARK : |
386 |
FN_PREV_BOOKMARK); |
394 |
FN_PREV_BOOKMARK); |
387 |
break; |
395 |
break; |
388 |
case NID_OUTL: |
396 |
case NID_OUTL: |
389 |
rSh.EnterStdMode(); |
397 |
rSh.EnterStdMode(); |
390 |
bNext ? rSh.GotoNextOutline() : rSh.GotoPrevOutline(); |
398 |
*pbNext ? rSh.GotoNextOutline() : rSh.GotoPrevOutline(); |
391 |
break; |
399 |
break; |
392 |
case NID_SEL : |
400 |
case NID_SEL : |
393 |
bNext ? rSh.GoNextCrsr() : rSh.GoPrevCrsr(); |
401 |
*pbNext ? rSh.GoNextCrsr() : rSh.GoPrevCrsr(); |
394 |
break; |
402 |
break; |
395 |
case NID_FTN: |
403 |
case NID_FTN: |
396 |
rSh.EnterStdMode(); |
404 |
rSh.EnterStdMode(); |
397 |
bNext ? |
405 |
*pbNext ? |
398 |
rSh.GotoNextFtnAnchor() : |
406 |
rSh.GotoNextFtnAnchor() : |
399 |
rSh.GotoPrevFtnAnchor(); |
407 |
rSh.GotoPrevFtnAnchor(); |
400 |
break; |
408 |
break; |
Lines 416-422
Link Here
|
416 |
} |
424 |
} |
417 |
if (nMarkCount) |
425 |
if (nMarkCount) |
418 |
{ |
426 |
{ |
419 |
if(!bNext) |
427 |
if(!(*pbNext)) |
420 |
{ |
428 |
{ |
421 |
if (nActMark > 1) |
429 |
if (nActMark > 1) |
422 |
--nActMark; |
430 |
--nActMark; |
Lines 438-471
Link Here
|
438 |
{ |
446 |
{ |
439 |
|
447 |
|
440 |
SwFieldType* pFldType = rSh.GetFldType(0, RES_POSTITFLD); |
448 |
SwFieldType* pFldType = rSh.GetFldType(0, RES_POSTITFLD); |
441 |
rSh.MoveFldType( pFldType, bNext ); |
449 |
rSh.MoveFldType( pFldType, *pbNext ); |
442 |
} |
450 |
} |
443 |
break; |
451 |
break; |
444 |
case NID_SRCH_REP: |
452 |
case NID_SRCH_REP: |
445 |
if(pSrchItem) |
453 |
if(pSrchItem) |
446 |
{ |
454 |
{ |
447 |
BOOL bBackward = pSrchItem->GetBackward(); |
455 |
BOOL bBackward = pSrchItem->GetBackward(); |
448 |
if(rSh.HasSelection() && !bNext == rSh.IsCrsrPtAtEnd()) |
456 |
if(rSh.HasSelection() && !(*pbNext) == rSh.IsCrsrPtAtEnd()) |
449 |
rSh.SwapPam(); |
457 |
rSh.SwapPam(); |
450 |
pSrchItem->SetBackward(!bNext); |
458 |
pSrchItem->SetBackward(!(*pbNext)); |
451 |
SfxRequest aReq(FN_REPEAT_SEARCH, SFX_CALLMODE_SLOT, GetPool()); |
459 |
SfxRequest aReq(FN_REPEAT_SEARCH, SFX_CALLMODE_SLOT, pThis->GetPool()); |
452 |
ExecSearch(aReq); |
460 |
pThis->ExecSearch(aReq); |
453 |
pSrchItem->SetBackward(bBackward); |
461 |
pSrchItem->SetBackward(bBackward); |
454 |
} |
462 |
} |
455 |
break; |
463 |
break; |
456 |
case NID_INDEX_ENTRY: |
464 |
case NID_INDEX_ENTRY: |
457 |
rSh.GotoNxtPrvTOXMark(bNext); |
465 |
rSh.GotoNxtPrvTOXMark(*pbNext); |
458 |
break; |
466 |
break; |
459 |
|
467 |
|
460 |
case NID_TABLE_FORMULA: |
468 |
case NID_TABLE_FORMULA: |
461 |
rSh.GotoNxtPrvTblFormula( bNext ); |
469 |
rSh.GotoNxtPrvTblFormula( *pbNext ); |
462 |
break; |
470 |
break; |
463 |
|
471 |
|
464 |
case NID_TABLE_FORMULA_ERROR: |
472 |
case NID_TABLE_FORMULA_ERROR: |
465 |
rSh.GotoNxtPrvTblFormula( bNext, TRUE ); |
473 |
rSh.GotoNxtPrvTblFormula( *pbNext, TRUE ); |
466 |
break; |
474 |
break; |
467 |
} |
475 |
} |
468 |
pEditWin->GrabFocus(); |
476 |
pThis->pEditWin->GrabFocus(); |
|
|
477 |
|
478 |
delete pbNext; |
479 |
|
480 |
return 0; |
469 |
} |
481 |
} |
470 |
|
482 |
|
471 |
/************************************************************************* |
483 |
/************************************************************************* |