Über Light Browser 1.0a
DownloadUber Light Browser is a very light web browser with limited number of functionalities made by Jouko Niinimäki as a Mobile Linux Development with QT project work
You can redistribute and modify this program under the terms of the GNU General Public License.1. Description
The core of the ULB is the widely used WebKit layout engine ported for QT toolkit. WebKit is used by many known browser such as Safari, Chrome, Midori and Android Web browser. WebKit provides many useful functionalities such as rendering engine and browse history.
In addition to simple browse history (previous and next buttons) ULB provides option to use multiple tabs to ease browsing. QWebKit doesn't support tabs (at least I couldn't find any) so the tab system are made with use of Qt's GUI Framework's QTabWidget.
2. How Does It Work?
Web Page Renderer
As previously mentioned, QWebKit takes care of rendering the web page. All you have to do is to provide an url in QUrl form. QWebView does the rest.
The url is written into a QLineEdit and pressing Enter or Go-button transforms the url into a QUrl form and then passes it on to the QWebView.
Browse History
QWebView stores browse history in a QWebHistory object. Using canGoBack() and canGoForward() methods from that object ULB determines if previous and next buttons should be enabled. Pressing those buttons a signal is emitted into QWebView's back() or forward() slot which then causes QWebView to load previous or next web page.
Tabs
The tab system is made with QTabWidget. The program creates a new QWebView for each tab in a tab bar. QWebViews don't have information in which tab they belong to since tabs themselves are not objects. When a web page is loaded QWebView emits a signal so that tab's title can be changed equal to a web site's title. The signal unfortunately doesn't have an argument to tell where it came from. To know which tab's title should be changed QOBject::sender() method is used.
Tabs' close and move functionalities are provided by QTabWiev. Preventing the user to close the last tab is simply done by setting setTabsClosable() as false when there is only one tab left.