Client now automatically selects a layer when connected
This commit is contained in:
parent
ebe4d8e60a
commit
108da82fd4
5 changed files with 96 additions and 75 deletions
|
|
@ -33,3 +33,19 @@ void DrawingProgramLayerFolder::get_flattened_component_list(std::vector<CanvasC
|
|||
for(auto& listItem : (*folderList) | std::views::reverse)
|
||||
listItem.obj->get_flattened_component_list(objList);
|
||||
}
|
||||
|
||||
NetworkingObjects::NetObjWeakPtr<DrawingProgramLayerListItem> DrawingProgramLayerFolder::get_initial_editing_layer() const {
|
||||
// BFS, select a layer that's closest to root as possible
|
||||
for(auto& c : *folderList) {
|
||||
if(!c.obj->is_folder())
|
||||
return c.obj;
|
||||
}
|
||||
for(auto& c : *folderList) {
|
||||
if(c.obj->is_folder()) {
|
||||
NetworkingObjects::NetObjWeakPtr<DrawingProgramLayerListItem> toRet = c.obj->get_folder().get_initial_editing_layer();
|
||||
if(!toRet.expired())
|
||||
return toRet;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue