I’ve been looking at the code and playing with the app figure out how to replicate this
It seems that the selection/move tool by themselves are working pretty good.
I was playing the the move tool and noticed a couple of features that are pretty cool. If you use the move tool with a shift enter, the object gets moved along the x-y and the hold the control down will rotated the selection, you can scale the selected bitmap….All pretty cool… but that’s not our bug.
I’ve been trying to come up with a consistent way to generate the bug for testing. I can’t seem I can seem to find it at the moment. One thing that I’m observing multiple times but I can’t do it intentionally, is that a copy based occurs if I draw on the original, the copy also updates. (I’m assuming this is a bug and not a feature.)
Also if I do a file new, I’m seeming a invisible selection that blanks out what ever I’m drawing. This seems to be happens only after the weird copy occurs. My suspicion root cause is some combination of mouse clicks, key-strokes that you would normally never do, but are allowed.
One thing that does seem strange to me is that cut- copy and paste from the command from the pull down are enabled at all times. It seems me that the business rule should be if you perform any of these actions the selection box should be displayed. The corollary would be if the selection box is not displayed the copy-cut-paste should not be enabled, If ctrl-x ctrl-v, ctrl-c is attempted with no selection box is displayed, a modal message pops saying that you can’t do that from the pop-up menu.
Now in my mind when a paste if performed via a ctrl-v the copy should be placed where the mouse cursor resides (upper left corner)
If we don’t want to give an error message when some does a edit-paste it seems to me that when some does a edit->paste the copy should be placed in the middle of the screen, the selection is switched to the copy.
My current thinking is that if a ctrl-v is pressed (after initial ctrl-c) the selection could move to the copy (and in the background perform a new copy to the selection. This should enable you to keep hitting ctrl-V to get multiple copies.
Whenever the selection is not visible, the clipboard is cleared.
In my mind, the next step should be only to allow Edit=>copy, Edit=>Paste,Edit=>cut, Ctrl-C, Ctrl-V,Ctrl-X only if the selection grid. Before, I invest the time in doing that, I think I should get the ok from Matt to go for it.
I was just looking at this post.. http://www.pencil2d.org/forums/topic/capturing-paper-animation/ That might just mess up my perfect plan.. Could we want to paste images from outside pencil2d? I suppose that could be a Edit-Past-Special(with behavior the same as Edit-Paste?
Why isn’t this on the forum?
Following are my opinions on everything you’ve listed, please let me know if I missed anything or you’d like me to clarify anything.
Consistent way to recreate the bug
I think for the issue that you are working on it is important to scope the issue with care. I think that changes should be small and incremental. This specific bug should be resolved without including your proposed changes. In other words, the pull request should only have the changes required to fix that bug. The other changes should be in a separate issue/pull request.
File new
I think File new is really buggy in and of itself. It should be investigated fully on its own in a separate issue. The copy paste bug recreation steps should not include File new in them.
Cut/copy/paste enabling/disabling
I agree with you. I think this should have its own issue labeled as “enhancement”.
a modal message pops saying that you can’t do that from the pop-up menu.
I agree there should be a message. I don’t agree that it should be a pop up. It should be somewhere unobtrusive that doesn’t require interaction.
Now in my mind when a paste if performed via a ctrl-v the copy should be placed where the mouse cursor resides (upper left corner)
I like this.
Whenever the selection is not visible, the clipboard is cleared.
I don’t agree with this. It is not default clipboard behavior.
In closing, I’d like to say that each of the separated blocks above should theoretically have its own issue in the event that it is approved as opposed to one large pull request that contains all of the changes at once.
I use my blog as a bit of a mind dump and for me to keep reference notes on something I’m working on.. It’s saved me time many a time where I can google myself to refresh myself. I feel a little weird, going into that level of detail on a public forum with 3.3k users, where 99 percent of them only want the software to work.
Although in this instance you have a point. I’ll repost your comment in github.