Skip to content

Commit d86f1d7

Browse files
Ctrl+A/Esc to select/deselect all widgets in a visual mode
1 parent 7bb2c4f commit d86f1d7

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

src/ui/layout/LayoutScene.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,8 +1171,32 @@ void LayoutScene::dropEvent(QGraphicsSceneDragDropEvent* event)
11711171

11721172
void LayoutScene::keyPressEvent(QKeyEvent* event)
11731173
{
1174+
// UX: select only siblings of already selected, if any?
1175+
if (event->matches(QKeySequence::SelectAll))
1176+
{
1177+
batchSelection(true);
1178+
clearSelection();
1179+
for (auto item : items())
1180+
if (dynamic_cast<LayoutManipulator*>(item))
1181+
item->setSelected(true);
1182+
batchSelection(false);
1183+
emit selectionChanged();
1184+
event->accept();
1185+
return;
1186+
}
1187+
11741188
switch (event->key())
11751189
{
1190+
case Qt::Key_Escape:
1191+
{
1192+
if (!selectedItems().isEmpty())
1193+
{
1194+
clearSelection();
1195+
event->accept();
1196+
return;
1197+
}
1198+
break;
1199+
}
11761200
case Qt::Key_Left:
11771201
case Qt::Key_Right:
11781202
case Qt::Key_Up:

0 commit comments

Comments
 (0)