Jump to content

Mac OS X SourceList


Recommended Posts

Hi, I'm publishing this if anyone is interested in it.

(yes I'm trying to write a Finder clone, but it will take a very long time)

Test:

http://matias.securityconsultant.com.ar/FingerXP.rar

Screenshot:

http://link.imgshare.us/b3pHWR

I'm not publishing this as a Preview in Comunity Applications, because I don't know if I'll ever finish this.

aquasoft-separator.png

Ok, what once was just a SourceList control has become into an almost complete (visually speaking) Finder clone.

Here are some more recent screenshots:

fingerxp-6.png

fingerxp-1.png

fingerxp-2.png

fingerxp-3.png

fingerxp-4.png

Link to comment

Ok, some details:

The sidebar (technically a SourceList, as mentioned in Apple Human Interface Guidelines) (very recomendable lecture to anyone writing Mac emulation software, BTW). The sidebar is an owner draw ListBox :P I tried with a TreeView, but I couldn't figure how to put variable height nodes on it (to separate among source item sets.

Now I added an owner draw TListView. The idea is to use it for icon view and list view. For column view I'll probably use multiple instances of a TListBox. For Cover Flow view it'll probably be Flying Cow + a TListView.

Link to comment

Wow, thats so cool. Will it work with vista?

and just to make sure im not seeing things, your going to make it have Coverflow?!?!

After a bit of searching and research, i have found your Flying Cow app. i dont know how to use it but now i know what your talking about. This Finder clone will be amazing if you do complete it. your a genius.

Link to comment

This man is unstoppable!!

^^

Nice to see someone like you, keep going the emu scene alive.

I would very much like to in some sense, can help, but I am only an observer rooting for the development of the project.

If you get something like that, on stable, that together with Flyng Cow, can be run as well as the stack docklet was, is a very welcome addition for those who wish to have an emulation of the OS-X at least competent.

Who knows, you could share your progress with the staff of the Cairo Team, for whom you know, get some kind of hint that interest.

What do you think?

Success in the project Mat.

[]´s

Link to comment

Ok, more updates (redownload the first post please):

Now you can select any Device, Share(ing host), or Place.

Also you can browse among folders.

To-do:

Everything.

Release date:

Release? huh? :D

Ok, beta version:

As I said before, I'm not sure if I'll ever finish this app.

Ok ok, if I find myself not finishing the app for some reason (I don't mean solving bugs, I mean implementing a functional app) then I'll just post the sources (with source code documentation of course).

Link to comment
Ok, now the app is functional.

I'll just stop development here.

Edit

BTW added an icon and changed buttons in the toolbar, even though they are not functional yet.

Mate, damn, but you are one of a kind.

I have dropped this into parallels and tested it on a Mac, and its functionality is lightning fast - even running in an XP portal.

Cheers on behalf of all of us here AND for sharing your considerable talent

Link to comment

I say I'll stop development of this because I should try to finish other stuff such as Stacks Docklet first.

But I can't resist make some minor changes to this thing from time to time :)

BTW last version didn't search on typing, new one does (just uploaded).

Edit

Made some bugfixes. Added... mmm... can't remember.

Edit

I'm on long weekend (holiday Monday). So I'm having a short three days vacation, hahaha. I got to connect to an unprotected wifi network with my notebook so I'm able to post this update :P

I've added Quick Look :P though it's still unfinished.

Let's see: if I can get this thing complete with list and multicolumn and flying cow view, I'll post it into Community Applications :)

Edit

I recently installed Icon Tweaker and LeopardXP Blue icon theme, and found Finger XP didn't load the customized icons.

So after some info digging, I found I had to check some registry values first (HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerShell Icons).

In short, FingerXP now supports Icon Tweaker ;)

Also changed quick look skin to something more Apple'ish (transparencies plus round borders).

Edit

Two more changes:

- Now "shared" section is loaded async. You'll notice this if your machine is in a big or slow network.

- QuickLook borders pop out more nicely when watching small images.

Edit

Enhanced QuickLook. Now it will pop up smoother with big JPEG images.

Edit

Added list view. Problems:

- Buggy when used with keyboard.

- Can't expand folders (yet).

Edit

Optimized some code. Now folder content shows faster.

Next step: modularize the different folder views, to be able to add more views easily.

Edit

Fixed bugs in list view mode.

Ok, modularized all view modes! This was painful task! But code is so much cleaner, I'm sincerely happy with this. :)

Edit

BIG update: the list view now behaves like real Mac: you can expand folders inside the view! Just click the arrows ;)

Edit

Now .pngs for quicklook and arrows are stored as resources inside .exe file. This makes distribution cleaner. Anyone wanting to tweak the bitmaps just needs a resource hacker ;) (I recommend XN Resource Editor)

Edit

Found a bug when testing in another machine:

The computer in question had "Hide extensions of known file types" enabled in explorer Folder options.

This interfered with thumbnails and QuickLook in FingerXP.

Ok, I've solved it. Now FingerXP works correctly even if that option is enabled.

Edit

Added multicolumn view!!!!

Just in case anyone gets confused about it's usage:

- Double clicking a folder will open exclusively the folder in the view.

- Just clicking a folder once, will add a new column with that folder.

I think that's how Mac OS X works (but can't remember.... I'll check that next Monday at my job's iMac).

Edit

Buttons of icon / list / multicolumn view now have pressed states.

Edit

Control Panel works better now. Avoided an access violation problem when some fuc*** stup*** IExtractIcon implementations try to fill a NULL pointer to small icon. So now I just put a valid variable there, then I destroy the small icon because I don't need it.

Edit

FingerXP now treats Shell Link files (.lnk aka shortcuts) specially:

- If shortcut destination is a folder, open it inside Finger XP.

- If not, just execute the shortcut as usual.

Edit

Fixed a bug when trying to quick look a picture inside a .zip file (now it just doesn't quick look... oh wait, it should at least quick look an icon, hahaha).

When in icons view mode, if more than 70% of folder files are pictures, then icons will be shown 128 x 128 instead of 64 x 64. ;)

Navigation with keyboard is now much easier. Proper focus is given to icons, list items, columns items. Now you can search by typing in multi-column mode too.

Edit

BIG update: the Prev and Next buttons now work!

Edit

Now vertical scrollbar in columns are always visible, as in Mac OS X.

It was a little of a pain to do that, because SetWindowLong (ListBox.Handle, ..., ... Or LBS_DISABLENOSCROLL Or WS_VSCROLL) didn't work. Finally I came with this:

type
// Base the new listbox on Delphi's one
TMyListBox = class(TListBox)
protected
procedure CreateParams (var Params : TCreateParams); override;
end;

{ TMyListBox }

procedure TMyListBox.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams (Params);
// Tell Delphi to take into account these flags when creating the listbox:
Params.Style := (Params.Style Or WS_VSCROLL Or LBS_DISABLENOSCROLL) And Not WS_HSCROLL;
// LBS_DISABLENOSCROLL tells Windows to never hide the scrollbars
// WS_VSCROLL means we want vertical scrollbar
// WS_HSCROLL means we don't want horizontal scrollbar
end;

Then I replaced TListBox.Create(nil) with TMyListBox.Create(nil). You can also make it into a palette component, I guess, if you need to insert it into your form with the UI editor as usual.

Edit

Now Prev and Next button have disabled states. Just like Finder.

Edit

Now all buttons have pressed state. Try pressing with mouse button, then releasing it :P (buttons: prev, next; icons, list, columns, coverflow; quicklook)

Link to comment
  • 2 weeks later...

...aand how did i miss this?

Matonga, thanks for posting your progress notes and even getting a little technical sometimes. It's truly a pleasure to read :)

Is there any chance you could add the ability to doubleclick the empty space of a window to go up one directory? I've grown so~ used to navigating this way fast in explorer, I'm sad that I can't in FingerXP.

pic1cj1.jpg

Also, would it be possible to add the ability to, in Column view, scroll the window <----------> using the middle mouse wheel? Pretty pleease ^^

pic2ti4.jpg

Also, when selecting files by dragging the box over them. I see the flicker of the standard windows dotted line box. Maybe you'd consider adding something like a tinted overlay selection box while selecting files via click & dragging?

So to summarize:

1. Request: Doubleclick margin of window to go up 1 level.

2. Request: In Column view, scroll window's open columns <---> using middle mouse wheel button.

3. Request: In Column view, give arrows more space before end of file name.

4. Suggestion: When selecting multiple files using left-click & drag, replace the dotted line with hightlight overlay.

5. Obeservation: My Icon size and Font size seems to be larger than FingerXP finds comfortable, consequently, layout seems squeezed in areas.

6. Obeservation: In Column mode, the navigation buttons at first did not follow the folder navigations, but now it seems to update, but I'm not sure if it's correct. I'll try and perform some tests and report back.

I know this is a pre-pre release, but damn if I'm not excited, and so forgive my hefty requests and observations so early in the apps development. I wont take it the wrong way if you've more pressing things to work on and real life. of course :) This is just my way of saying thanks and offering ideas for features I'd hope you'd think were useful enough to add (and I'd like as well :P)

Thanks again, and in anything you contribute to the community, I'm very content as is!

ps. the speed with which this thing navigates network folders is top notch. well done!

Link to comment

This is so cooll! It's very buggy so far, but still it's come a long way and it's looking great.

If you double click something in Column view the program crashes, and the normal error message pops up: Test1.exe has encountered a problem and needs to close, blah blah. I can't click Don't Send with the error report, the mouse is non responsive. And I can't close it with task manager because the mouse doesn't work there either. I've got to restart to get rid of it.

Thanks again for this great app!!

Link to comment
  • 2 weeks later...
  • 3 weeks later...

Mat, your app is not Vista(with my Windows Vista Home Premium SP1) friendly :( I just can use the icon view and column view :( When I use the list view, this message appears me : Access violation at address in module 'kernel32.dll'.Read of address 0000001. And when I use the cover flow, the app just freezes. Help.

Link to comment
  • 3 months later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...