desktop/source/app/app.cxx | 14 desktop/source/deployment/gui/dp_gui_handleversionexception.cxx | 67 ++- desktop/source/inc/dp_gui_handleversionexception.hxx | 5 desktop/source/migration/services/oo3extensionmigration.cxx | 5 sw/source/ui/docvw/edtwin.cxx | 179 +--------- 5 files changed, 75 insertions(+), 195 deletions(-)
New commits: commit ed13d17d8849705ba9f629cb813deaa8db7d5419 Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Fri Aug 23 09:51:25 2013 +0000 122976: suppress user interaction on install of already installed extension during the 'silent' installation of the so-called bundled extensions and during the migration of extensions from a former user profile diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index bd2cb86..6689f04 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -801,8 +801,9 @@ void MinimalCommandEnv::handle( css::deployment::VersionException verExc; if ( xRequest->getRequest() >>= verExc ) { - // user interaction, if an extension is already been installed. - bApprove = handleVersionException( verExc ); + // choose newest version, if an extension is already been installed. + const bool bChooseNewestVersion = true; + bApprove = handleVersionException( verExc, 0, bChooseNewestVersion ); } const css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > conts( xRequest->getContinuations()); diff --git a/desktop/source/deployment/gui/dp_gui_handleversionexception.cxx b/desktop/source/deployment/gui/dp_gui_handleversionexception.cxx index 624ab45..56d00f3 100644 --- a/desktop/source/deployment/gui/dp_gui_handleversionexception.cxx +++ b/desktop/source/deployment/gui/dp_gui_handleversionexception.cxx @@ -53,7 +53,8 @@ extern "C" { bool handleVersionException( com::sun::star::deployment::VersionException verExc, - DialogHelper* pDialogHelper ) + DialogHelper* pDialogHelper, + const bool bChooseNewestVersion ) { bool bApprove = false; @@ -72,37 +73,45 @@ bool handleVersionException( break; } OSL_ASSERT( verExc.Deployed.is() ); - const bool bEqualNames = verExc.NewDisplayName.equals( - verExc.Deployed->getDisplayName()); + + if ( bChooseNewestVersion ) { - vos::OGuard guard(Application::GetSolarMutex()); - WarningBox box( pDialogHelper ? pDialogHelper->getWindow() : NULL, ResId(id, *DeploymentGuiResMgr::get())); - String s; - if (bEqualNames) - { - s = box.GetMessText(); - } - else if (id == RID_WARNINGBOX_VERSION_EQUAL) - { - //hypothetical: requires two instances of an extension with the same - //version to have different display names. Probably the developer forgot - //to change the version. - s = String(ResId(RID_STR_WARNINGBOX_VERSION_EQUAL_DIFFERENT_NAMES, *DeploymentGuiResMgr::get())); - } - else if (id == RID_WARNINGBOX_VERSION_LESS) - { - s = String(ResId(RID_STR_WARNINGBOX_VERSION_LESS_DIFFERENT_NAMES, *DeploymentGuiResMgr::get())); - } - else if (id == RID_WARNINGBOX_VERSION_GREATER) + bApprove = id == RID_WARNINGBOX_VERSION_GREATER; + } + else + { + const bool bEqualNames = verExc.NewDisplayName.equals( + verExc.Deployed->getDisplayName()); { - s = String(ResId(RID_STR_WARNINGBOX_VERSION_GREATER_DIFFERENT_NAMES, *DeploymentGuiResMgr::get())); + vos::OGuard guard(Application::GetSolarMutex()); + WarningBox box( pDialogHelper ? pDialogHelper->getWindow() : NULL, ResId(id, *DeploymentGuiResMgr::get())); + String s; + if (bEqualNames) + { + s = box.GetMessText(); + } + else if (id == RID_WARNINGBOX_VERSION_EQUAL) + { + //hypothetical: requires two instances of an extension with the same + //version to have different display names. Probably the developer forgot + //to change the version. + s = String(ResId(RID_STR_WARNINGBOX_VERSION_EQUAL_DIFFERENT_NAMES, *DeploymentGuiResMgr::get())); + } + else if (id == RID_WARNINGBOX_VERSION_LESS) + { + s = String(ResId(RID_STR_WARNINGBOX_VERSION_LESS_DIFFERENT_NAMES, *DeploymentGuiResMgr::get())); + } + else if (id == RID_WARNINGBOX_VERSION_GREATER) + { + s = String(ResId(RID_STR_WARNINGBOX_VERSION_GREATER_DIFFERENT_NAMES, *DeploymentGuiResMgr::get())); + } + s.SearchAndReplaceAllAscii( "$NAME", verExc.NewDisplayName); + s.SearchAndReplaceAllAscii( "$OLDNAME", verExc.Deployed->getDisplayName()); + s.SearchAndReplaceAllAscii( "$NEW", getVersion(verExc.NewVersion) ); + s.SearchAndReplaceAllAscii( "$DEPLOYED", getVersion(verExc.Deployed) ); + box.SetMessText(s); + bApprove = box.Execute() == RET_OK; } - s.SearchAndReplaceAllAscii( "$NAME", verExc.NewDisplayName); - s.SearchAndReplaceAllAscii( "$OLDNAME", verExc.Deployed->getDisplayName()); - s.SearchAndReplaceAllAscii( "$NEW", getVersion(verExc.NewVersion) ); - s.SearchAndReplaceAllAscii( "$DEPLOYED", getVersion(verExc.Deployed) ); - box.SetMessText(s); - bApprove = box.Execute() == RET_OK; } return bApprove; diff --git a/desktop/source/inc/dp_gui_handleversionexception.hxx b/desktop/source/inc/dp_gui_handleversionexception.hxx index 32272aa..2a4fd50 100755 --- a/desktop/source/inc/dp_gui_handleversionexception.hxx +++ b/desktop/source/inc/dp_gui_handleversionexception.hxx @@ -30,10 +30,13 @@ namespace dp_gui{ class DialogHelper; } extern "C" { + // optional parameter <bChooseNewestVersion> indicates, if + // the newest version is chosen without user interaction. DESKTOP_DEPLOYMENTGUI_DLLPUBLIC bool handleVersionException( com::sun::star::deployment::VersionException verExc, - dp_gui::DialogHelper* pDialogHelper = 0 ); + dp_gui::DialogHelper* pDialogHelper = 0, + const bool bChooseNewestVersion = false ); } #endif diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx index 03dd9515..795d01f 100644 --- a/desktop/source/migration/services/oo3extensionmigration.cxx +++ b/desktop/source/migration/services/oo3extensionmigration.cxx @@ -530,8 +530,9 @@ void TmpRepositoryCommandEnv::handle( deployment::VersionException verExc; if ( xRequest->getRequest() >>= verExc ) { - // user interaction, if an extension is already been installed. - approve = handleVersionException( verExc ); + // choose newest version, if an extension is already been installed. + const bool bChooseNewestVersion = true; + approve = handleVersionException( verExc, 0, bChooseNewestVersion ); abort = !approve; } commit c68c57a1e021ebef7fb79fd0b4d3ab21dcaf41b2 Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Fri Aug 23 09:42:06 2013 +0000 122976: <installBundledExtensionBlobs()> - handle exceptions thrown by the extension manager diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 1b82e41..bd2cb86 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -954,6 +954,15 @@ static void installBundledExtensionBlobs() {} catch( css::deployment::DeploymentException&) {} + catch ( css::ucb::CommandFailedException& ) + { + } + catch ( css::ucb::CommandAbortedException& ) + { + } + catch ( css::lang::IllegalArgumentException& ) + { + } } } commit 4dd71466a9463d234b918ce2729c49a57293fb24 Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Fri Aug 23 08:42:38 2013 +0000 123051: some minor code clean up diff --git a/sw/source/ui/docvw/edtwin.cxx b/sw/source/ui/docvw/edtwin.cxx index af71c15..e51cf48 100644 --- a/sw/source/ui/docvw/edtwin.cxx +++ b/sw/source/ui/docvw/edtwin.cxx @@ -116,17 +116,14 @@ #include <helpid.h> #include <cmdid.h> -#ifndef _DOCVW_HRC #include <docvw.hrc> -#endif #include <uitool.hxx> -// OD 18.09.2003 #i18732# #include <fmtfollowtextflow.hxx> #include <toolkit/helper/vclunohelper.hxx> #include <charfmt.hxx> #include <numrule.hxx> #include <pagedesc.hxx> -#include <svtools/ruler.hxx> // #i23726# +#include <svtools/ruler.hxx> #include "formatclipboard.hxx" #include <vos/mutex.hxx> #include <vcl/svapp.hxx> @@ -137,11 +134,6 @@ #include <PostItMgr.hxx> -//JP 11.10.2001: enable test code for bug fix 91313 -#if defined(DBG_UTIL) && (OSL_DEBUG_LEVEL > 1) -//#define TEST_FOR_BUG91313 -#endif - using namespace sw::mark; using namespace ::com::sun::star; @@ -189,17 +181,13 @@ class SwAnchorMarker SdrHdl* pHdl; Point aHdlPos; Point aLastPos; - // --> OD 2010-09-16 #i114522# bool bTopRightHandle; - // <-- public: SwAnchorMarker( SdrHdl* pH ) : pHdl( pH ) , aHdlPos( pH->GetPos() ) , aLastPos( pH->GetPos() ) - // --> OD 2010-09-16 #i114522# , bTopRightHandle( pH->GetKind() == HDL_ANCHOR_TR ) - // <-- {} const Point& GetLastPos() const { return aLastPos; } void SetLastPos( const Point& rNew ) { aLastPos = rNew; } @@ -210,14 +198,11 @@ public: void ChgHdl( SdrHdl* pNew ) { pHdl = pNew; - // --> OD 2010-09-16 #i114522# if ( pHdl ) { bTopRightHandle = (pHdl->GetKind() == HDL_ANCHOR_TR); } - // <-- } - // --> OD 2010-09-16 #i114522# const Point GetPosForHitTest( const OutputDevice& rOut ) { Point aHitTestPos( GetPos() ); @@ -234,7 +219,6 @@ public: return aHitTestPos; } - // <-- }; struct QuickHelpData @@ -323,7 +307,6 @@ void SwEditWin::UpdatePointer(const Point &rLPt, sal_uInt16 nModifier ) delete pUserMarker; pUserMarker = 0L; } -// rSh.SwCrsrShell::UnSetVisCrsr( rLPt ); eStyle = POINTER_NOTALLOWED; } else @@ -639,11 +622,7 @@ void SwEditWin::JustifyAreaTimer() nDiff = Max( Max( aMovePos.Y() - rVisArea.Bottom(), rVisArea.Top() - aMovePos.Y() ), Max( aMovePos.X() - rVisArea.Right(), rVisArea.Left() - aMovePos.X())); -#ifdef TEST_FOR_BUG91313 aTimer.SetTimeout( Max( coMinLen, nTimeout - nDiff) ); -#else - aTimer.SetTimeout( Max( coMinLen, nTimeout - nDiff*2L) ); -#endif } void SwEditWin::LeaveArea(const Point &rPos) @@ -679,9 +658,6 @@ void SwEditWin::StdDrawMode( SdrObjKind eSdrObjectKind, sal_Bool bObjSelect ) { SetSdrDrawMode( eSdrObjectKind ); -/* if (GetDrawFuncPtr()) - GetDrawFuncPtr()->Deactivate();*/ - if (bObjSelect) rView.SetDrawFuncPtr(new DrawSelection( &rView.GetWrtShell(), this, &rView )); else @@ -1019,13 +995,10 @@ void SwEditWin::ChangeFly( sal_uInt8 nDir, sal_Bool bWeb ) SwRect aBoundRect; Point aRefPoint; - // OD 18.09.2003 #i18732# - adjustment for allowing vertical position - // aligned to page for fly frame anchored to paragraph or to character. { SwFmtVertOrient aVert( (SwFmtVertOrient&)aSet.Get(RES_VERT_ORIENT) ); const bool bFollowTextFlow = static_cast<const SwFmtFollowTextFlow&>(aSet.Get(RES_FOLLOW_TEXT_FLOW)).GetValue(); - // OD 12.11.2003 #i22341# - additional provide content position const SwPosition* pToCharCntntPos = ((SwFmtAnchor&)aSet.Get(RES_ANCHOR)).GetCntntAnchor(); rSh.CalcBoundRect( aBoundRect, eAnchorId, text::RelOrientation::FRAME, aVert.GetRelationOrient(), @@ -1164,11 +1137,8 @@ void SwEditWin::ChangeFly( sal_uInt8 nDir, sal_Bool bWeb ) ---------------------------------------------------------------------------*/ void SwEditWin::ChangeDrawing( sal_uInt8 nDir ) { - // --> OD 2005-01-31 #i40845# - start undo action in order to get only one - // undo action for this change. SwWrtShell &rSh = rView.GetWrtShell(); rSh.StartUndo(); - // <-- long nX = 0; long nY = 0; @@ -1244,8 +1214,6 @@ void SwEditWin::ChangeDrawing( sal_uInt8 nDir ) // if the object's position is not protected if(0 == (nProtect&FLYPROTECT_POS)) { - // --> FME 2005-04-26 #i47138# - // Check if object is anchored as character and move direction sal_Bool bDummy1, bDummy2; const bool bVertAnchor = rSh.IsFrmVertical( sal_True, bDummy1, bDummy2 ); const bool bHoriMove = !bVertAnchor == !( nDir % 2 ); @@ -1253,7 +1221,6 @@ void SwEditWin::ChangeDrawing( sal_uInt8 nDir ) !bHoriMove || (rSh.GetAnchorId() != FLY_AS_CHAR); if ( bMoveAllowed ) { - // <-- pSdrView->MoveAllMarked(Size(nX, nY)); rSh.SetModified(); } @@ -1309,9 +1276,7 @@ void SwEditWin::ChangeDrawing( sal_uInt8 nDir ) rSh.EndAllAction(); } - // --> OD 2005-01-31 #i40845# - end undo action rSh.EndUndo(); - // <-- } /*-------------------------------------------------------------------- @@ -1554,13 +1519,11 @@ void SwEditWin::KeyInput(const KeyEvent &rKEvt) eNextKeyState = KS_Ende; sal_uInt8 nDir = 0; - // -> #i23725# if (nKS_NUMDOWN_Count > 0) nKS_NUMDOWN_Count--; if (nKS_NUMINDENTINC_Count > 0) nKS_NUMINDENTINC_Count--; - // <- #i23725# while( KS_Ende != eKeyState ) { @@ -1667,13 +1630,6 @@ void SwEditWin::KeyInput(const KeyEvent &rKEvt) nDir = MOVE_DOWN_SMALL; goto KEYINPUT_CHECKTABLE; -// case KEY_UP | KEY_MOD2 | KEY_SHIFT: -// eKeyState = KS_ColTopBig; -// goto KEYINPUT_CHECKTABLE; -// case KEY_DOWN | KEY_MOD2 | KEY_SHIFT: -// eKeyState = KS_ColTopSmall; -// goto KEYINPUT_CHECKTABLE; - case KEY_UP | KEY_MOD2 | KEY_MOD1: eKeyState = KS_CellBottomSmall; goto KEYINPUT_CHECKTABLE; @@ -1750,7 +1706,6 @@ KEYINPUT_CHECKTABLE: nTblChgSize = pModOpt->GetTblVInsert(); } goto KEYINPUT_CHECKTABLE_INSDEL; -// case KEY_RIGHT: case KEY_RIGHT | KEY_MOD1: { eTblChgMode = nsTblChgWidthHeightType::WH_FLAG_INSDEL | nsTblChgWidthHeightType::WH_CELL_RIGHT; @@ -1892,13 +1847,10 @@ KEYINPUT_CHECKTABLE_INSDEL: case KEY_BACKSPACE | KEY_SHIFT: if( !rSh.HasReadonlySel() ) { - // #i23725# sal_Bool bDone = sal_False; - // --> OD 2006-01-31 - try to add comment for code snip: // Remove the paragraph indent, if the cursor is at the // beginning of a paragraph, there is no selection // and no numbering rule found at the current paragraph - // --> OD 2006-01-31 #b6341339#, #i58776# // Also try to remove indent, if current paragraph // has numbering rule, but isn't counted and only // key <backspace> is hit. @@ -1911,9 +1863,7 @@ KEYINPUT_CHECKTABLE_INSDEL: { bDone = rSh.TryRemoveIndent(); } - // <-- - // -> #i23725# if (bDone) eKeyState = KS_Ende; else @@ -1935,10 +1885,6 @@ KEYINPUT_CHECKTABLE_INSDEL: bDone = sal_True; } } - // <- #i23725# - // --> OD 2006-01-31 #b6341339#, #i58776# - // --> OD 2006-04-21 #i63540# - // revise fix for issues b6341339 and i58776: // If the cursor is in an empty paragraph, which has // a numbering, but not the oultine numbering, and // there is no selection, the numbering has to be @@ -2007,11 +1953,8 @@ KEYINPUT_CHECKTABLE_INSDEL: if( rSh.GetCurNumRule() && rSh.IsSttOfPara() && !rSh.HasReadonlySel() ) { - // --> OD 2007-10-02 #b660435# -// if (rSh.IsFirstOfNumRule()) // #i23725# if ( rSh.IsFirstOfNumRule() && numfunc::ChangeIndentOnTabAtFirstPosOfFirstListItem() ) - // <-- eKeyState = KS_NumIndentInc; else eKeyState = KS_NumDown; @@ -2062,11 +2005,8 @@ KEYINPUT_CHECKTABLE_INSDEL: else if( rSh.GetCurNumRule() && rSh.IsSttOfPara() && !rSh.HasReadonlySel() ) { - // --> OD 2007-10-02 #b660435# -// if (rSh.IsFirstOfNumRule()) // #i23725# if ( rSh.IsFirstOfNumRule() && numfunc::ChangeIndentOnTabAtFirstPosOfFirstListItem() ) - // <-- eKeyState = KS_NumIndentDec; else eKeyState = KS_NumUp; @@ -2319,7 +2259,6 @@ KEYINPUT_CHECKTABLE_INSDEL: case KS_InsTab: if( rView.ISA( SwWebView )) //Kein Tabulator fuer Web! { - // Bug 56196 - dann sollte der weiter gereicht werden. Window::KeyInput( aKeyEvent ); eKeyState = KS_Ende; break; @@ -2343,17 +2282,7 @@ KEYINPUT_CHECKTABLE_INSDEL: "where is the otherpos?"); if (pFieldmark->IsExpanded()) { - SwPaM aPaM(pFieldmark->GetMarkPos(), pFieldmark->GetOtherMarkPos()); - if(0) - { - rSh.StartAllAction(); //$flr TODO: understand why this not works - pDoc->SetModified(aPaM); - rSh.EndAllAction(); - } - else - { - rSh.CalcLayout(); // workaround - } + rSh.CalcLayout(); } } eKeyState = KS_Ende; @@ -2411,7 +2340,6 @@ KEYINPUT_CHECKTABLE_INSDEL: else { InfoBox( this, SW_RES( MSG_READONLY_CONTENT )).Execute(); - // ??? Window::KeyInput( aKeyEvent ); eKeyState = KS_Ende; } break; @@ -2424,12 +2352,6 @@ KEYINPUT_CHECKTABLE_INSDEL: ChgToEnEmDash | SetINetAttr | Autocorrect ) && !rSh.HasReadonlySel() ) - /* { - pACorr->IsAutoCorrFlag( CptlSttSntnc | CptlSttWrd | - ChgFractionSymbol | ChgOrdinalNumber | - ChgToEnEmDash | SetINetAttr | - Autocorrect ) && - !rSh.HasReadonlySel() ) */ { FlushInBuffer(); rSh.AutoCorrect( *pACorr, static_cast< sal_Unicode >('\0') ); @@ -2442,8 +2364,6 @@ KEYINPUT_CHECKTABLE_INSDEL: { sal_uInt16 nSlotId = 0; FlushInBuffer(); -//??? if( bFlushCharBuffer ) -//??? FlushInBuffer( &rSh ); switch( eKeyState ) { case KS_SpecialInsert: @@ -2470,11 +2390,8 @@ KEYINPUT_CHECKTABLE_INSDEL: rSh.NumUpDown( sal_False ); break; - // -> #i23726# case KS_NumIndentInc: - // --> OD 2008-06-16 #i90078# rSh.ChangeIndentOfAllListLevels(360); - // <-- nKS_NUMINDENTINC_Count = 2; break; @@ -2493,11 +2410,9 @@ KEYINPUT_CHECKTABLE_INSDEL: break; case KS_NumIndentDec: - // --> OD 2008-06-16 #i90078# rSh.ChangeIndentOfAllListLevels(-360); // <-- break; - // <- #i23726# case KS_OutlineDown: rSh.OutlineUpDown( 1 ); @@ -2519,8 +2434,6 @@ KEYINPUT_CHECKTABLE_INSDEL: rSh.SplitNode( sal_True ); break; -// case KS_NumOrNoNum: -// break; case KS_NextObject: case KS_PrevObject: if(rSh.GotoObj( KS_NextObject == eKeyState, GOTOOBJ_GOTO_ANY)) @@ -2590,9 +2503,7 @@ KEYINPUT_CHECKTABLE_INSDEL: case KS_ColRightBig: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_COL_RIGHT|nsTblChgWidthHeightType::WH_FLAG_BIGGER, pModOpt->GetTblHMove() ); break; case KS_ColLeftSmall: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_COL_LEFT, pModOpt->GetTblHMove() ); break; case KS_ColRightSmall: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_COL_RIGHT, pModOpt->GetTblHMove() ); break; -// case KS_ColTopBig: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_ROW_TOP|nsTblChgWidthHeightType::WH_FLAG_BIGGER, pModOpt->GetTblVMove() ); break; case KS_ColBottomBig: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_ROW_BOTTOM|nsTblChgWidthHeightType::WH_FLAG_BIGGER, pModOpt->GetTblVMove() ); break; -// case KS_ColTopSmall: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_ROW_TOP, pModOpt->GetTblVMove() ); break; case KS_ColBottomSmall: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_ROW_BOTTOM, pModOpt->GetTblVMove() ); break; case KS_CellLeftBig: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_CELL_LEFT|nsTblChgWidthHeightType::WH_FLAG_BIGGER, pModOpt->GetTblHMove() ); break; case KS_CellRightBig: rSh.SetColRowWidthHeight( nsTblChgWidthHeightType::WH_CELL_RIGHT|nsTblChgWidthHeightType::WH_FLAG_BIGGER, pModOpt->GetTblHMove() ); break; @@ -2784,7 +2695,7 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) 0 != (nMouseTabCol = rSh.WhichMouseTabCol( aDocPos ) ) && !rSh.IsObjSelectable( aDocPos ) ) { - // --> FME 2004-07-30 #i32329# Enhanced table selection + // Enhanced table selection if ( SW_TABSEL_HORI <= nMouseTabCol && SW_TABCOLSEL_VERT >= nMouseTabCol ) { rSh.EnterStdMode(); @@ -2800,7 +2711,6 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) } return; } - // <-- if ( !rSh.IsTableMode() ) { @@ -2829,7 +2739,6 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) } } } - // #i23726# else if (bTmp && rSh.IsNumLabel(aDocPos)) { @@ -2839,10 +2748,8 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) SfxBindings& rBind = rView.GetViewFrame()->GetBindings(); rBind.Update(); - // --> OD 2005-02-21 #i42921# if ( RulerMarginDrag( rMEvt, rSh.IsVerticalModeAtNdAndPos( *pNodeAtPos, aDocPos ) ) ) - // <-- { rView.SetNumRuleNodeFromDoc( NULL ); rView.InvalidateRulerPos(); @@ -2851,11 +2758,9 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) } else { - // --> FME 2005-11-03 #125036# Make sure the pointer is set to 0, - // otherwise it may point to nowhere after deleting the corresponding - // text node. + // Make sure the pointer is set to 0, otherwise it may point to + // nowhere after deleting the corresponding text node. rView.SetNumRuleNodeFromDoc( NULL ); - // <-- return; } } @@ -2896,7 +2801,7 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) ( pHdl->GetKind() == HDL_ANCHOR || pHdl->GetKind() == HDL_ANCHOR_TR ) ) { - // #121463# Set selected during drag + // Set selected during drag pHdl->SetSelected(true); pAnchorMarker = new SwAnchorMarker( pHdl ); UpdatePointer( aDocPos, rMEvt.GetModifier() ); @@ -2955,11 +2860,10 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) bExecHyperlinks = sal_True; } - // --> FME 2004-07-30 #i32329# Enhanced selection + // Enhanced selection sal_uInt8 nNumberOfClicks = static_cast< sal_uInt8 >(rMEvt.GetClicks() % 4); if ( 0 == nNumberOfClicks && 0 < rMEvt.GetClicks() ) nNumberOfClicks = 4; - // <-- sal_Bool bExecDrawTextLink = sal_False; @@ -2992,7 +2896,6 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) !GetView().GetViewFrame()->GetDispatcher()->IsLocked() && !bExecDrawTextLink) { - // #107513# // Test if there is a draw object at that position and if it should be selected. sal_Bool bShould = rSh.ShouldObjectBeSelected(aDocPos); @@ -3230,12 +3133,11 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) if ( bMod ) rSh.EnterAddMode(); - // --> FME 2004-07-30 #i32329# Enhanced selection + // Enhanced selection if ( 3 == nNumberOfClicks ) rSh.SelSentence( &aDocPos ); else rSh.SelPara( &aDocPos ); - // <-- if ( bMod ) rSh.LeaveAddMode(); @@ -3480,13 +3382,11 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) if ( !bOverURLGrf && !bOnlyText ) { const int nSelType = rSh.GetSelectionType(); - // --> OD 2009-12-30 #i89920# // Check in general, if an object is selectable at given position. // Thus, also text fly frames in background become selectable via Ctrl-Click. if ( nSelType & nsSelectionType::SEL_OLE || nSelType & nsSelectionType::SEL_GRF || rSh.IsObjSelectable( aDocPos ) ) - // <-- { MV_KONTEXT( &rSh ); if( !rSh.IsFrmSelected() ) @@ -3495,11 +3395,6 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) bCallBase = sal_False; } } - // nicht mehr hier zuruecksetzen, damit -- falls durch MouseMove - // bei gedrueckter Ctrl-Taste eine Mehrfachselektion erfolgen soll, - // im Drag nicht die vorherige Selektion aufgehoben wird. -// if(bModePushed) -// rSh.PopMode(sal_False); break; } } @@ -3564,20 +3459,7 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt) } const Point aOldPt( rSh.VisArea().Pos() ); -#ifdef TEST_FOR_BUG91313 - // n Pixel as FUZZY border - SwRect aVis( rSh.VisArea() ); - Size aFuzzySz( 2, 2 ); - aFuzzySz = PixelToLogic( aFuzzySz ); - - aVis.Top( aVis.Top() + aFuzzySz.Height() ); - aVis.Bottom( aVis.Bottom() - aFuzzySz.Height() ); - aVis.Left( aVis.Left() + aFuzzySz.Width() ); - aVis.Right( aVis.Right() - aFuzzySz.Width() ); - const sal_Bool bInsWin = aVis.IsInside( aDocPt ); -#else const sal_Bool bInsWin = rSh.VisArea().IsInside( aDocPt ); -#endif if( pShadCrsr && !bInsWin ) delete pShadCrsr, pShadCrsr = 0; @@ -3658,7 +3540,7 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt) nPointer = POINTER_HSIZEBAR; bChkTblSel = true; break; - // --> FME 2004-07-30 #i20126# Enhanced table selection + // Enhanced table selection case SW_TABSEL_HORI : nPointer = POINTER_TAB_SELECT_SE; break; @@ -3677,31 +3559,25 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt) case SW_TABCOLSEL_VERT : nPointer = POINTER_TAB_SELECT_W; break; - // <-- } if ( USHRT_MAX != nPointer && - // --> FME 2004-10-20 #i35543# // Enhanced table selection is explicitely allowed in table mode ( !bChkTblSel || !rSh.IsTableMode() ) ) - // <-- { SetPointer( nPointer ); } return; } - // #i23726# else if (rSh.IsNumLabel(aDocPt, RULER_MOUSE_MARGINWIDTH)) { - // --> OD 2005-02-21 #i42921# - consider vertical mode SwTxtNode* pNodeAtPos = rSh.GetNumRuleNodeAtPos( aDocPt ); const sal_uInt16 nPointer = rSh.IsVerticalModeAtNdAndPos( *pNodeAtPos, aDocPt ) ? POINTER_VSIZEBAR : POINTER_HSIZEBAR; SetPointer( nPointer ); - // <-- return; } @@ -3723,10 +3599,7 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt) // So the pAnchorMarker has to find the right SdrHdl, if it's // the old one, it will find it with position aOld, if this one // is destroyed, it will find a new one at position GetHdlPos(). - // --> OD 2010-09-16 #i114522# -// const Point aOld = pAnchorMarker->GetPos(); const Point aOld = pAnchorMarker->GetPosForHitTest( *(rSh.GetOut()) ); - // <-- Point aNew = rSh.FindAnchorPos( aDocPt ); SdrHdl* pHdl; if( (0!=( pHdl = pSdrView->PickHandle( aOld ) )|| @@ -3739,7 +3612,6 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt) { pAnchorMarker->SetPos( aNew ); pAnchorMarker->SetLastPos( aDocPt ); - //OLMpSdrView->RefreshAllIAOManagers(); } } else @@ -3801,9 +3673,6 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt) if( 0 != ( pFlyFmt = rSh.GetFlyFrmFmt() ) && 0 != ( pMacro = pFlyFmt->GetMacro().GetMacroTable(). Get( nEvent )) && -// oder nur z.B. alle 20 Twip bescheid sagen? -// ( 20 > Abs( aRszMvHdlPt.X() - aDocPt.X() ) || -// 20 > Abs( aRszMvHdlPt.Y() - aDocPt.Y() ) ) aRszMvHdlPt != aDocPt ) { aRszMvHdlPt = aDocPt; @@ -4061,10 +3930,6 @@ void SwEditWin::MouseButtonUp(const MouseEvent& rMEvt) //MouseButtonUp nur bearbeiten, wenn auch das Down an dieses Fenster ging. if ( !bMBPressed ) { -// OS 25.02.97 Undo fuer die Giesskann ist bereits im CommandHdl -//JP 29.09.95: so sollte es sein!!! if(pApplyTempl->bUndo) -// if( pApplyTempl && MOUSE_RIGHT == rMEvt.GetModifier() + rMEvt.GetButtons() ) -// rSh.Do( SwWrtShell::UNDO ); return; } @@ -4088,12 +3953,11 @@ void SwEditWin::MouseButtonUp(const MouseEvent& rMEvt) { if(pAnchorMarker->GetHdl()) { - // #121463# delete selected after drag + // delete selected after drag pAnchorMarker->GetHdl()->SetSelected(false); } Point aPnt( pAnchorMarker->GetLastPos() ); - //OLMpSdrView->RefreshAllIAOManagers(); DELETEZ( pAnchorMarker ); if( aPnt.X() || aPnt.Y() ) rSh.FindAnchorPos( aPnt, sal_True ); @@ -4339,8 +4203,6 @@ void SwEditWin::MouseButtonUp(const MouseEvent& rMEvt) if ( aCntntAtPos.aFnd.pFldmark != NULL) { IFieldmark *fieldBM = const_cast< IFieldmark* > ( aCntntAtPos.aFnd.pFldmark ); - //SwDocShell* pDocSh = rView.GetDocShell(); - //SwDoc *pDoc=pDocSh->GetDoc(); if (fieldBM->GetFieldname( ).equalsAscii( ODF_FORMCHECKBOX ) ) { ICheckboxFieldmark* pCheckboxFm = dynamic_cast<ICheckboxFieldmark*>(fieldBM); @@ -4555,11 +4417,9 @@ void SwEditWin::MouseButtonUp(const MouseEvent& rMEvt) case SFX_STYLE_FAMILY_PSEUDO: if( !rSh.HasReadonlySel() ) { - // --> OD 2008-03-17 #refactorlists# rSh.SetCurNumRule( *pApplyTempl->aColl.pNumRule, false, pApplyTempl->aColl.pNumRule->GetDefaultListId() ); - // <-- bCallBase = sal_False; pApplyTempl->bUndo = sal_True; if( pApplyTempl->aColl.pNumRule ) @@ -4684,8 +4544,8 @@ SwEditWin::SwEditWin(Window *pParent, SwView &rMyView): bLockInput(sal_False), bObjectSelect( sal_False ), - nKS_NUMDOWN_Count(0), // #i23725# - nKS_NUMINDENTINC_Count(0) // #i23725# + nKS_NUMDOWN_Count(0), + nKS_NUMINDENTINC_Count(0) { SetHelpId(HID_EDIT_WIN); EnableChildTransparentMode(); @@ -4776,7 +4636,6 @@ sal_Bool SwEditWin::EnterDrawMode(const MouseEvent& rMEvt, const Point& aDocPos) SwWrtShell &rSh = rView.GetWrtShell(); SdrView *pSdrView = rSh.GetDrawView(); -// if ( GetDrawFuncPtr() && (aActHitType == SDRHIT_NONE || rSh.IsDrawCreate()) ) if ( rView.GetDrawFuncPtr() ) { if (rSh.IsDrawCreate()) @@ -4818,7 +4677,6 @@ sal_Bool SwEditWin::EnterDrawMode(const MouseEvent& rMEvt, const Point& aDocPos) sal_Bool SwEditWin::IsDrawSelMode() { -// return (IsFrmAction() == sal_False && GetSdrDrawMode() == OBJ_NONE); return IsObjectSelect(); } @@ -5316,18 +5174,15 @@ sal_Bool SwEditWin::SelectMenuPosition(SwWrtShell& rSh, const Point& rMousePos ) { sal_Bool bRet = sal_False; const Point aDocPos( PixelToLogic( rMousePos ) ); - // --> OD 2005-02-17 #i42258# const bool bIsInsideSelectedObj( rSh.IsInsideSelectedObj( aDocPos ) ); - // <-- //create a synthetic mouse event out of the coordinates MouseEvent aMEvt(rMousePos); SdrView *pSdrView = rSh.GetDrawView(); if ( pSdrView ) { - // --> OD 2005-02-17 #i42258# - no close of insert_draw and reset of - // draw mode, if context menu position is inside a selected object. + // no close of insert_draw and reset of draw mode, + // if context menu position is inside a selected object. if ( !bIsInsideSelectedObj && rView.GetDrawFuncPtr() ) - // <-- { rView.GetDrawFuncPtr()->Deactivate(); commit 09c64ae86baf3572856c845e0785692b2cbfe058 Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Fri Aug 23 08:25:14 2013 +0000 123051: handling SHIFT-<arrow key>: huge object move only when object is selected. diff --git a/sw/source/ui/docvw/edtwin.cxx b/sw/source/ui/docvw/edtwin.cxx index 392d982..af71c15 100644 --- a/sw/source/ui/docvw/edtwin.cxx +++ b/sw/source/ui/docvw/edtwin.cxx @@ -1714,8 +1714,10 @@ KEYINPUT_CHECKTABLE: case KEY_UP | KEY_SHIFT: case KEY_DOWN | KEY_SHIFT: { - if ( pFlyFmt - || ( (rSh.GetSelectionType() & (nsSelectionType::SEL_DRW|nsSelectionType::SEL_DRW_FORM)) + const int nSelectionType = rSh.GetSelectionType(); + if ( ( pFlyFmt + && ( nSelectionType & (nsSelectionType::SEL_FRM|nsSelectionType::SEL_OLE|nsSelectionType::SEL_GRF) ) ) + || ( ( nSelectionType & (nsSelectionType::SEL_DRW|nsSelectionType::SEL_DRW_FORM) ) && rSh.GetDrawView()->AreObjectsMarked() ) ) { eKeyState = pFlyFmt ? KS_Fly_Change : KS_Draw_Change; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits