diff options
author | Justin Luth <jluth@mail.com> | 2023-11-06 08:19:20 -0500 |
---|---|---|
committer | Justin Luth <jluth@mail.com> | 2023-11-15 20:03:56 +0100 |
commit | 61d2d34b882b2b89c6702b04764058931ba70d60 (patch) | |
tree | 4d1052342729240a206b798ce73beefec3736249 /sc | |
parent | f2a5d091ba9f01a26139e6fc2f3c2bcfd0a6cf3b (diff) |
tdf#158031 Revert "tdf#140361 use the DisableEditHyperlink state
... as of menu launch time"
This code is now obsolete,
so revert 7.3 commit d9a5302ca8bef90914539c12adb6c81496c28504.
(This cleanly reverted with the relevant portions of
the following code-refactor commits also reverted.
commit 29489b33b435683021b72cb2bce27aba8cb7a430
commit 68e797402692c5c8abf1b2c4374e12a8d2707d07
)
It was a fine idea, but overly complex, dependent on invalidations,
and hard to re-implement everywhere it would be needed.
Instead, just also check before cursor for a field.
Change-Id: Id570fc4e33611b217eae8b2a2a85aa58e23d9d1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159013
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/inc/editsh.hxx | 12 | ||||
-rw-r--r-- | sc/source/ui/inc/tabvwsh.hxx | 6 | ||||
-rw-r--r-- | sc/source/ui/view/editsh.cxx | 24 | ||||
-rw-r--r-- | sc/source/ui/view/gridwin.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwshe.cxx | 20 |
5 files changed, 2 insertions, 74 deletions
diff --git a/sc/source/ui/inc/editsh.hxx b/sc/source/ui/inc/editsh.hxx index 3777d1988887..99df24eb78a1 100644 --- a/sc/source/ui/inc/editsh.hxx +++ b/sc/source/ui/inc/editsh.hxx @@ -42,12 +42,6 @@ private: bool bPastePossible; bool bIsInsertMode; - // tdf#140361 at context menu popup time set if the EditHyperlink entry - // should be disabled and use that state if queried about it if - // EditHyperlink is dispatched from the menu. So ignoring where the mouse - // currently happens to be when the menu was dismissed. - std::optional<bool> moAtContextMenu_DisableEditHyperlink; - // These methods did return 'const SvxURLField*' before, but // at least for GetFirstURLFieldFromCell this is not safe: The // SvxFieldItem accessed there and held in the local temporary @@ -86,12 +80,6 @@ public: void GetUndoState(SfxItemSet &rSet); OUString GetSelectionText( bool bWholeWord ); - - /// return true if "Edit Hyperlink" in context menu should be disabled - bool ShouldDisableEditHyperlink() const; - /// force "Edit Hyperlink" to true, with the expectation that SID_EDIT_HYPERLINK is - /// later Invalidated to reset it back to its natural value - void EnableEditHyperlink(); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx index cc52a84f8354..b537af6900d2 100644 --- a/sc/source/ui/inc/tabvwsh.hxx +++ b/sc/source/ui/inc/tabvwsh.hxx @@ -430,12 +430,6 @@ public: void ClearFormEditData(); ScFormEditData* GetFormEditData() { return mpFormEditData.get(); } - /// return true if "Edit Hyperlink" in context menu should be disabled - bool ShouldDisableEditHyperlink() const; - /// force "Edit Hyperlink" to true, with the expectation that SID_EDIT_HYPERLINK is - /// later Invalidated to reset it back to its natural value - void EnableEditHyperlink(); - virtual tools::Rectangle getLOKVisibleArea() const override; const ScDragData& GetDragData() const { return *m_pDragData; } diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx index 737418d51d4b..3393ca3ad090 100644 --- a/sc/source/ui/view/editsh.cxx +++ b/sc/source/ui/view/editsh.cxx @@ -733,16 +733,6 @@ static void lcl_DisableAll( SfxItemSet& rSet ) // disable all slots } } -bool ScEditShell::ShouldDisableEditHyperlink() const -{ - return !rViewData.HasEditView(rViewData.GetActivePart()) || !URLFieldHelper::IsCursorAtURLField(*pEditView); -} - -void ScEditShell::EnableEditHyperlink() -{ - moAtContextMenu_DisableEditHyperlink = false; -} - void ScEditShell::GetState( SfxItemSet& rSet ) { // When deactivating the view, edit mode is stopped, but the EditShell is left active @@ -841,18 +831,8 @@ void ScEditShell::GetState( SfxItemSet& rSet ) case SID_COPY_HYPERLINK_LOCATION: case SID_REMOVE_HYPERLINK: { - bool bDisableEditHyperlink; - if (!moAtContextMenu_DisableEditHyperlink.has_value()) - bDisableEditHyperlink = ShouldDisableEditHyperlink(); - else - { - // tdf#140361 if a popup menu was active, use the state as of when the popup was launched and then drop - // moAtContextMenu_DisableEditHyperlink - bDisableEditHyperlink = *moAtContextMenu_DisableEditHyperlink; - moAtContextMenu_DisableEditHyperlink.reset(); - } - - if (bDisableEditHyperlink) + if (!URLFieldHelper::IsCursorAtURLField(*pEditView, + /*AlsoCheckBeforeCursor=*/true)) rSet.DisableItem (nWhich); } break; diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 6456ded939e9..58a7d8f0350a 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -3471,21 +3471,7 @@ void ScGridWindow::Command( const CommandEvent& rCEvt ) if (bDone) return; - // tdf#140361 at this context menu popup time get what the - // DisableEditHyperlink would be for this position - bool bShouldDisableEditHyperlink = mrViewData.GetViewShell()->ShouldDisableEditHyperlink(); - SfxDispatcher::ExecutePopup( this, &aMenuPos ); - - if (!bShouldDisableEditHyperlink) - { - SfxBindings& rBindings = mrViewData.GetBindings(); - // tdf#140361 set what the menu popup state for this was - mrViewData.GetViewShell()->EnableEditHyperlink(); - // ensure moAtContextMenu_DisableEditHyperlink will be cleared - // in the case that EditHyperlink is not dispatched by the menu - rBindings.Invalidate(SID_EDIT_HYPERLINK); - } } void ScGridWindow::SelectForContextMenu( const Point& rPosPixel, SCCOL nCellX, SCROW nCellY ) diff --git a/sc/source/ui/view/tabvwshe.cxx b/sc/source/ui/view/tabvwshe.cxx index 7089c17aa7a2..0c809b31b370 100644 --- a/sc/source/ui/view/tabvwshe.cxx +++ b/sc/source/ui/view/tabvwshe.cxx @@ -116,26 +116,6 @@ OUString ScTabViewShell::GetSelectionText( bool bWholeWord, bool bOnlyASample ) return aStrSelection; } -bool ScTabViewShell::ShouldDisableEditHyperlink() const -{ - bool bRet = false; - - if (pEditShell && pEditShell.get() == GetMySubShell()) - { - bRet = pEditShell->ShouldDisableEditHyperlink(); - } - - return bRet; -} - -void ScTabViewShell::EnableEditHyperlink() -{ - if (pEditShell && pEditShell.get() == GetMySubShell()) - { - pEditShell->EnableEditHyperlink(); - } -} - void ScTabViewShell::InsertURL( const OUString& rName, const OUString& rURL, const OUString& rTarget, sal_uInt16 nMode ) { |