View Single Post
marxian's Avatar
Posts: 2,448 | Thanked: 9,523 times | Joined on Aug 2010 @ Wigan, UK
#1
QML Browser has been around for a while, but now that it is more functional, I decided to give it its own thread.

QML Browser is a web browser written in QML, using the Qt Components Hildon APIs. Specifically, the UI utilises the org.hildon.components module, whilst the browser code uses components from org.hildon.webkit. The UI is modelled on MicroB (may as well copy the best ).

Version 0.6.0 of QML Browser is available from extras-devel. The source code is published at https://github.com/marxoft/qml-browser. The source code for Qt Components Hildon is published at https://github.com/marxoft/qt-components-hildon.

Features currently implemented:
  • Multiple browser windows.
  • Bookmarks.
  • Recent/complete browsing history, with access via swipe from right.
  • Text selection using a mouse pointer (swipe from left to show the pointer).
  • Zoom using swirl gesture or double-tap (needs fine-tuning).
  • Find on page.
  • Standard keyboard shortcuts for new window, reload, show/add bookmarks, find on page, copy/cut/paste.
  • Configurable search engines. Search engines can be added in the UI, or by manually editing /home/user/.config/QMLBrowser/searchengines.conf.
  • Custom URL handlers. Handlers can be added in the UI, or by manually editing /home/user/.config/QMLBrowser/urlhandlers.conf.
  • Download management.
  • View source.

Some features not yet implemented:
  • Activate links using the mouse pointer.

Some screenshots:





Adding search engines manually.

The config file for search engines uses the following format:

Code:
[Display Name]
icon=searchengineicon.jpg // optional
url=http://searchengine.com/search?q=%QUERY%
Adding URL handlers manually.

The config file for URL handlers uses the following format:

Code:
[Display Name]
regExp=http(s|)://somewebsite.com/.+ // Used for matching links
command=my_application --do_stuff %URL% // Executed when a matching link is clicked
The command can be anything you like (invoke application, custom script, dbus-send etc).
__________________
'Men of high position are allowed, by a special act of grace, to accomodate their reasoning to the answer they need. Logic is only required in those of lesser rank.' - J K Galbraith

My website

GitHub

Last edited by marxian; 2014-08-21 at 23:12. Reason: Features added
 

The Following 52 Users Say Thank You to marxian For This Useful Post: