Hi Jay,
On Thu, Mar 24, 2011 at 05:16, Jay Yang jkelleyy@gmail.com wrote:
Hello,
Since my first proposal got no response at all, I thought I'd offer another possible project I'm interested in. I looked a little into the "Implement the Explorer" project idea listed on the Summer of Code page on the wine wiki. I have a few questions as to what parts need to be implemented. Clearly, as stated by the description on the Summer of Code page, we have winefile, which does some of the things expected of explorer, but how far is winefile from a correct explorer implementation? Also would implementing Shell Extensions be a good Summer of Code project? In particular, I think it would be nice to have things like TortiseSVN working in wine.
I think winefile is pretty much a dead end as far as "correct" Explorer implementations go. Assuming that we want something as close to the native architecture as possible, the main functionality of the windows explorer lies in libraries ( shell32.dll, explorerframe.dll, ..), used through COM. I did some work in this area last year, which resulted in an implementation of the ExplorerBrowser control (see the documentation for IExplorerBrowser on msdn [1]). I also just now quickly fixed up the proof-of-concept "explorer" I hacked up last year so that it at least compiles on my system (see [2]). It's not beautiful (neither the code nor the interface), but it might give you an idea of what the current state of affairs are. It runs on at least wine and Windows 7, and should also run on Vista.
The code for creating new explorer windows should probably reside in explorerframe.dll, somewhat analogous to how this works for the Internet Explorer and shdocvw.dll.
As for TortoiseSVN I don't dare speak for what others might find useful or how far we are from having that working, but in general there's no lack of things in the shell subsystem that could use some attention. Having explorer implemented and somewhat working would undoubtedly also lead to more of these shortcomings surfacing and hopefully getting some attention.
[1] http://msdn.microsoft.com/en-us/library/bb761909%28v=vs.85%29.aspx [2] http://inget.dyndns.org:9999/wine_explorer/
-- David