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

Automatic apply transformation #515

Closed
YousefSaber opened this issue Apr 20, 2022 · 9 comments
Closed

Automatic apply transformation #515

YousefSaber opened this issue Apr 20, 2022 · 9 comments
Labels
enhancement ideas to improve existing features question tools bugs or suggestions related to tools
Milestone

Comments

@YousefSaber
Copy link

Currently some tools require you to press an (Apply) button so the change can take effect can this happen automatically image

@YousefSaber YousefSaber added the feature request new features that don't exist at all label Apr 20, 2022
@maoschanz maoschanz added enhancement ideas to improve existing features question tools bugs or suggestions related to tools and removed feature request new features that don't exist at all labels Apr 20, 2022
@maoschanz
Copy link
Owner

can this happen automatically

no it can't

@YousefSaber
Copy link
Author

Well Maybe I should've been more accurate, can you provide the ability to apply this transformation automatically @maoschanz ?

@maoschanz
Copy link
Owner

maoschanz commented Apr 23, 2022

But what does "automatically" mean here?

This bottom bar with buttons means you're looking at a preview, which is a feature. It can't apply the previewed modification at each click release: how would you increment the values in the bottom bar? how would you even tweak a filter?

Your ticket is still opened because if a user changes to an other tool while previewing something, the app behavior is currently inconsistent (some scenarios apply the preview, some other ones cancel it), and this can be improved. Such an improvement likely covers most scenarios where people forget to apply: so this preview can stay, cropping should not behave like the pencil tool, it'll not be automatic but it should fix you issue anyways

@YousefSaber
Copy link
Author

@maoschanz I don't believe that there is a need for a preview with the undo button also this video shows the inconsistent behavior within the app

Kooha-04-23-2022-23-09-23.mp4

When I used the crop tool to resize the window of my drawing the changes were declined once I chose the selection button ?!

@maoschanz
Copy link
Owner

maoschanz commented Apr 27, 2022

there is a need for a preview with the undo button

so if i use the inputs in the bottom bar, there would be hundreds operations in the history: that's not very nice, especially given how performant this history is

this video shows the inconsistent behavior within the app

no, this video shows that you didn't apply.

i said the app is not consistent because i'm aware of it, but it isn't shown by a video of this single scenario which is consistent with itself, even if you dislike its outcome


Inconsistent means it's not compatible with itself, it's self-contradicting: there are MANY possible scenarii to "exit" this preview, with various outcomes

  • 2 where you apply
  • 2 where you cancel

these 4 first ones have very predictable outcomes, they are the "normal" way to use the tools, so they're well tested

  • 1 where the preview isn't exited but it could be interesting to apply anyway (saving the image before applying)

it should show a modal dialog window asking you whether you want to apply or not. It always works but it's probably not the most user-friendly idea

  • 3 where you change the active tool without telling the app what to do (+ similar scenarii where the active tool changes due to an action from the user, such as pasting an image or a text)

the initial idea was to consistently cancel in all these cases

but because the selection has the opposite behavior (it consistently applies when the new active tool doesn't know how to handle the selection), any scenario where you change the tool while transforming the selection leads to weird shit, and not even the same weird shit depending on what tool you click on

  • 4 where you change the active image

i've no idea what those scenarii currently do, it's a pain to test all 4 of them, but it's probably a mix of "don't apply things without the user's approval" and "preserve the selection in its original position", which might be frustrating but at least it's not destructive

all the other ones i haven't think about, such as "complex" scenarii where several things change at once (example below), will lead to impredictable outcomes


Examples of what i call an inconsistency:

  • previewing a transformation of the selection, and changing the active tool to a tool which isn't a selection tool (eg the pencil) without applying will:

    • apply the transformation (correct, that's what we want nowadays, but not consistent with the initally implemented behavior which still exists when transforming the entire canvas)
    • deselect the area (correct too)
    • enable the "rectangle selection" tool as if i cancelled the transformation, instead of the pencil (incorrect, small inconsistency)
    • yet interacting with the canvas will draw with the pencil (VERY incorrect, HUGE bug)
  • previewing a transformation of the selection, opening a new image (ctrl+t), and changing the active tool to a tool which isn't a selection tool, nor another transformation tool (eg the pencil), and coming back to the initial image, will...

    • keep the pencil as the active tool window-wide, which includes the tab of the initially edited image (correct?)
    • not deselect the area anyway (correct? incorrect?)
      • but the app doesn't know how to handle the selection buffer when the tool is something like a pencil (remember: the selection is supposed to deselect&apply when switching to the pencil!), so it displays a transparent area missing pixels, as if the data was lost
      • yet the data is not lost, if you enable a selection tool it's displayed again (correct)
      • but the transformation has been cancelled (incorrect?)

and the fix to these problems is to consistently apply when exiting the preview for any reason (except clicking on "cancel" of course); it's not to remove features, and not to lose data each time the users released the click at the wrong position while cropping.

IMO all of this was well covered by my initial comment about the various numerous scenarii

the app behavior is currently inconsistent (some scenarios apply the preview, some other ones cancel it), and this can be improved. Such an improvement likely covers most scenarios where people forget to apply: so this preview can stay, cropping should not behave like the pencil tool, it'll not be automatic but it should fix you issue anyways

but now i've just wasted 1 hour explaining it in details, instead of using my time to fix the issue 😅

@liar666
Copy link

liar666 commented Oct 13, 2022

I agree with @YousefSaber that current settings are too click-intensive, and on a wide screen, it takes a lot of time to move from actual place where drawing occurs (canvas) to the apply button... Not very UX friendly.

Alternative solution would be to accept "Enter" to accept the current modification and ESC to cancel it (as in Gimp - at least when croping).
Also, this raises another UX remark: sometimes it's not very clear that a transformation is in process (at my first use of Drawing, on a very small image on a very large screen, it took me time to understand why my transformations where not applied & how to apply them, until I saw the blue/red buttons way back in the corners of my screen)

@maoschanz
Copy link
Owner

ctrl+enter

@liar666
Copy link

liar666 commented Oct 17, 2022

Thanks.

@maoschanz maoschanz added this to the 1.2.0 milestone Feb 3, 2023
@maoschanz
Copy link
Owner

previewing a transformation of the selection, opening a new image (ctrl+t), and changing the active tool to a tool which isn't a selection tool, nor another transformation tool (eg the pencil), and coming back to the initial image

this case will be its own issue, #580

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ideas to improve existing features question tools bugs or suggestions related to tools
Projects
None yet
Development

No branches or pull requests

3 participants