summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTünde Tóth <toth.tunde@nisz.hu>2021-05-11 11:21:35 +0200
committerLászló Németh <nemeth@numbertext.org>2021-05-20 18:08:31 +0200
commita2c4a033d49c23d20761b2881135ec3a72f25b01 (patch)
tree83eb059fb3d1e76a924edc2d0c67e54d035940c7
parentf7aca9ed4533f202e87141ca7a65d9949a36c9a1 (diff)
tdf#57351 sc UI: fix disabled Insert Columns options
In a sheet with active autofilter or standard filter, Insert Columns Before/After weren't available in the context menu of the column header and in Sheet->Insert Columns... Change-Id: I746d7d5a451848306d67d57e42d3981c471c66f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115400 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
-rw-r--r--sc/source/ui/view/cellsh.cxx3
-rw-r--r--sc/source/ui/view/viewfunc.cxx3
2 files changed, 4 insertions, 2 deletions
diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx
index 256cab898a35..9bf5286c8d7c 100644
--- a/sc/source/ui/view/cellsh.cxx
+++ b/sc/source/ui/view/cellsh.cxx
@@ -256,7 +256,8 @@ void ScCellShell::GetBlockState( SfxItemSet& rSet )
if (nWhich == FID_INS_COLUMNS_AFTER)
eAction = sc::ColRowEditAction::InsertColumnsAfter;
- bDisable = (!bSimpleArea) || GetViewData().SimpleRowMarked();
+ bDisable = (!bSimpleArea && eMarkType != SC_MARK_SIMPLE_FILTERED)
+ || GetViewData().SimpleRowMarked();
if (!bEditable && nRow1 == 0 && nRow2 == rDoc.MaxRow())
{
// See if row insertions are allowed.
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 73363238a85a..a4c5c6db55a7 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -1599,7 +1599,8 @@ void ScViewFunc::OnLOKSetWidthOrHeight(SCCOLROW nStart, bool bWidth)
bool ScViewFunc::InsertCells( InsCellCmd eCmd, bool bRecord, bool bPartOfPaste )
{
ScRange aRange;
- if (GetViewData().GetSimpleArea(aRange) == SC_MARK_SIMPLE)
+ ScMarkType eMarkType = GetViewData().GetSimpleArea(aRange);
+ if (eMarkType == SC_MARK_SIMPLE || eMarkType == SC_MARK_SIMPLE_FILTERED)
{
ScDocShell* pDocSh = GetViewData().GetDocShell();
const ScMarkData& rMark = GetViewData().GetMarkData();