Monday, September 27, 2010

Arora 0.11.0!

Packages are available on arora-browser.org.

Over the past ten months Arora has received a small but steady trickle of commits. With the release of Qt 4.7.0 the current Arora 0.10.2 can not be compiled with the current Qt* so it was time to package up the current source in Git into a release.

Enjoy!

* due to the addition of a define in QtWebKit that already existed in Arora.

Changelog:

Interface:
When the privacy indicator is visible clicking on it will result in private mode being turned off.
Add a way to modify the user agent string from within the application.
Support arguments for the external download program
Tweak the adblock dialog spacing and size.
Change the AdBlock dialog to use a simple check box instead of a group box.
Replace Stopped with Download Complete (like in ffx it's less confusing )
Update the copyright year in the about dialog to include 2010
Issue: 768: Fix spelling mistake
Issue: 821: Sort columns in cookie dialog by data values instead of string value. This fixes the dates being alphanumerically sorted.

Behind the scene:
Issue: 891: Fix Text Encoding to work correctly
Issue: 826: Correctly save the history state of a tab when using Qt 4.6
Fix build breakage with QtWebKit 2.0.
Remove remnant of delayed QWebView creation. Fixes tab restore again.
Style fix: convert tabs to spaces.

Build system:
Add an application icon for os2.
For finding the locale tools on os2 behave like win32
When building in debug mode on OS2 just like with Windows enable the console.
Move Arora's hooks to the git-hooks format to utilize git-hooks (See: http://github.com/icefox/git-hooks)
Default to lrelease and not lrelease-qt4 on non unix platforms.
QMAKE_EXTRA_UNIX_TARGETS is deprecated; use QMAKE_EXTRA_TARGETS instead.
Enable the raster graphics system by default for X11

Translation:
Make "Show Hidden Files" translatable.
Issue: 811: Fix typos in the German translation
Replaced "leichtgewichtiger" with "schlanker" in translation with source "Lightweight WebKit-based wen browser"
Fixed capitalization typo whare the word "Tab" began with a lowercase "t"
Renamed Dutch translation file from nl_BE to nl.

Contributions:

Benjamin C Meyer Benjamin C Meyer ben@meyerhome.net

Christopher Eby Christopher Eby kreed@kreed.org

Kristof Bal Kristof Bal kristof.bal@gmail.com

Jakub Wieczorek Jakub Wieczorek faw217@gmail.com

John Wimer John Wimer john@god.vtic.net

Benjamin Poulain Benjamin Poulain benjamin.poulain@nokia.com

William Witt William Witt unamanic@gimli.tolkien

Tor Arne Vestbø Tor Arne Vestbø tor.arne.vestbo@nokia.com

Popa Marius Adrian Popa Marius Adrian mapopa@gmail.com

mwenge mwenge robert@roberthogan.net

Michael Burger Michael Burger linuxman2k1@yahoo.com

Max Kueng Max Kueng me@maxkueng.com

João Abecasis João Abecasis joao@abecasis.name

Jakub Lužný Jakub Lužný limoto94@gmail.com

Henri Valta Henri Valta cg@jakorasia.info

Ariya Hidayat Ariya Hidayat ariya.hidayat@gmail.com

Andreas Kling Andreas Kling andreas.kling@nokia.com

Friday, August 27, 2010

Arora on os2

The group over at netlabs.org has ported Qt4 to OS2. Along with that they have got QtWebKit building on OS2 and now have an Arora on OS2 binary you can download. With a few minor build related fixes (now in git) to Arora it now builds out of box and can be run on OS2.

Sunday, December 6, 2009

Arora 0.10.2!

Packages are available on arora-browser.org.

Over the past year when compiling with Qt 4.6 Arora had been using a number of new API's. Shortly before 4.6.0 was released all the new API's went through several rounds of API reviews and were improved. Shortly after the changes were made Arora's code has been updated to reflect the new api. This is also why 0.10.1 doesn't build on the older Qt 4.6 release candidate for those who have seen that build errors. With Qt 4.6.0 released there is the need for a new minor package of Arora that includes updates to the final Qt 4.6 api and I included one segfault fix. The changelog is nice and small :)

Changelog:
- Fix build breakage due to final API changes in Qt 4.6.0
- A segfault that could occur when opening a URL on a new window from the command-line.

I also though I should try to list some of the new features users will be getting once they upgrade to Qt 4.6.0 (Arora needs to be compiled against 4.6 also)

In Arora itself:
- The about dialog will now include the webkit version (532.4 in Qt 4.6.0 btw)
- On KDE you will find icons in the menu's
- Adblock will hide element's that are blocked
- The history of the back and forward buttons will be saved across sessions and when you re-open a closed tab.
- Javascript that is hanging the browser will be caught
- You can right click on any form and add it to the search box
- You can choose the default text encoding
- Use the keyboard to navigate links with Access keys
- The ability to highlight everything found when searching the page

In QtWebKit and Qt you will find many more updates that are worth talking about. QtWebKit has improved a lot in the last year. The rendering is a lot better, more tests are passing, using less memory, all new inspector features, and more. Qt's network has got an upgrade and includes pipelining, the ability to set the number of connections, and other improvements that make it faster. For more details checkout the Qt 4.6.0 changelog QtWebKit 4.6 feature wiki page

Enjoy!

Sunday, November 22, 2009

QtWebKit and XSLT

Qt 4.6 is getting closer and there is a couple of optional features in Arora that are only enabled when building against the upcoming version, most of which have been blogged about. These basically required specific APIs to be available in QtWebKit. There are, however, certain new things in QtWebKit that did not need any additional work in Arora itself and work out of the box when running Qt 4.6. One of them is basic XSLT support.

So far, QtWebKit did not have any support for XSLT. Other WebKit ports have been using the libxslt library to handle XSL transformations, but for QtWebKit such a dependency would not have been possible and the XSLT processor in WebCore had been disabled in the build system (it didn't even compile). But since Qt developed its own XSLT processor in the QtXmlPatterns module, it's been possible to make QtWebKit use that. After a bit of abstraction work, the main patch landed in r48826.

Here is the other side of the medal: the set of XSLT features that are supported in QtWebKit supports corresponds to what is available in QtXmlPatterns, which is quite limited. Most of websites, which make use of XSLT to e.g. transform XML to a human-readable XHTML document, will most likely not work properly. This is, however, a good starting point towards better website compatibility. And at least most of the W3C Schools examples work just fine:

Before:


After:

Wednesday, October 28, 2009

Haiku Qt Port

Over on OS News there is a story about Qt 4 being ported to Haiku and has a nice screenshot of Arora running. There is even a package you can download and try out. Looking at the screenshot there are various things in the style that are falling back to the Qt default, no doubt as time goes by the port will be improved and Qt applications including Arora will integrate better and better with the desktop. Congratulations on the new port!

Monday, October 5, 2009

Arora 0.10.1!

Packages are available on arora-browser.org.

Two major issues combined with some late translations resulted in several evenings concentrating on fixing bugs that could go in a .1 release. The results of which are Arora 0.10.1. Enjoy!

0.10.1
The major issues:
Issue 666: Some sites like https://mail.yahoo.com were showing a "SSL handshake failure". With the new NetworkAccessManagerProxy the signals were being sent to the proxy and not the primary networkaccessmanager.
Issue 683: Arora crashes when using privacy mode.
When switching to private mode the primary networkaccessmanagers swaps cookiejar's which caused a segfault. Introduce a CookieJarProxy class which will pass the cookie requests to the primary networkaccessmanager's cookiejar.

Translations:
Add Portuguese translation from Américo Monteiro
Updated Turkish translation from Mehmet Nur Olcay
Issue 682,677: Fix several FR spelling mistakes.

Fixed Issues:
Issue 79: Only tab down the completer when the popup is visible.
Issue 221: When using Qt 4.6 hardcode a webpage to have a white background even when using a dark theme.
Issue 472: Set the url on the location bar that matches the webview that we are loading the url in, not in the current location bar which might not be the correct one.
Issue 637: Startup Crash with Qt 4.5.0 (not with any other Qt version)
Issue 679: Selecting Show only one close button instead of one for each tab requires an application restart to be applied.
Issue 676: Fix openstreetmap.org's login saving and improve the Wallet password dialog when finding the login name.
Rather than using the document.form[0].name use document.form[0].elements["name"] this allows the name to contain things such as []'s without causing a problem.

Friday, October 2, 2009

Arora 0.10.0!

Source and Windows binary packages (with Qt 4.5.3) are available on arora-browser.org. OS X binaries will be up later tonight. Kubuntu/Ubuntu users will find packages in Karmic shortly.

First off a big thanks to everyone who contributed to this release:

Benjamin C Meyer Benjamin C Meyer ben@meyerhome.net

Jakub Wieczorek Jakub Wieczorek faw217@gmail.com

Diego Iastrubni Diego Iastrubni elcuco@kde.org

Christopher Eby Christopher Eby kreed@kreed.org

Kristof Bal Kristof Bal kristof.bal@gmail.com

Tor Arne Vestbø Tor Arne Vestbø tor.arne.vestbo@nokia.com

Tom Gundersen Tom Gundersen teg@jklm.no

John Wimer John Wimer john@god.vtic.net

Jocelyn Turcotte Jocelyn Turcotte jocelyn.turcotte@nokia.com

Jakub Lužný Jakub Lužný limoto94@gmail.com

Gegesy Zsombor Gegesy Zsombor gzsombor@gmail.com

Christian Franke Christian Franke cfchris6@ts2server.com

axasia axasia axasia@gmail.com


0.10.0 has a lot of improvements, many of which have been blogged about the past few weeks. The biggest two are the addition of AdBlock and password saving / wallet. While browsers like Konqueror and Opera let the user block things manually, Arora might be the first browser to ship with a subscription blocking system and not as an extra install. [See below were a user will comment about the browser that had adblock subscriptions all the way back in the 90's] These days many browsers are funded by companies that are ad based in one form or another such as Firefox and Chrome who are funded by Google. As Arora is not funded by an ad based company we can happily incorporate features like ad blocking and Flash blocking to give our users what they want while Firefox and Chrome can never add those features.

We went through and implemented a lot of older issues. For those of you with Google accounts the issues are sorted by the number of stars a issue has so if you find a bug/feature important click the star on the left to vote for it so we know what you find important.

After getting directory listing in the last release we got a nice little patch that adds the ability to hide and show hidden files when browsing a directory.



Two older feature requests, #40 and #85 add support for keyboard shortcuts on the location bar such as ctrl-enter to append .com. If there are keyboard shortcuts that you expected Arora to have, but did not find open a issue and we will see what we can do.

The full changelog:

0.10.0
Interface
- Issue #24: Add support for AdBlock
- Issue #40: Support several common modifiers in the location bar for modifying the typed in url.
ctrl-enter - append .com
ctrl-shift-enter - append .org
shift-enter - append .net
- Issue #79: Trap tab key to cycle through potential URLs in the location bar.
- Issue #85: Alt+Enter on the location bar opens the url in a new tab.
- Issue #119: Add Password Management / AutoFill
- Issue #411: Save and restore the tab back/forward history
- Issue #630: Limit download progress updates to 5 per second to reduces CPU use from 18% to 3% when downloading.
- Issue #650: Save the toolbar location allowing the toolbars to be next to each other
- Add ctrl-z shortcut to undo the closing of the last tab.
- Behave better when access keys are enabled by adding a slight delay to make sure that the ctrl is actually for access keys and not for another shortcut such as ctrl-tab or ctrl-a
- When arora crashed on the previous startup give the user a way to bypass the failsafe and restore their session if they really want.
- Add the ability to set the length of a session cookie
- Enable DNS prefetching and WebKit version in the about dialog when building against Qt 4.6.
- Remember what tab you were on when you close the settings dialog
- Add a browse button next to the style sheet line edit to help users find files and automatically translate them into url's.
- Add icons to the menu actions on freedesktop systems.
- Show the configure search engines action in the tools menu
- Change default bookmarks to only have a link to htpp://arora-browser.org
Removed all of Qt development type entries
From discussion on http://arorabrowser.blogspot.com/2009/08/arora-090.html and also the Kubuntu guys strip the bookmarks in their release so it make sense.
- Move the Preferences menu item to Tools/Options
- Set placeholder text for the start page search box
- Add a checkbox to hide/show hidden files in the directory listing.
- Change the about dialog text so it can be selected with a mouse so users can copy the application version.
- Allow urls to be dropped on the bookmark bar and bookmark menu

Behind the scenes
- Force the history completer to be LTR: same as the url line.
- Create a new stills class, NetworkAcessManagerProxy that is useful for tracking what QWebPage a QWebReply came from.
- Load QWebView settings when the View is created so m_enableAccessKeys will be read from settings
- Rename lineedit -> locationbar functions & variables
- Enhance SingleApplication so that the host can send messages back to the second application.
On Windows this is used to send the window id back to the application that was just started
so it can raise the arora window to the front.
- Fix some old MSVC compile warnings
- Make it possible to retranslate the bookmarks toolbar title
- Set the maximumPagesInCache to 3 (default is 0) and provide a way for users to set this value through QSettings.
- Add a path from the users directory to the locale search path
- Added RTL support for the start page
- Add support for multiple directories to LanguageManager.
- Fix the naming of the QAction m_toolsEnableInspector to m_toolsEnableInspectorAction to be consistent with the rest of the code
- Add new TreeSortFilterProxyModel class to utils that will only filter child nodes in a QAbstractItemModel. (under the BSD license)
- Rename getConfigFile to dataFilePath
- Rename dataDirectory to installedDataDirectory to give a much better description of what it does
- Add missing drop functionality to the ModelMenu class. The implementation is symetric to the ModelToolBar class.
- ModelMenu can now accept drops (both moving and copying) and can apply them to the underlying model.
- Refactor BookmarksToolBar by making it inherit from ModelToolBar.
- Add new ModelToolBar class, that is a subclass of QToolBar and an equivalent of ModelMenu for toolbars. It can be used to populate a toolbar with actions based on a given model.
- Fix character encoding in directory listing.
- Clean up the private browsing message box to make it easier to translate.

Build system
- Allow building against a shadow-built WebKit trunk
- Ignore more misc generated build files on windows
- Add Git hook to check commits for the proper copyright year
- Ignore the doc directory which is generated by doxygen
- Check for spaces at the start and end of an expression
- Re-enable sharing the temporary compilation objects for all subprojects. Use the 'ordered' configuration to make sure that we walk through the subdirectories one by one and not all simultaneously when building in parallel.