Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cut/copy/paste, multiple selection, and Edit menu #59

Closed
wants to merge 9 commits into from

Conversation

Dewb
Copy link

@Dewb Dewb commented Feb 9, 2016

What this pull request does

  • Adds Cut, Copy, and Paste commands with the standard keyboard shortcuts, which work on paths and fills (not images.)
  • Adds a Select All command (Cmd-A / Ctrl-A) which selects all paths.
  • Adds an "Edit" menu containing the above commands, plus Delete
  • Multiple selection:
    • Clicking on a path while holding Cmd or Ctrl will add/remove it from the current selection
    • Clicking in empty space and dragging will draw a selection rectangle, any paths completely within the rectangle will be selected on mouse-up.

Issues addressed

#57 Add support for select-all resizing
#54 Group selection and group scaling/movement
#48 Copy and paste functionality
#32 Wish list (sixth bullet "Multi-select")

Testing performed

  • Manual testing only, tested path drawing/rotating/scaling/moving heavily, fills less heavily.
  • Any plans for / interest in adding Selenium tests in the future?

Notes

  • Have not tested the menu additions on Windows yet
  • The original implementation uses Paper.js's default approach of managing rotation/scale as a local transform on the path item, never modifying the original segment data. Unfortunately this strategy doesn't work for rotating and scaling multiple paths at once. I had to do a little dance with applyMatrix to make sure successive multiple-selection rotations and scales are applied correctly. There may be a better way to manage this, possibly by leaving applyMatrix on all the time and directly applying all transformations. I instead erred on the side of making fewer changes to the code. It works, but if new editing tools are added they'll likely need similar applyMatrix hacks.

@Dewb Dewb changed the title Add basic cut/copy/paste for single paths Cut/copy/paste, multiple selection, and Edit menu Feb 16, 2016
@Dewb
Copy link
Author

Dewb commented Feb 16, 2016

There does appear to still be a transform bug with fills, but I haven't been able to reproduce it reliably yet.

@techninja
Copy link
Collaborator

I'd like to thank you personally for you work on this, unfortunately there's no maintainer currently on the project to properly handle PR's that need a bit of extra work to fold into existing plans. I am being contracted to work on the 1.2.0 release which first calls for Undo/Redo functionality, and a number of other overlapping features, which unfortunately necessitates that I close this PR.

I admit some of your implementation is better, and if you want to try to integrate some of your additions/edits once 1.2.0 is released, hopefully I can assist in merging. I hate to see good work wasted.

@techninja techninja closed this Apr 22, 2016
@Dewb
Copy link
Author

Dewb commented Apr 25, 2016

Thanks for responding. I can certainly take a stab at re-integrating anything that's still useful post-1.2.0. The work wasn't wasted, it's been very useful to me at least, hopefully it can be useful to others eventually. I understand the challenges involved in bootstrapping a new open-source software project.

If there is no maintainer available to review PRs, it might be a good idea to adjust the language in the README in the "Want to add a new feature?" section under "Problems?" that explicitly lays out a PR review procedure.

@techninja
Copy link
Collaborator

Unfortunately, we don't have one yet. Until Storebound can confirm they want to pay (even minimal time) for a maintainer, all PRs and issues are being handled "ad-hoc" by either Storebound employees or @PancakeBot (PancakeBot creator Miguel Valenzuela himself), or simply not handled at all.

The original language was created in the hopes that incoming PRs would persuade Storebound to better understand the basic concepts of modern open source contribution, though it appears this is still a difficult concept to grasp for those new to the software game as they are. Even an entirely volunteer maintainer would have to contend with Storebound's needs/wishes, and writing new features which though technically given to the community, directly support a for-profit company not fully dedicated to open source.

I still have hope that understanding can be found, though it appears Storebound is commonly too busy to prioritize this. I'll discuss with them privately if they can make time for this and will get back to you.

@brueso
Copy link

brueso commented Oct 6, 2017

Does anyone know, if these features are soon available in one of the offical releases.
Since these are crucial for usability it would be great if we can have access to this functionality!

@Slimmy82
Copy link
Collaborator

Slimmy82 commented Oct 6, 2017 via email

@brueso
Copy link

brueso commented Oct 10, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants