Enhance Feature: Add "All/None/Selected" menu in detail list area for easier handling of many parts

Issue #552 new
Holger Pandel created an issue

Current problem:

I absolutely love the possibility to create a layout from just a few of my parts, but I have a handling problem if I have a shirt pattern that results in about i. e. 20 detail parts. At the moment, if I only want to create a layout of, let's say, 3 of them (front, back, sleeve), I always have to deactivate 17 of them by clicking on the green check mark of each of them. If I close the file today and open it tomorrow, I have to do it again, and so on...

My idea would be:

It would be very good, if we had the possibility to (de-)activate all/some of the detail parts for layout creation at once.

  • as pre-condition, when changing to detail mode, don't activate any of the parts available or, even better, re-activate the last parts used for layout creation (surely, this must have been saved inside the *.vit file before)

  • we need a new right click option menu in the bottom right detail list area with the following menu options (first and second option explain themselves, I think):

  1. All
  2. None
  3. Selected
  • for third option, make it possible to shift/ctrl+click the parts you want to select

  • now, hit right mouse button and choose "Selected"

Comments (32)

  1. Roman Telezhynskyi repo owner

    I understand why you need this, but not really understand part about "Selected". Why do you need this option?

  2. Holger Pandel reporter

    a) Good question ;-) I thought about it... somehow I assumed, that it wouldn't be possible to (de-)activate the detail parts directly anymore as we can do at the moment. I think you can forget the third option. "All" and "None" should be perfectly enough!

    b) Yes, I saw it. Why do you ask? Do you think, I better should have placed my idea there?

  3. Roman Telezhynskyi repo owner

    Yes, I saw it. Why do you ask? Do you think, I better should have placed my idea there?

    No, you are active and sometime i post my ideas and announces there.

    Good question ;-) I thought about it... somehow I assumed, that it wouldn't be possible to (de-)activate the detail parts directly anymore as we can do at the moment. I think you can forget the third option. "All" and "None" should be perfectly enough!

    So, you want option Uncheck/Check all? Right? How about saving state?

  4. Holger Pandel reporter

    Ah, I understand. Will have a look at it from now on ;-)! ...

    Yes, check/uncheck would be perfect.

    Saving the state would be a really nice to have. I have patterns, that contain many parts which are not really necessary to be printed very often. So in a normal workflow I would only keep the main parts selected here, so I could easily switch from draw to detail to layout mode and wouldn't have to think about the selection most of the time. But perhaps this is special to my idea of a smooth workflow and not really necessary...

  5. Roman Telezhynskyi repo owner

    Yes, check/uncheck would be perfect.

    That's an easy part of your request.

    Saving the state would be a really nice to have. I have patterns, that contain many parts which are not really necessary to be printed very often. So in a normal workflow I would only keep the main parts selected here, so I could easily switch from draw to detail to layout mode and wouldn't have to think about the selection most of the time. But perhaps this is special to my idea of a smooth workflow and not really necessary...

    For a normal workflow we should support categories. These categories will contain list of details. But the main problem here is deleting a detail and what to do if all details were deleted from a category. This part is little bit tricky.

    Ah, I understand. Will have a look at it from now on ;-)! ...

    Good, because there i described why for now i will not do this request.

  6. Holger Pandel reporter

    Regarding your forum post, I read and understood why you can't do something about this request at the moment.

    Regarding the categories: category handling shouldn't be tricky at all if you create a new xml element <category> below the <detail> element itself and assign an attribute "name".

    See this example:

    <details>
    <detail id= ... name="front">
                    <data letter=.../>
                    <patternInfo width=.../>
                    <node idObject=.../>
                    <node idObject=.../>
                    <node idObject=.../>
                    <category name="Shirt (long sleeve)"/>
                    <category name="Shirt (short sleeve)"/>
                    <category name="Shirt (only front and back)"/>
    </detail>
    <detail id= ... name="short sleeve">
                    <data letter=.../>
                    <patternInfo width=.../>
                    <node idObject=.../>
                    <node idObject=.../>
                    <node idObject=.../>
                    <category name="Shirt (long sleeve)"/>
    </detail>
    </details>
    

    On the GUI side I'm going to assume two things now:

    • simple un-/checking of detail parts should occur as a result of a category name selection from maybe a new drop down list above/below detail part table or in the detail mode toolbar
    • adding, associating and removing and any other category handling is done via context menu of the detail part table - therefor the context menu has a Categories submenu, consisting of special entry "New", special entry "None" and the list of already existing category names

    Then it should be fairly simple to achieve the following scenarios and workflows:

    • create new category: right click on detail you wish to categorize, choose option "New", enter category name -> save it as child element to detail element in the data backend
    • un-/associate an already existing category: right click on detail, open submenu, click on category name you want (already associated categories could have a check mark or a different text color to recognize them) -> add or remove the category element as child to/from this detail element
    • choosing special category "None": remove every category child element from the chosen detail element, basically removing the detail from any category
    • handling of details with special category "None" when user changes category selection: just ignore checked/unchecked state and leave it up to the user if he wants them or not
    • remove a category: one could think about a conext menu option "Remove category..." , that shows a new dialog with all category names, so that the user could choose one and remove it -> internally, you would simply loop through every detail element, remove the category child element with the same category name attribute, and the category simply disappears... ...

    Just my2c.

    And btw, did I say already, that I absolutely hate not being able to simply send you a new pull request regarding this whole issue :/ ...?

  7. Roman Telezhynskyi repo owner

    And btw, did I say already, that I absolutely hate not being able to simply send you a new pull request regarding this whole issue :/ ...?

    You made an absolutely wrong assumption about my words. :( I tried to say quite opposite. "I will not do it even if it is simple feature. But i will merge pull requests from outside." Before we have moved to release branch new features are welcome.

  8. Holger Pandel reporter

    ;-) Sorry, I think now you misunderstood me... what meant was: I hate that I am not able to simply fire up a C++ editor and get the job done, because I'm a C++ noob! If the whole project was done in Python, I could actively help improving by sending code, not only ideas...

  9. Roman Telezhynskyi repo owner

    Yes, sometimes i complitely do not understand you. :D Actually this is the second time already.

    You know what i hate about this project? The size of it. Too big for one person. :)

  10. Holger Pandel reporter

    :D

    Oh yes, it is really a big project! And I understand that it seems TOO big sometimes... But it is a really great project, so please, keep up your amazing work :D!

  11. Holger Pandel reporter

    That looks really good! I think, this would improve detail part selection a lot in the first place. ... I love the idea of categorized detail parts, but I also understand that this results in a major code addition, so I think this can be added later as a second step. +1 from me ;-)

  12. Roman Telezhynskyi repo owner

    Merged in ValentinaZhuravska/valentina/feature (pull request #141)

    Added "All/None" menu in detail list area for easier handling of many parts ref #552.

    → <<cset a6715c2eb80f>>

  13. Roman Telezhynskyi repo owner

    Merged in ValentinaZhuravska/valentina/feature (pull request #141)

    Added "All/None" menu in detail list area for easier handling of many parts ref #552.

    → <<cset a6715c2eb80f>>

  14. Holger Pandel reporter

    Great! Just tried it and it works like a charm :D ! Many many thanks for new functionality!

  15. Susan Spencer

    Confirmed, works great. Requires 'Group' option to be selected from the 'Pattern Piece' top bar menu to select pieces to include in the Layout.

  16. Roman Telezhynskyi repo owner

    Saving the state would be a really nice to have. I have patterns, that contain many parts which are not really necessary to be printed very often. So in a normal workflow I would only keep the main parts selected here, so I could easily switch from draw to detail to layout mode and wouldn't have to think about the selection most of the time. But perhaps this is special to my idea of a smooth workflow and not really necessary...

    Saving state.

  17. Susan Spencer

    Can the partial solution, which works very well, be included in the next test builds and the next release?

  18. Roman Telezhynskyi repo owner

    It already included. All that in develop branch will be part of the next release.

  19. Log in to comment