On-Disk Management: What is left

Ideas for improvements and requests for new features in XnView MP

Moderators: XnTriq, xnview

Post Reply
User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

On-Disk Management: What is left

Post by m.Th. » Fri Jul 05, 2013 5:34 pm

As (perhaps) you all know XnViewMP 0.60 has greatly improved the On-Disk File Management primitives (Drag & Drop from Thumbnail Panel to Folder Tree, enhanced a ton Right-Click menu in the Folder Tree, enough Copy / Move bugs removed etc.)

Now what is left?

Write down or put a link in replies in order to have a spherical view of what it remains here.

And to start the ball rolling, I will write some things from top of my head in the order of priority:

- Folders Tree: Drag & Drop to itself. Move/Copy folders by dragging folders inside of the tree.
- Favorites Tree: "Port" the Folders Tree engine: Drag & Drop from Thumbs Pane to Tree, Right Click Menu, Drag & Drop to itself.
- Shell context menu (hmmm... very nice thing. But not us forget that we're cross-platform. At least on Windows is easy to call it. Perhaps at least on Windows to implement it. Anyway, in the Thumbs pane we have already the File Properties which is OS dependent)
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

Re: On-Disk Management: What is left

Post by m.Th. » Fri Jul 26, 2013 9:01 am

Bump!

Also, I'd add that Drag & Drop from Folders Tree to Thumbs Pane is missing.

And also the possibility to use two browsers stacked or side by side. See bellow for an example:

Image
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

User avatar
oops66
XnThusiast
Posts: 1999
Joined: Tue Jul 17, 2007 1:17 am
Location: France

Re: On-Disk Management: What is left

Post by oops66 » Fri Jul 26, 2013 2:31 pm

+100 ;-)
XnViewMP 0.82 Linux X64 - Ubuntu 16.04 LTS - X64

User avatar
XnTriq
Moderator & Librarian
Posts: 5407
Joined: Sun Sep 25, 2005 3:00 am
Location: Ref Desk

Re: On-Disk Management: What is left

Post by XnTriq » Fri Jul 26, 2013 6:30 pm

m.Th. wrote:And also the possibility to use two browsers stacked or side by side.
Just doing my job as “forum librarian” :mrgreen:

User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

Re: On-Disk Management: What is left

Post by m.Th. » Sat Jul 27, 2013 7:29 am

XnTriq wrote:
m.Th. wrote:And also the possibility to use two browsers stacked or side by side.
Just doing my job as “forum librarian” :mrgreen:
Thanks a lot! :)

...just (trying to) do my job as "programmer" :mrgreen:

The "biggest" thing (and perhaps the easiest one) is to virtualize the access to the browser/thumbs pane. And this, usually, must be already in place.

IOW, instead of having in the program, scattered in all places direct references to myThumbsPane, the program should access it through a variable (pointer):

so...

instead of:

Code: Select all

myThumbsPane.LoadFromFolder('c:\foo\blah');
myThumbsPane.SetThumbDimensions(300, 200);
myThumbsPane.Refresh;
one should have:

Code: Select all

...
protected
  FcrtThumbsPane: TThumbsPane;
public
  property CrtThumbsPane: TThumbsPane read FCrtThumbsPane write SetCrtThumbsPane;  //field at the beginning in the main class
...

//--------------------------------------------------------

procedure MyInitProc  //the init procedure/method run at the beginning of the program (the constructor of the form?)
begin
  CrtThumbsPane:=myThumbsPane; //assign the default
end;

procedure TMainForm.SetCrtThumbsPane(aPane: TThumbsPane); //the setter for the current thumbs pane. 
begin
  FcrtThumbsPane:=aPane;
  Tree.SetFolder(...); //beware here at infinite recursion if we'll have one tree and two file/thumb panes
  ...
  //other stuff to do when the crt pane changes (eg. status bar update, perhaps activate/deactivate buttons from main toolbar and menus (if any))
end;
...and to use it: (this means a Search & Replace tool with human confirmation - "Replace this occurrence?" - or, better, a refactoring plugin - dunno if VS 2008 supports that)

Code: Select all

CrtThumbsPane.LoadFromFolder('c:\foo\blah');
CrtThumbsPane.SetThumbDimensions(300, 200);
CrtThumbsPane.Refresh;

...as one can see in the prev post screenshot with Zoner 15 in action, the internal architecture exposes a GUI Thumbs Frame which is composed from a normal Thumbs Pane and its toolbar. These are hard-linked in a single object (Browser) with two fields/members: Toolbar and ThumbsPane.

While ZPS has a one Tree + two File Lists layout I think that is easier internally to have two Full Browsers - where Full Browser = Tree + Thumbs + Filelist Toolbar + Info Pane and then the pseudo-code above will have instead, of course, the 'global' field called CrtFullBrowser of type TFullBrowser with the public properties (members, fields) Tree, Thumbs, Toolbar and Info Pane.

The second job for the programmer is drag & drop engine in which is best to detach from source and from destination (ie. make it abstract). And this must be done anyway, regardless if we'll have one or two browsers. IOW when the drag action begins the program will set the dragSource (or dragFileList or whatever) to hold the source of the drag operation in the most convenient way (for example the entire file list of the files which should be dragged - perhaps gathered in a background thread which is run while the user is occupied with dragging) - this is rather easy because we have just two cases: Tree and Thumbs Pane which are more or less already handled in the right-click menus.

When the user finishes the drag operation then program will call the transfer engine with three parameters: sourceFileList from above, destination (took from the Drop target - Pierre already know how to handle this for both Tree or Thumbs pane even if there are some bugs there) and the File Operation (copy or move - depending of Shift state - Pierre knows about it).

If something isn't clear or anyone needs more on the theme, drop a line.

Just my2€ & ΗΤΗ
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

User avatar
JohnFredC
XnThusiast
Posts: 2010
Joined: Wed Mar 17, 2004 8:33 pm
Location: Sarasota Florida

Re: On-Disk Management: What is left

Post by JohnFredC » Sat Jul 27, 2013 3:48 pm

Love this discussion of dual browsers!

Zoner is such a great product, I am willing to "put up with" its single tree-dual thumbs architecture, but I don't really like it.

For me, dual trees, dual thumb panels, dual previews... dual everything.

The only way to go.
John

User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

Re: On-Disk Management: What is left

Post by m.Th. » Sat Jul 27, 2013 5:05 pm

JohnFredC wrote:Love this discussion of dual browsers!

Zoner is such a great product, I am willing to "put up with" its single tree-dual thumbs architecture, but I don't really like it.

For me, dual trees, dual thumb panels, dual previews... dual everything.

The only way to go.

As I said, it should be easier to implement. Of course I dunno what Pierre has inside.

But I think that ZPS took that approach due of lack of space.

Also I think that we can very easy add a 'Send to 2ndary Monitor' feature for each tab / browser. In fact it would be a simple dock in a tabbed pane like in the main window.

What do you think?
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

User avatar
XnTriq
Moderator & Librarian
Posts: 5407
Joined: Sun Sep 25, 2005 3:00 am
Location: Ref Desk

Re: On-Disk Management: What is left

Post by XnTriq » Thu Aug 01, 2013 11:45 pm

m.Th. wrote:Thanks a lot! :)

...just (trying to) do my job as "programmer" :mrgreen:
And you're damn good at it, I might add. As a user, I'm grateful for your recent contributions.

orbspider
Posts: 135
Joined: Tue May 22, 2012 5:42 pm
Location: uk
Contact:

Re: On-Disk Management: What is left

Post by orbspider » Tue Aug 13, 2013 3:07 pm

I'm not sure how dual-browser could help me ... except if they could tag-select files independently??

what I'd like to see is a DUAL TREE PANE

something like
Folder tree or Favorites active
+
Categories/Rating selector active


so that I can select what category/rating to filter and then happily move about in whatever folders I like (with folder tree or favorites just the same) and the filter will apply to them until I cancel them.

User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

Re: On-Disk Management: What is left

Post by m.Th. » Wed Aug 14, 2013 6:31 am

orbspider wrote:I'm not sure how dual-browser could help me ... except if they could tag-select files independently??

what I'd like to see is a DUAL TREE PANE

something like
Folder tree or Favorites active
+
Categories/Rating selector active


so that I can select what category/rating to filter and then happily move about in whatever folders I like (with folder tree or favorites just the same) and the filter will apply to them until I cancel them.

Well, we are on topic called On-Disk Management: What is left which tries to complete what is left from On-Disk management primitives (see my first post). IOW things which deal with organization of files on disk through copy / move / rename etc. We are not talking here about filtering.

But because you linked your request from a GUI proposal ISTM that you want something close to ACDSee 6 Pro layout:
ACDSee6Pro.jpg
ACDSee6Pro.jpg (205.67 KiB) Viewed 1962 times
...but BEWARE!! ACDSee does NOT have a layered filter engine between the two panes (Folders and Categories)! As per why, I explained it to you in another post.

Hence, even if I do think that in the future we'll have a similar layout I'm quite reserved that we'll have what you propose in the way in which you propose.
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

orbspider
Posts: 135
Joined: Tue May 22, 2012 5:42 pm
Location: uk
Contact:

Re: On-Disk Management: What is left

Post by orbspider » Wed Aug 21, 2013 11:29 am

What about image count next to folders in the tree? I only have image count next to categories.
+new folder created in thumbnails pane don't show up in fldr/fav tree until restart -I already mentioned.

sorry if I digressed a bit from the topic before! :|

User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

Re: On-Disk Management: What is left

Post by m.Th. » Thu Aug 22, 2013 8:40 am

orbspider wrote:What about image count next to folders in the tree? I only have image count next to categories.
It seems that I'm forced to post again...

Image

...:) Very, very dangerous. Well, perhaps it is good to do it. But definitely in a low-priority background thread. And definitely with the possibility to disable it.

This is a great performance hog because it needs to back-trace the entire "subfolder" in order to get the number of files and in fact if one goes to the root it needs to scan the entire disk to get the number of files. (!!)

Play time: Go to your c:\windows or your root ( \ or "File System" - depending on what Linux you are), right-click and choose Properties. See how many files there are and in how much time the result is thrown. No way to be useful such a thing.

...However...

Because you said 'images', then, again, this feature is related to the Catalog (ie. the images already in DB) and not to the File System. The DB / Catalog file count is a thing which is already implemented by Pierre just that it needs to get out the table from there (Tools | Settings | Database) put it out in a separate window and give it a tree-like form as I said in a prev thread.

OTOH, perhaps you want to browse the photos with the Catalog open. Well, fair enough. Perhaps, we must do also a pane for this?.... hmmm... (the main problem is the automatic Refresh. But perhaps one can live with the manual Refresh - many programs have it...)

+new folder created in thumbnails pane don't show up in fldr/fav tree until restart -I already mentioned.

sorry if I digressed a bit from the topic before! :|
As I said to you, on Win this works, but I know that Windows has a special API for this. Perhaps you're on Linux?
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

User avatar
m.Th.
XnThusiast
Posts: 1530
Joined: Wed Aug 16, 2006 6:31 am
Contact:

Re: On-Disk Management: What is left

Post by m.Th. » Sun Jan 29, 2017 10:36 am

Bump! (Again) ...after 3 years. :mrgreen:
m. Th.

The Ascetic Experience - The best photos and texts from Holy Mountain (Athos)

- Dark Themed XnViewMP 0.90 64bit & XnView 2.00 x64 on Win7 x64 -

Post Reply