ghisler(Author) wrote:Doing it in a background thread is much more convenient.
OK, let it run in background, run it immediately, etc., that's not the point. The main point was, why not show the "Network" folder from the very beginning? Why should user wait before he's able to open the list of network computers? If the problem is that you don't know workgroup names before fetching the list, then it's better to display the static name, just "Network", and put all workgroups inside it. Here's a sketch of how I see it should work:
1) User opens "Network Neighborhood" in TC. Inside he sees the list of FS-plugins, the virtual folder "Network" (without workgroup name), and nothing else. At the same moment TC starts reading the list of available computers, but
does not show them in this list. Only the "Network" folder, nothing more.
2) When user opens the Network folder, inside he sees the list of folders with names of workgroups that TC was able to find in the network, plus the
<Refresh> command. If the list of computers is not yet ready, the contents is only <Refresh>, and the workgroups appear when the list is obtained.
3) When a workgroup is opened, it contains the list of computers that belong to it.
That's all, plain and simple. Are there any problems implementing it this way? Or some objections on usability?
Of course, I was talking here about Vista+ systems only, in XP and below everything should remain the way it is now. Actually, what I described here was indended to simulate the pre-Vista behavior as much as possible (minus excessive "Microsoft Windows Network" and other virtual folders that only stay on the way).