Author Topic: Remove from collection removes from sub-collections as well  (Read 356 times)

Offline michaelbothager

  • Member
  • **
  • Posts: 51
    • View Profile
If an image is in a sub-collection, selecting "Remove selected items from here" on a parent collection removes the images recursively, and not just from the selected parent. The image does not even have to part of the parent collection itself.

Is this to be expected?

To me it doesn't make sense, since the image (if not added to the parent collection) is not shown in the contact sheet of the parent collection.

And it makes it kind of hard to organise and move images between parent collections and sub-collections, making it necessary to create temporary collections elsewhere in the collections hierarchy.


How to reproduce:
1: Create a collection Main
2.: Create a collection SubCol as a sub-collection of Main
3: Add an image to SubCol
4: Open the SubCol contact sheet
5: Select the image in the contact sheet
6: Right-click the Main collection in the Organizer collections section, and select "Remove selected items from here"
7: *puff* the image is removed from the SubCol collection


Build 6474
macOS 10.15.7


/Michael

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24170
    • View Profile
    • Camera Bits, Inc.
Re: Remove from collection removes from sub-collections as well
« Reply #1 on: May 04, 2022, 09:24:18 AM »
Michael,

If an image is in a sub-collection, selecting "Remove selected items from here" on a parent collection removes the images recursively, and not just from the selected parent. The image does not even have to part of the parent collection itself.

Is this to be expected?

Yes.

To me it doesn't make sense, since the image (if not added to the parent collection) is not shown in the contact sheet of the parent collection.

This behavior depends on a preference (when you double-click on a collection) or based on what contextual menu item you choose (Open in Contact Sheet vs. Open Collection and sub-Collections in a Contact Sheet) when you opened it.

And it makes it kind of hard to organise and move images between parent collections and sub-collections, making it necessary to create temporary collections elsewhere in the collections hierarchy.

I think we'll have to add an additional contextual menu item that allows the recursive behavior to exist.

-Kirk

Offline michaelbothager

  • Member
  • **
  • Posts: 51
    • View Profile
Re: Remove from collection removes from sub-collections as well
« Reply #2 on: May 04, 2022, 11:06:27 AM »
Kirk,

Michael,

If an image is in a sub-collection, selecting "Remove selected items from here" on a parent collection removes the images recursively, and not just from the selected parent. The image does not even have to part of the parent collection itself.

Is this to be expected?

Yes.

To me it doesn't make sense, since the image (if not added to the parent collection) is not shown in the contact sheet of the parent collection.

This behavior depends on a preference (when you double-click on a collection) or based on what contextual menu item you choose (Open in Contact Sheet vs. Open Collection and sub-Collections in a Contact Sheet) when you opened it.

And it makes it kind of hard to organise and move images between parent collections and sub-collections, making it necessary to create temporary collections elsewhere in the collections hierarchy.

I think we'll have to add an additional contextual menu item that allows the recursive behavior to exist.

-Kirk

Sorry, I’m a bit dense, and I don’t quite understand this. I don’t even need to have any of the collections contact sheets open for this to happen.

Let’s take the following scenario where the catalog Sample has existing collections.

1: Select the catalog collection Sample (the default root collection)
2: Click Create, and name the collection Test
3: With Test selected, click Create, name the sub-collection Sub Test 1 - none of these collections have their contact sheets opened
4: Open another existing collection with images, select a single image.
5: Click Test, add the selected image
6: Click Sub Test, add the selected image

Now the collections Test and it’s sub-collection have a single image each, and this is the same image. The contact sheets foro Test and Sub Test 1 not open, only the contact sheet from step 4 is open, and shows the selected image.

7: Click Test, and select remove selected items

Now the image is removed from Test and Sub Test 1 – without any of these collections contact sheets has been opened.

So you are saying that this is what is to be expected, that removing items from a parent collection, then it is removed from all and any sub-collection regardless of anything? You said it depends on how the contact sheet is opened, but it happens regardless of wether the contact sheet is opened or not.

I just can’t wrap my head around this is to be the expected functionality, and I hope I wasn't clear in my previous description.

/Michael

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24170
    • View Profile
    • Camera Bits, Inc.
Re: Remove from collection removes from sub-collections as well
« Reply #3 on: May 04, 2022, 11:47:55 AM »
Michael,

I never said that the collection contact sheet had to be open.

What I said was in response to your statement "To me it doesn't make sense, since the image (if not added to the parent collection) is not shown in the contact sheet of the parent collection."

I'm referring specifically how you're opening the collection when you say that you're opening the collection.  If you open it recursively, you'll see images that aren't in the parent collection.  If you open only the collection and none of its children then you'll only see images that are directly in the collection.

Hopefully that makes sense and it's just an aside to the overall issue of wanting to remove an image only from the collection that it directly exists within.  We'll need to add the ability to do both kinds of removes (flat and recursive.)

-Kirk