Sunday, March 30, 2014

New bookmarks and other improvements

It's been a while since I blogged about a new features that landed in git, but it doesn't mean there aren't any. I've just been too lazy to write...

Bookmarks
Bookmarks have been completely rewritten. It now finally supports nested folders, the feature that's been missing for a long time. Internally, it stores bookmarks in JSON file with very similar structure as the Chrome's bookmarks (it is actually possible to simply copy Chrome's file into QupZilla profile and it will just work).
There is now also support for separators. Bookmarks import now also supports importing full bookmarks structure (including nested folders), the same applies for export to Html.

New bookmarks (Toolbar and Oganizer)
LocationBar
LocationBar received major code cleanup. It no longer uses various hacks to draw host part of url with different color. More importantly, the completer now runs in separate thread. If you have a long history, searching in LocationBar will no longer slow you down.

Zoom Widget and Closed Tabs button
StatusBarIcons plugin now offers Zoom widget in Status Bar, well-known feature from Opera browser. Just a note, you can disable all icons except Zoom widget if you don't like other icons StatusBarIcons plugin offers.
There is now also separate button for closed tabs in tabbar (in the right corner). There used to be option to show closed tabs instead of list of tabs in tabbar corner button. They are now two separate buttons.

Zoom widget in Status Bar
New Breathe theme
Not yet in main git repository, but soon will be. The new theme (all screenshots in this post are made with Breathe theme) made by Mladen slightly modifies the Linux default theme. It looks really great, especially in Qt 5!

QtWebEngine
QtWebEngine is a new Web Engine in Qt (using Chromium with Blink). It is not yet in Alpha stage, however it is already possible to build and run QupZilla with it. Given the fact that Chromium uses multi-process architecture, a lot of API is now asynchronous (instead of synchronous as in QtWebKit). It means that a lot of advanced features in QupZilla will need to adapt to this change. For now, those features are simply disabled.
You can try QupZilla with QtWebEngine using qtwebengine branch. It has some issues, but it works. In fact, I wrote this entire post with QupZilla-QtWebEngine.
And for all of you who don't like multi-process architecture, there is a --single-process switch ;-)

QupZilla running on QtWebEngine
Next release
Next release will be 1.8.0. All version with 1 as a major version number will be using QtWebKit as its web engine.
New major version 2.0.0 will be using QtWebEngine only. But that will still take some time (maybe with Qt 5.4).