It seems it was only a few days ago that I started this project. Oh, wait, yes, it was just a few days ago!
If you don't want to read that again, the idea is to see just how much code is needed to turn Qt's WebKit engine into a fully-fledged browser.
To do that, I set myself a completely arbitrary limit: 128 lines of code.
So, as of now, I declare it feature-complete.
The new features are:
Tabbed browsing (you can add/remove tabs)
Bookmarks (you can add/remove them, and choose them from a drop-down menu)
This is what already worked:
Zoom in (Ctrl++)
Zoom out (Ctrl+-)
Reset Zoom (Ctrl+=)
Hide find (Esc)
Buttons for back/forward and reload
URL entry that matches the page + autocomplete from history + smart entry (adds http://, that kind of thing)
Plugins support (including flash)
The window title shows the page title (without browser advertising ;-)
Progress bar for page loading
Statusbar that shows hovered links URL
Takes a URL on the command line, or opens http://python.org
Multiplatform (works in any place QtWebKit works)
So... how much code was needed for this? 87 LINES OF CODE
Or if you want the PEP8-compliant version, 115 LINES OF CODE.
Before anyone says it: yes, I know the rendering engine and the toolkit are huge. What I wrote is just the chrome around them, just like Arora, Rekonq, Galeon, Epiphany and a bunch of others do.
It's simple, minimalistic chrome, but it works pretty good, IMVHO.
Here it is in (buggy) action:
It's more or less feature-complete for what I expected to be achievable, but it still needs some fixes.
You can see the code at it's own home page: http://devicenzo.googlecode.com