1
FalkonTutorials/qml/articles/1.Introduction.md
Juraj Oravec d392774e66
QML: Add more entried to the limitations
Signed-off-by: Juraj Oravec <jurajoravec@mailo.com>
2022-03-30 22:09:58 +02:00

2.0 KiB

Falkon QML Tutorial - 1. Introduction

Hello, in this series I would like to introduce and describe how to write extensions for Falkon web browser with QML.

Starting with Falkon 3.2 there is support for installing extensions from store which can be found at store.falkon.org

Falkon supports extensions written in C++, Python and QML.
This series will go over the QML implementation.

Requirements

  1. Knowledge of C++ (Beneficial, Optional)
    There is no way around this, while there are times when just looking at documentation is enough I prefer the code.
  2. The Falkon source code
  3. Knowledge of QML, QtQuick and Qt
    It is good to have Qt documentation and Qt development tools like Qt Designer at hand.

Limitations

NOTE: First I have to mention that I do not know much about QML development, only bits here and there.

  • The instance of FalkonAction (toolbar button) is shared between all Falkon windows in the same instance. This makes it unsuitable for showing live status of website since it will be totaly broken the moment another window is opened and I do not want to see that happening to my extensions.
  • The button created with FalkonAction always requires to have popup property present or it will not work properly (e.g. icon will be missing from the button, maybe more).
  • The Graphical User Interface created by QML extensions is not styled according to system color settings and looks awkward on my machine.
  • The extennsion settings window cannot be closed from within QML code (e.g. by pressing a "Cancel" button).

Falkon module

To access Falkon specific features and functions inside the QML script you need to use Falkon module.

import org.kde.falkon 1.0 as Falkon