Group layers with Ctrl+G into independent groups if they're spread across artboards (#2239)

* Continuation of first attempt with unmerged PR #1992

* Code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
Mohamed Osama
2025-01-30 20:27:35 -08:00
committed by GitHub
co-authored by Keavon Chambers
parent 5a8eb9dd1b
commit 86f09be0ee
9 changed files with 124 additions and 72 deletions
@@ -1,6 +1,7 @@
use crate::messages::input_mapper::utility_types::macros::action_keys;
use crate::messages::layout::utility_types::widget_prelude::*;
use crate::messages::portfolio::document::utility_types::clipboards::Clipboard;
use crate::messages::portfolio::document::utility_types::misc::GroupFolderType;
use crate::messages::prelude::*;
pub struct MenuBarMessageData {
@@ -226,7 +227,12 @@ impl LayoutHolder for MenuBarMessageHandler {
label: "Group Selected".into(),
icon: Some("Folder".into()),
shortcut: action_keys!(DocumentMessageDiscriminant::GroupSelectedLayers),
action: MenuBarEntry::create_action(|_| DocumentMessage::GroupSelectedLayers.into()),
action: MenuBarEntry::create_action(|_| {
DocumentMessage::GroupSelectedLayers {
group_folder_type: GroupFolderType::Layer,
}
.into()
}),
disabled: no_active_document || !has_selected_layers,
..MenuBarEntry::default()
},