• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

Common File Open/Save Dialog

Started by miturbide, 2007.05.17, 04:50:54

Previous topic - Next topic

jep

#15
Hi,
Quote from: warpcafe on 2009.09.08, 10:37:37
I think it's not even necessary to do so. If I remember correctly someone told me that a way of "subclassing" will work... just like how xWorkplace is replacing parts of dialogues. Basically, as we all know, the WPS is nothing but objects and classes... ;)

And even if not - at least we would have the API ready so all "new" applications (and those where the source code is available for maintenance) could be changed to use the new dialogs.

Well, yes and I'd like to force older applications to have to use the new and improved look, feel & functions (for the containers, would suffice) as well.

Some of you may argue that they have custom built File Open/Save Dialogs (e.g. Embellish), but it'd be great if the container controls (fields to select drive, folder and file) would allow smarter features and easier navigation and didn't look "home made" from the Win 3.1 era. There are to many non standardized versions out there all ready, but I'm all for it if can it be made without reinventing the wheel. :)

Read somewhere that subclassing of such system functions is a bit more difficult... would be great though!  :-\

//Jan-Erik

warpcafe

Hey guys,

sorry, this will be a long read. I will try to define MY requirements/wishes. I wasn't able to dig out the fake screenshots I once had - so I leave the visual parts to those with imagination. Let me focus on behaviour and features here. Since I started the bounty, I feel somehow responsible for at least giving my two cents.

Okay, here we go. I will put it in 3 parts: The Must-have, the nice-to-have additions and those that I consider to be the "universal full-fledged" features I am dreaming of. ;)

1) Must have

  • 1.1) Sizeable
    This means that the file dialog can be sized (up tp full-screen).
    It should allow the maximum of space for the actual files/directories in the list.
    This means, when scaling, teh "other parts" can remain like they are but the container part uses the additional space.
  • 1.2) Preferred folders list
    The user can select (from the directories displayed while browsing trees) and put directories in a list of "shortcuts". So when the user wants to open/save a file from a directory he can walk thru the tree like now - or: Invoke his list of preferred places and select from that (This is like in Embellish or FC/2, FileCommander: Alt-F5)
  • 1.3) Dropdown clickarea
    In the standard OS/2 dropdown-list control, you have to click the dropdown button to expand the list part. I want that crap to react the same when I click on the list (text) part. I know there are addons that can do this, but why not doing it right from the start without having to install addons?
  • 1.4) View styles
    Like in windows, I want the container part of the dialog to be able to display the list of files (directories) in different styles: icon, flowed, detail.. whatever. For thumbnail, see "3) full-fledged" :)

2) Nice-to-Have (includes 1. as mentioned above)
  • 2.1) Recent files / directories
    Whenever a file is opened from the dialog, the file is stored in a "recent files" list like in Windows.
    The user can then invoke that list to re-open a file he currently worked with. This can be also appended to a dropdown list, whatever). That list should be filtered for unique entries ;)
    But now comes the clue: Why not also store simply that files containing folder? This way, when I want to open or save a new file, I can also select from the "recent places", which are determined by the drive/path part of the "recent files".
  • 2.2) Preview area - minimalistic
    When in "open file" mode and a file is highlighted, it would be nice to have a preview area that displays file timestamps, size, attributes. If I click that info area, it turns to display extended attributes (like download source URL when saved from Mozilla, etc.). When the list already is in detailed view (see 1.4) then only display EA info directly. Another click on this area switches back to timestamp etc. information.

3) Full-fledged: (includes 1. and 2. as mentioned above)
NOTE: At that level, it becomes the "universal file opener" and deserves the codename "sesame" :)
  • 3.1) Preview area - full features
    When in "open file" mode and a file is highlighted, it would be nice to add another function to the "preview" area: File preview for all graphics files (thumbnails). A "play" button for sound or video files (video displayed small-scale in that area). It would be a good idea to keep this extensible for "preview handler modules", so if someone creates a PDF preview handler, it could display a PDF thumbnail.
    There should be an option to automatically display the thumbnail / preview handler output if available.
    So the behaviour of the preview pane on clicking it would now be:
    - thumbnail possible, option is active
    Display thumbnail, click=file details, click=EA, click=thumbnail, ... (loop)
    - thumbnail possible option is NOT active
    Display file details, click=EA, click=thumbnail, click= details, ... (loop)
    - thumbnail not possible
    Display file details, click=EA, click="no thumbnail", click= details, ... (loop)
  • 3.2) Seemless ZIP/RAR/...
    Treat archives as folders. See FileCommander/2 for details. I mean te basic functions: open a file from a zip like if it is a folder (internally extract to tmp. file, open), save a file to a zip (internally open zip to tmp. folder, add or update file entry, re-zip)
  • 3.3) Seamless FTP
    Lets me create basic FTP profiles (user, password, etc.) and save this as a "drive". When I "open" these drives, a background FTP fetches the dirs/files. When I open a file it gets transferred to a tmp. file, then opened. When saving a file, it is created as tmp. file, gets transferred and (deleted and) added on the FTP host, then the local tmp. file is deleted.
  • 3.4) Rename/delete/cop/paste inside container
    It happens quite frequently that I want to open a file and while browsing I see something that I forgot to delete... or something I wish to rename. It would be very nice if I could do these things immediately "While I am there" and seeing these files. (Instead of doing it later or using a separate program now)
  • 3.5) automatic linking to "special folders"
    To be treated like a "preferred folder", but is derived from the system "automatically": This could be your downloads folder from firefox, the thunderbird "inbox" folders scanned internally for attachments, frequently used thumb drives detected... an internal backup media library with things that were burned on CDs... you name it.

Phew. That's my share - up yours, folks! :)
Regards,
Thomas[/list]
"It is not worth an intelligent man's time to be in the majority.
By definition, there are already enough people to do that"
- G.H. Hardy

RobertM

#17
Quote from: warpcafe on 2009.09.08, 10:37:37
I think it's not even necessary to do so. If I remember correctly someone told me that a way of "subclassing" will work... just like how xWorkplace is replacing parts of dialogues. Basically, as we all know, the WPS is nothing but objects and classes... ;)
And even if not - at least we would have the API ready so all "new" applications (and those where the source code is available for maintenance) could be changed to use the new dialogs.

Cheers,
Thomas

I could be wrong, but I think x-File is actually intercepting the File Open calls and then handling them. Similar to superclassing but done a little differently.


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


Saijin_Naib

I like your list WarpCafe.

As much shit as the Windows file dialog may get here, it is actually pretty well laid out.
Hell, even the File Dialog in Thunar and GNOME are pretty close in form and function.

Finally found it. Please flip through this presentation by Eugene. I think he has the general idea down of what we'd like to see.

http://wse2008.warpevents.eu/uploads/tx_wseevents/wse2008_app05_neowps_desktop.pdf

warpcafe

Hey,

Quote
Please flip through this presentation by Eugene.

wow, that is really... strange.
WSE websites are basically my second home (at least they should be). And although I assisted on the site works and although I was at Dusseldorf, I can't remember anything of that. I must admit that after the 2008 developer workshop I decided not to attend Eugenes prez anymore if there is any alternative... ;) sometimes he can't seem to make clear what he wants to tell. Language barrier I believe.

Yep, I must admit he gets to the point in many things - but for the file dialog I can't seem to make out any "fancy stuff" in his transcript. Therefore I prefer a feature list like stated above. That should do it. I am also very interested in DLLs to have all that fancy stuff from Eugene accessible from REXX. :-P

Did I mention? The above "Sesame" feature list...:  RFC ! ;)
"It is not worth an intelligent man's time to be in the majority.
By definition, there are already enough people to do that"
- G.H. Hardy

Saijin_Naib

From what I gather, all of the things in that presentation will be part of the new eCSoft runtime DLLs (the ones that eSchemes/Deluxe will use). I'm not sure if any of that is past the mock-up stage, but I'm very interested in the folder sorting/collapsing by content (ala Windows Arrange/Group by...). I also see a rudimentary search bar in the file menu.
I'd also love to see bread-crumbing and a single-window view option. I've said it before, and I'll say it again: I hate having to open and re-close windows. I love the WPS and to me, it'd be great with a file tree pane/info pane, breadcrumbing, and a single window instance to browse.

Glenn

#21
I think that one specification should be added to all these (possibly) nice features: do not break what was working before... I feel like Eugene and his team, although they are doing a great work, never take that into account. Two examples: the APSoft driver does not work anymore with ACPI; last time I installed the eCoSoft products, I had to reinstall my system for some other incompatibility (processor went to 99%, unable to control system anymore). This was on my 2004 laptop. Lots of work are needed to make eCS compatible with the newest machines, as it is more and more difficult to find compatible hardware (that was already difficult when OS/2 was actively developed..), so I think it's really a bad idea to break down the compatibility with hardware that is a few years old when developing new software...

I remember now (Sept12 2009) where the problem with eCoSoft was: it was (at least on my laptop) incompatible with XWLan. That was what caused the processor to go to 99% and the system to become unusable. And I prefer an old interface to a laptop without easy wifi... Although a nice new interface that does not break wifi (or anything else that is necessary on a laptop) is even better...

warpcafe

Hi,

I agree WRT backwards compatibility, although I could live with a solution that offers me to switch between "new" behaviour and "unchanged old" (original) behaviour, so that there's a fallback option.
Frankly, I am not too fond of "replacements" because it means that I can't get the old thing back and have to stick with the new thing even if it doesn't work.

BTW, here's some more things:

Breadcrumb / dropdown)
Have a tree style of directories/drives in the dropdown list

Navigation)
Forward / Backward "buttons" and/or key shortcuts (alt-left/~right) to move between the directories last visited (history kind of thing)

DragDrop)
If I drag-drop a file on the directory list (container part), the container will switch to show the contents of the folder where the dropped file resides. If I drag-drop the file onto the file selector part (dropdown), that file is selected as to be opened. Experimental. Useful?

Finder Integration)
If I want to open a file but I don't know its location, why not be able to search directly from within the file dialog instead of having to launch something else first?

Cheers,
Thomas


"It is not worth an intelligent man's time to be in the majority.
By definition, there are already enough people to do that"
- G.H. Hardy

jep

#23
Hi,

I like your list of improvements Thomas. :)
Someone else mentioned something that I think is a more subtle improvment, but just as helpful non the less, the way it should focus on (or sort) folders you navigate to/from.

E.g.
You've saved/opened files in one folder on a drive and decide to go 1 steg up, it should put focus on the folder you left and not as now search through/load the entire folder and put your view at the top. It may therefore need a cache to handle a few levels.

It should only preload folders currently visible (+ indicate if there are subfolders 1 level down) and not the entier folder structure unless needed. CDRWSel implemented a nice algorihtm for that in his CDRWSel viewer for the file selector that increased the speed considerably thus made it feel much more responsive.

Another approach would otherwise be to sort a tree view according to how much it's beeing used, but that tend to confuse, something you can find to some extent when you open tree view and look at e.g. C: in OS/2-eCS.

Lucide is supposed to be the plugin based allround previewer, then with ONE common interface to different types of files, so why not tie its capabilities to the file dialog!  I'm sure we'll have more use for it if we let it mature to the state where it draw more attention from developers so that they'll add plugins for it.

Quote from: warpcafe on 1970.05.26, 01:13:57I must admit that after the 2008 developer workshop I decided not to attend Eugenes prez anymore if there is any alternative... ;) sometimes he can't seem to make clear what he wants to tell. Language barrier I believe.

I'd like to have those additions at hand, because several of them provide features that would allow more improvements, useful features and less "home-made-variants-created-by-each-developer-ala-Linux". Supporting small widgets as he presented wouldn't cost a fortune either, but at the same time give us common functions that can be used. We'd also avoid the Linux problem with different wheels that doesn't fit togheter with the car due to "differences in distance between the holes". Eugene has presented several projects that I as a user benefit from, even though some may not be complete or top class, but they constantly improve in one way or the other if we (the users) show interest. I can though agree that some need more improvement as they tap in on core functionality and aint production ready yet. That's the way it is, you don't have a finished product to begin with, you have to improve it! So we need to take the time to test and give feedback with appropriate information as to what may go wrong and the preceeding settings we've tinkered with. As a software tester here at work, I have problems to drag info. from our customers when they have a problem, just as if I'd know what setup they have, configuration they've screwed up etc.

Eugene may not know the unwritten laws/codes how to act, approach people and present ideas in fluent English, but sure has great stuff planned and he and his "team" add value.

//Jan-Erik

Andi

One very important requirement for me would be - it has to be open source!

Otherwise neither improvements nor fixing bugs are possible if Eugenes team decides not to do it.

Saijin_Naib

I want to see something else improved:
The Copy To/Move To dialog folders. They really should update the list in real time. They only populate the currently open window when you call them up.

RobertM

Quote from: Saijin_Naib on 2009.09.10, 16:39:14
I want to see something else improved:
The Copy To/Move To dialog folders. They really should update the list in real time. They only populate the currently open window when you call them up.

Hmmm... that requires the File Open/Save dialogs to either become an object, or have a worker thread that monitors what's going on and updates things. The biggest problem with the current one is it is a sad holdover from (if memory serves) before the WPS and is not an object.

What I would like to see is the xWP File Open/Save dialog being attached to the hooks used by x-File. I think that would accomplish absolutely everything on all the lists/suggestions here as any functionality it doesnt currently already have ("Favorite Folders" "Recent Folders" etc) could be added to it, while other functionality that requires an object based setup to perform (like the real time updating, context menus on every object, etc) would already be handled.

Sadly, I know nothing about the actual (programming) implementation of the xWP Open/Save dialog to know if it would work when attached to such a hook. Would it require scanning the ini file for the WPS object handle for the initial creation? Could the folder name simply be passed to it? Since it is object oriented, could it actually work with the hook at all?

Anyway, if it COULD work, it may be the easier way to go since not just is much of the functionality already present, but more could be added in similar fashion to the added functionality WPSWizard and other stuff has with adding functionality and context menus.


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|