Wednesday, July 2, 2008

A better tab bar

The past six weeks or so I have hacking on the QTabWidget and QTabBar classes in Qt. One of the first feature requests in Arora was the ability to have the close buttons on the tabs. Qt didn't allow this without a bunch of work and hacks. Knowing that a lot of other people wanted this same feature in Qt I took some time to implement it and other features (the two classes were not being very actively feature maintained). These went into Qt main (what will be 4.5).

From the user perspective when running against the Qt main snapshot you will see the following

  • Close buttons are now placed on each tabs

  • The buttons to the left and right of the tabs (new and close) are gone

  • The 2px useless frame on the left/bottom/right side of the webpage is now gone. When maximized and your mouse is on the far right it actually scrolls as you would expect.

  • Rather then clicking and dragging (a dnd box) and dropping it where you want a tab to go and then having all the tabs suddenly re-arrange you can now actually drag a tab to where you want it to go and it actually moves with your mouse and the other tabs automatically slide out of your way.

  • In OS X the tabs use the same styling as Safari, Terminal and other tab based applications.




For the more technical details and a video of the animation check out my labs.trolltech.com Some QTabBar & QTabWidget Love blog entry.

Beyond just that tab bar I have put in some time to make Arora feel more at home in OS X. The combination of that work finally makes Arora look not half bad in OS X.

7 comments:

Adam said...

Looks nice Benjamin :) Do you know has anyone bothered to fix the IconDatabase problem? I'd really like to see ico's in the bookmark toolbar.

Just have to somehow find time...

Alexander van Loon said...

Thank you for all your weblog posts Benjamin, it's interesting to read about Arora's development.

But for me, a few important questions aren't answered. I'm still wondering, when do you plan on getting Arora to integrate in KDE 4 better? And when (or if) do you intend to try to get Arora into KDE 4 as the default web browser, just like Dolphin replaced Konqueror as the default file manager? And why haven't downstream packagers started creating packages for Arora yet?

manyoso said...

I can't speak for Benjamin or other Arora developers, but I do know that Arora is a Qt application, not a KDE application.

That means Arora does not use any of the KDE project's libraries or technologies. As such, it is not even in the discussion of KDE4 web browsers.

As for why downstream packagers haven't made packages yet? Well, it is still a very new project. Other than that, you'll have to ask those downstream packagers.

Alexander van Loon said...

Manyoso, before I posted my comment I had already read this page: http://code.google.com/p/arora/wiki/Goals

This page mentions that OS-integration would be implemented as an extension?

Benjamin Meyer said...

@adam, nope still hasn't been fixed. Got my classes sitting here just waiting for some free time to get it in.

@alexander: Currently Arora is very much tied to QtWebKit and more specifically to make life easier for everyone, Qt. The sooner that Arora can depend upon Qt 4.5 (for the many features that QtWebKit will bring in that version) the better, not something that I believe KDE is going to have as a dependency any time soon. So at least for another year Arora is definettly not going to link to KDE. Using Qt Arora does pick up the KDE themes and icons (same with Gnome) which does make for some nice integration. There is talk about a freedesktop.org standard for password managment which would be nice. Beyond that I personally don't have any plans. Extensions (once they are in Arora) are one way that we could integrate with the OS. If someone else wants to help out they of course can. If Arora becomes a good application users will use it as their default browser over Konqueror and KDE wont have to "choose". One thing I have no plans at all to do is to move the Arora repository from git into KDE's svn as that would loose a lot of the flexability that we enjoy and use. There are some packagers that have made packages and I know Arora is in Debian Sid.

sikon said...

Actually, packages are already appearing. For instance, Arora is now available in Debian testing (lenny) and Ubuntu 8.10 (intrepid).

Simon said...

i actually rather liked the un-fixed OSX tab bar, though with a few tweaks....

i was thinking, keep the aqua style merged and centered button tab bar, but add a close-button to the active tab, and have the bar auto-hide when only one tab is open. or at lease, leave that as an option the user can set in the preferences. i just thought it was something a little different to differentiate it from the rest of the browsers out there...