diff --git a/src/Mod/Spreadsheet/Gui/Command.cpp b/src/Mod/Spreadsheet/Gui/Command.cpp index 4d3d8df5c7..3e9ed3a5d4 100644 --- a/src/Mod/Spreadsheet/Gui/Command.cpp +++ b/src/Mod/Spreadsheet/Gui/Command.cpp @@ -105,9 +105,11 @@ bool CmdSpreadsheetMergeCells::isActive() { if (getActiveGuiDocument()) { Gui::MDIView* activeWindow = Gui::getMainWindow()->activeWindow(); - if (activeWindow && freecad_dynamic_cast(activeWindow)) - return true; + SpreadsheetGui::SheetView * sheetView = freecad_dynamic_cast(activeWindow); + if (sheetView) { + return (sheetView->selectedIndexesRaw().size() > 1); + } } return false; } diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.cpp b/src/Mod/Spreadsheet/Gui/SheetTableView.cpp index 6dfa5d1b04..19ebd9b640 100644 --- a/src/Mod/Spreadsheet/Gui/SheetTableView.cpp +++ b/src/Mod/Spreadsheet/Gui/SheetTableView.cpp @@ -973,7 +973,7 @@ void SheetTableView::contextMenuEvent(QContextMenuEvent *) actionDel->setEnabled(true); actionSplit->setEnabled(selectedIndexes().size() == 1 && sheet->isMergedCell(CellAddress(currentIndex().row(),currentIndex().column()))); - actionMerge->setEnabled(true); + actionMerge->setEnabled(selectedIndexes().size() > 1); } auto ranges = selectedRanges();