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

Remove vendor and replace file browser #77

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

AlmogBaku
Copy link

This PR:

  1. remove the hard-coded vendor, in favor of the default go module mechanism
  2. Use the system's native file selector

In my case, the fyne file browser was just unbearable to use to locate files... So I quickly replaced it :P

2. Use system's native file selector
@alexballas
Copy link
Owner

Thank you for taking the time to raise this. I've also removed the vendor folder from the development branch https://github.com/alexballas/go2tv/tree/devel.
As for the file browser, I have some comments:

I've also tried in the past to use some similar cross-platform native file browsers. There were however some issues that didn't allow me to continue with that approach (didn't spend too much time really). Some points:

  • When you open a file dialog, the existing UI in the background should be unclickable / disabled. Allowing actions in the background is not really a nice experience when there is already a file dialog open. Fox example, users should not be able to click the "Select Media File" and "Select Subtitle File" buttons multiple time. On Linux specifically the application will panic if you try to open a file dialog if it's already open with your approach. In some cases I even managed to crash it.
  • There is one more file dialog that you missed. This in the "Settings" tab when you click "Export Debug logs". It gives you an option to save your debug logs somewhere in your file system.
  • In the Development version here https://github.com/alexballas/go2tv/blob/devel/internal/gui/gui.go#L130 I introduced a drag and drop functionality which reduces the need to use the file browser that much. The only reason I haven't released this version yet is this bug here Performance regression when scrolling inside the file dialog fyne-io/fyne#4307. If we were to introduce the native file dialogs we would also need to block this functionality while the file dialog is open.
  • The overall look and feel of mixing native and non-native looking widgets is not great in general.

PS1: I'm not against this change, I just needs more work and definitely testing.
PS2: If you don't mind the performance degradation of the file dialog in the development branch, give the drag and drop functionality a go, it might be the answer to your problems :)

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

2 participants