[haiku-development] Re: DiskUsage scan abortion

  • From: Clemens <clemens.zeidler@xxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 03 Mar 2011 16:28:51 +1300

On Thu, 03 Mar 2011 15:56:36 +1300, Philippe Saint-Pierre <stpere@xxxxxxxxx> wrote:

Hi everyone,

I would like to get your opinion on this topic. I'm currently implementing scan abortion in DiskUsage and I have a dilemma. Here are my options about
what could happen when invoking the abortion :

1.  When you click abort during a scan, the scanned data is discarded and
you don't get a pieview. (easiest)
2. When you click abort during a scan, the already collected data is shown in a pieview.. so you get an incomplete view (2a would be to put some hint
to remind the view is incomplete)
3.  Before starting a scan, you copy the old data, scan, if you happen to
abort, revert to the old data.

Currently, I have version 2 implemented and working.  While 3 seems like
more elaborate, it seems quite heavy and expensive to copy the data before
starting the scan (which is already slow)

Any input? (or other options I didn't consider yet?)

I'm in favour of 1. because 2. (as you mentioned) shows an incomplete view.

If you like to make it really neat make it asynchronous and on demand. For example, start with the home folder as a inner circle with a "? MiB" label and around this circle all direct subfolders also marked with a "?" and maybe also with the folder name. Now you start scanning all subfolders in home. After scanning the complete home folder update the view and continue with the rest of the file system. While scanning all subfolders the user should be able to click on a subfolder with a "?" to make it the new middle circle and scan this folder first. In this way you can navigate to the folder you are interested in and don't have to wait till the complete volume is scanned. The implementation could be quite tricky to not lose track about scanned and unscanned folder but it should be very nice and faster for the user!
A rescan would trigger a rescan starting with the current selected folder.


Other related posts: