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

Core: Launcher: can drag-and-drop patch on Launcher window #3442

Merged
merged 4 commits into from
Jun 4, 2024

Conversation

beauxq
Copy link
Collaborator

@beauxq beauxq commented Jun 2, 2024

What is this fixing or adding?

Many people come to discord for help when they try dragging their patch file onto the window, instead of dragging it onto the executable.

(This is mostly for unsupported worlds, so there is no file-type association.)

So let's support dragging the patch file onto the window.

(I've seen the problem more with people dragging patches into the SNIClient window. Maybe I'll add this to SNIClient in a different PR later.)

How was this tested?

I generated a game with an unsupported SNES game, then opened the Launcher window and dragged the patch file into the Launcher window. It patched the rom and opened up SNIClient.

@github-actions github-actions bot added affects: core Issues/PRs that touch core and may need additional validation. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Jun 2, 2024
@Exempt-Medic Exempt-Medic added the is: enhancement Issues requesting new features or pull requests implementing new features. label Jun 2, 2024
@Zunawe
Copy link
Collaborator

Zunawe commented Jun 2, 2024

For the record, it's entirely possible for unsupported worlds to associate extensions with components, including with both BizHawkClient and SNIClient. I'm not arguing against this change, but in my opinion the instruction to players should already be to use the Open Patch button in the launcher or to associate the patch file extension with the launcher, since drag and drop has these clarity problems.

@black-sliver
Copy link
Member

We use the same thing (drag file onto main window) in a lot of applications these days, and even a lot of websites allow that, so I am all for it.

Is there any need for more feedback to the user? Is it clear enough if only the mouse cursor changes to "accept drop" (or does not change to "deny drop")? Should we only accept drop if it can be identified? (Is this even possible with kivy?)

@beauxq
Copy link
Collaborator Author

beauxq commented Jun 2, 2024

For the record, it's entirely possible for unsupported worlds to associate extensions with components, including with both BizHawkClient and SNIClient.

Indeed, this drag-and-drop won't work if the component association isn't there.
The association that I was referring to is the Windows OS association that is made by the installer automatically for supported worlds, but is not made automatically for unsupported worlds.

the instruction to players should already be to use the Open Patch button in the launcher or to associate the patch file extension with the launcher, since drag and drop has these clarity problems.

In my opinion, these are both inferior user experiences - having to navigate to find a file in the window that opens up after pressing the "Open Patch" button (when the player is often already looking at the file in a different window) - or having to manually create a Windows file association.
I think being able to drag and drop the file onto something is a better user experience than both of these.

@beauxq
Copy link
Collaborator Author

beauxq commented Jun 2, 2024

Is there any need for more feedback to the user? Is it clear enough if only the mouse cursor changes to "accept drop" (or does not change to "deny drop")? Should we only accept drop if it can be identified? (Is this even possible with kivy?)

I don't see a kivy interface to change the indication for whether the file drop will succeed. There might be a way to do it, but I don't see a big need for it. Maybe it could be added in the future.

(Even without this PR, in our current main branch, there is an indicator that a file can be dragged onto the Launcher window, and it looks like it will do something (but it won't do anything).

Copy link
Member

@black-sliver black-sliver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

While I think this could use some user feedback (patching may take a while, opening the client may take a while), it works as advertised.

@black-sliver black-sliver merged commit 76266f2 into ArchipelagoMW:main Jun 4, 2024
16 checks passed
wu4 pushed a commit to wu4/Archipelago that referenced this pull request Jun 6, 2024
…goMW#3442)

* Core: Launcher: can drag-and-drop patch on Launcher window

* doc string for `_on_drop_file`
agilbert1412 pushed a commit to agilbert1412/Archipelago that referenced this pull request Jun 13, 2024
…goMW#3442)

* Core: Launcher: can drag-and-drop patch on Launcher window

* doc string for `_on_drop_file`
jnschurig pushed a commit to Tranquilite0/Archipelago-SoulBlazer that referenced this pull request Jun 13, 2024
…goMW#3442)

* Core: Launcher: can drag-and-drop patch on Launcher window

* doc string for `_on_drop_file`
sflavelle pushed a commit to sflavelle/Archipelago-tgc that referenced this pull request Jun 20, 2024
…goMW#3442)

* Core: Launcher: can drag-and-drop patch on Launcher window

* doc string for `_on_drop_file`
qwint pushed a commit to qwint/Archipelago that referenced this pull request Jun 24, 2024
…goMW#3442)

* Core: Launcher: can drag-and-drop patch on Launcher window

* doc string for `_on_drop_file`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects: core Issues/PRs that touch core and may need additional validation. is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants