diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 9d5f8115d..8852f6d12 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -7769,16 +7769,14 @@ config_t *OBSBasic::Config() const void OBSBasic::UpdateEditMenu() { - int idx = GetTopSelectedSourceItem(); QModelIndexList items = GetAllSelectedSourceItems(); int count = items.count(); size_t filter_count = 0; - OBSSceneItem sceneItem; - OBSSource source; - if (idx != -1) { - sceneItem = ui->sources->Get(idx); - source = obs_sceneitem_get_source(sceneItem); + if (count == 1) { + OBSSceneItem sceneItem = + ui->sources->Get(GetTopSelectedSourceItem()); + OBSSource source = obs_sceneitem_get_source(sceneItem); filter_count = obs_source_filter_count(source); } @@ -7798,24 +7796,27 @@ void OBSBasic::UpdateEditMenu() allowPastingDuplicate = false; } - ui->actionCopySource->setEnabled(idx != -1); - ui->actionEditTransform->setEnabled(idx != -1); + ui->actionCopySource->setEnabled(count > 0); + ui->actionEditTransform->setEnabled(count == 1); ui->actionCopyTransform->setEnabled(count == 1); ui->actionPasteTransform->setEnabled(hasCopiedTransform && count > 0); ui->actionCopyFilters->setEnabled(filter_count > 0); ui->actionPasteFilters->setEnabled( - !obs_weak_source_expired(copyFiltersSource) && idx != -1); + !obs_weak_source_expired(copyFiltersSource) && count > 0); ui->actionPasteRef->setEnabled(!!clipboard.size()); ui->actionPasteDup->setEnabled(allowPastingDuplicate); - ui->actionMoveUp->setEnabled(idx != -1); - ui->actionMoveDown->setEnabled(idx != -1); - ui->actionMoveToTop->setEnabled(idx != -1); - ui->actionMoveToBottom->setEnabled(idx != -1); + ui->actionMoveUp->setEnabled(count > 0); + ui->actionMoveDown->setEnabled(count > 0); + ui->actionMoveToTop->setEnabled(count > 0); + ui->actionMoveToBottom->setEnabled(count > 0); bool canTransform = false; - if (sceneItem) - canTransform = !obs_sceneitem_locked(sceneItem); + for (int i = 0; i < count; i++) { + OBSSceneItem item = ui->sources->Get(i); + if (!obs_sceneitem_locked(item)) + canTransform = true; + } ui->actionResetTransform->setEnabled(canTransform); ui->actionRotate90CW->setEnabled(canTransform);