sghpjuikit / player

Audio player and management application.
22 stars 2 forks source link

DirViewer - add ability to go up a directory or select a new directory #121

Closed xeruf closed 5 years ago

xeruf commented 5 years ago

The first item in the dirViewer should be "..", i.e going up a directory. Somewhere should also be an option to select a new directory.

sghpjuikit commented 5 years ago

Adding ".." would not be trivial and probably cause quite few problems. It just isnt possible. Nor necessary.

The widget could receive a toolbar of sort with common configuration, like sorting and grouping. It's all in settings though. The toolbar may just be an UX complication.

sghpjuikit commented 5 years ago

If that sufficiently solves your problem, pls close the issue. Otherwise follow up with questions/requests.

xeruf commented 5 years ago

Why would the ".." be problematic? I do like the idea of a toolbar. Either way, the UX needs to be improved here because going into the settings for this is just not intuitive.

sghpjuikit commented 5 years ago

Toolbars are hideous and waste space. Needless to say more and more complicated code. I'm not saying its bad idea, but first it must be confirmed to be a good idea. It is also possible to make it so to invoke settings in a better way, for example CTRL+RMB. Perhaps this widget could have special toolbar that would get visible after such action. Having it always visible however seems like a bad idea to me. We do not want 90s and application with hundreds of toolbars. Minimalism is the key. So better start with no toolbar at all and work from there. How often do you need to change the source location? You can export the widget into an .fxml file and create 'library' widgets or 'views' without having to touch the settings very often. Sometimes least common denominator is better than full blown feature set.

'..' is problematic because it is not a directory. '..' is not a File, it is not a child, it does not exist, it does not conform to the design of the file grid as it is. It turns a physical view into a virtual one, which is not how the code looks at this at all. Half API of the relevant code would have to be turned upside down. Lots of nulls or weird enums and ifs to be added. Not to say optionality of this feature. This adds a lot of complexity for virtually no benefit. Very dangerous. What is the merit here? It is possible to go up both with mouse and keyboard.

xeruf commented 5 years ago

1) If I browse back and forth between stuff. 2) ".." is a directory? It is simply the parent. I do not see how this would turn everything upside down, just treat it as a any other directory.

sghpjuikit commented 5 years ago

I do not understand, you want to change the source directories every time you go back/forth?

xeruf commented 5 years ago

If I go back and forth between directories that are far apart in the folder hierarchy. But I guess I might as well do that by navigating in the widget itself, knowing know how I can go up.

sghpjuikit commented 5 years ago

I think your problems really stem from the expectation of DirView to be sort of fully fledget directory browser. It has way too many problems and clucnky UX for that. It has been devised as a library creator, where you can define source content and display images. Games, movies, video, audio or images, its great for browsing these. Once you customize it, it works, it's fast its pretty.

Now for the browser, I had a new widget in mind, one that would combine file tree + directory view (table || grid) + file preview. Here the grid would be only a small part of the solution. This has much smaller requirements on the grid too as the DirView widget has quite a logic for joining multiple sources, remembering positions and going back/forth. I wish I had time to write this widget...

sghpjuikit commented 5 years ago

I implemented breadcrumbs. I'll push the feature once I add some configuration and styling.

sghpjuikit commented 5 years ago

Closing this is delivered. The .. functionality is something I will think about as distant possibility.

Apart from the new methods, going up is still possible using

Selecting a new source directory can be done by:

Documenting all this behavior will be done together with documenting all the rest of the ui features, in a standalone task.