From: Brian (BinaryC) <binaryc@te...> - 2001-02-01 01:45:31
it builds for me :)
here's a little description of what I did...
- Created the preferences class/dialog. (which I've changed since the code
was checked in :))
- I added scripted menus. you can see a sample menu definition in
res/menus.txt. the class CMenuParser handles this.
- I added very basic plugin support. The plugin design is based losely on
general plugins in winamp. right now the only thing a plugin can do is add
itself to the menu and process commands. The api for that isn't quite
finished yet, but you can see the preliminary stuff in kmeleon_plugin.h.
- I created 2 simple plugins. The first adds a "winamp" menu, and lets you
change the song in winamp. this is in kmeleon_winamp. The second will one
day become a plugin that loads up Netscape bookmarks. right now it just
displays a message.
- I added support for (most) mozilla popup boxes like prompts and alerts
and password-entry boxes. that's what CPopup is.
- Fixed the problem where 2 pages would be laid on top of each other. You
have to call Stop() before Back() or Navigate() or Forward()
- Changed context (right-click) menus from BCG to regular system
menus. This makes them faster and makes them works with the right mouse
button, but they aren't as pretty. Someone could easily add the pretty
pictures to it though with SetMenuItemBitmaps
- Added the ability to change the start page, and set it to start kmeleon
with a blank page. (look in the preferences)
- Added the ability to put any bitmap in the toolbar area. (look in the
Things done since checkin:
- I removed the BCG workspace from CKmeleonApp. This was necessary for the
dynamic scripted menu. Menu customizations are no longer stored in the
registry (but it doesn't matter because you can customize the menu with
- Changed the way CPreferences works. I basically added CPreferencesDlg
which takes all the dialog code out of CPreferences. It's *much* cleaner
Things I want to do:
- Expand the plugin api.
- Change the way menus are passed to plugins to give them more control over
- Create an accel.txt which handles accelerator keys (or add :Accelerator
command to menus.txt)
- Add :Bitmap command to menus.txt which would assign a bitmap icon to a
- Remove BCG. It's big. It's useless.
- Move the favorites code into a plugin. That's what the plugin system was
You should probably delete
hkey_current_user\software\kmeleon\kmeleon\settings. this stores the
toolbars, so you probably won't see any of the toolbar changes if it
exists. This was addressed after the code was checked in.
At 02:55 PM 1/31/01, Sebastian Spaeth wrote:
>BinaryC sent me the changes he did so far and I just checked the whole
>bunch untested in, trusting him that it actually builds. If it doesn't,
>please report so, then we have to back it out again.
>I still need to examine the code closer as well.
>Unfortunately this was a whole bunch of changed files, that fixed and
>changed a lot of issues at the same time. Which will make it quite hard
>to reproduce the single changes for each bugfix/feature. I hope we'll
>improve in this as we go along.
>I hope binaryc will post a more explicit explanation of what bugs he
>fixed. Especially he mentioned a new Winamp similar plugin feature for
>KMeleon. *That* is definitively some heavy weighted architectural change
>which I'd have liked to discuss on the list before implementing. This
>needs to be examined and thoroughly documented. It would be great if you
>could write something about that and the other stuff as well, binaryc.
>Please check your CVS out and try to build. Report any issues to this
>Still trying to recover from that code attack,
>Kmeleon-dev mailing list