File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -115,10 +115,14 @@ void QgsLayoutItemGroup::setVisibility( const bool visible )
115115 {
116116 if ( !item )
117117 continue ;
118+ bool prev = item->mBlockUndoCommands ;
119+ item->mBlockUndoCommands = mBlockUndoCommands ;
118120 item->setVisibility ( visible );
121+ item->mBlockUndoCommands = prev;
119122 }
120123 // lastly set visibility for group item itself
121124 QgsLayoutItem::setVisibility ( visible );
125+
122126 if ( !shouldBlockUndoCommands () )
123127 mLayout ->undoStack ()->endMacro ();
124128}
Original file line number Diff line number Diff line change @@ -301,6 +301,23 @@ void TestQgsLayoutItemGroup::groupVisibility()
301301 QVERIFY ( item->isVisible () );
302302 QVERIFY ( item2->isVisible () );
303303 QVERIFY ( group->isVisible () );
304+
305+ l.undoStack ()->stack ()->undo ();
306+ QVERIFY ( !item->isVisible () );
307+ QVERIFY ( !item2->isVisible () );
308+ QVERIFY ( !group->isVisible () );
309+ l.undoStack ()->stack ()->undo ();
310+ QVERIFY ( item->isVisible () );
311+ QVERIFY ( item2->isVisible () );
312+ QVERIFY ( group->isVisible () );
313+ l.undoStack ()->stack ()->redo ();
314+ QVERIFY ( !item->isVisible () );
315+ QVERIFY ( !item2->isVisible () );
316+ QVERIFY ( !group->isVisible () );
317+ l.undoStack ()->stack ()->redo ();
318+ QVERIFY ( item->isVisible () );
319+ QVERIFY ( item2->isVisible () );
320+ QVERIFY ( group->isVisible () );
304321}
305322
306323void TestQgsLayoutItemGroup::moveGroup ()
You can’t perform that action at this time.
0 commit comments