Tarptaeya's Blog

Showing post tagged Falkon | Show all posts instead

Sixth week of coding phase, GSoC'18

1 min read

Published: 2018-06-24 12:40:00

By Anmol Gautam

Tags: GSoC Falkon KDE

Woo.. this is the 6th weekly post - the midway of GSoC (12 weeks). In this 6th week, the following work is done:

Menus API

The Menus API enables the QML Plugin to add an action, separator or menu to the WebView context menu. This API is not similar to the WebExtensions Menus API but is rather Falkonish!

Context menu on image

Settings API

The Settings API enables the QML Plugin to store settings as key-value pairs and uses QSettings to store the data. Developing this API was interesting because it led to a bug-fix (bug was in my previous work) and enabling creating child items in QmlPluginInterface.

Plugin's settings window

I have also created a video to demonstrate the used of Menus and Settings API in HelloQML plugin. The source of HelloQML plugin can be viewed here.

I am very thankful to my mentor David Rosca for suggesting and reviewing the design of the APIs.

Happy Monsoon :-)

Leave a response

View all responses (0)

Fifth week of coding phase, GSoC'18

2 min read

Published: 2018-06-17 12:40:00

By Anmol Gautam

Tags: GSoC Falkon KDE

The week was totally involved in developing the GUI for QML Plugins. The follwoing APIs are developed:

Below are the screeshots of the Hello QML plugin from the my working branch

BrowserAction Button

Browser Action Button can be added to either Navigation Tool Bar or Status Bar or both. Browser_Action_Button

BrowserAction Popup

The popup for Browser Action Button is in form of QML Window. This part took much time to develop because:

Everything is fine upto this until I found that this didn't worked. My Mentor (David Rosca) explained that this is because the QWindow is not grabing mouse and keyboard events - which means that the window is not activated - so I added QWindow::requestActivate and It works like a charm! Browser_Action_Popup

SideBar Menu



Again SideBar menu is a QQuickWindow which is embeded into the browser using QWidget::createWindowContainer. SideBar

Again, a great thanks to my mentor David Rosca to help me in developing the APIs for GUI.

Happy Fathers Day!

Leave a response

View all responses (0)

Fourth week of coding phase, GSoC'18

2 min read

Published: 2018-06-11 09:22:00

By Anmol Gautam

Tags: GSoC Falkon KDE

The work done in the fourth week was quite different from the other weeks. The following work is done-

Browser Window API & Window Id

The browser window API has the following parts -

Window Ids are integers starting from 0, incrementing with each window created but not decrementing with each window removed - so that window id within a session are unique.

Added WebView methods & properties to Tabs API

The methods and properties related to WebView are added to the Tabs API, which are developed in the third week, for eg, Tabs.showSource(), Tabs.back(), Tabs.canGoBack, etc.

Fixed Leaks in the API

There was a major leaks in the APIs, which is pointed by my mentor David Rosca, arising because there were many temporary parentless objects created for eg in signals. Most of my ( & probably also of my mentor's) time this week is spent in fixing the leaks.

Added Documentation for the APIs

For the documentation, my mentor adviced me to use Kapidox, but I have not added the doc folder and metainfo.yaml to the source - instead added the documentation comments which will be build later.

Since this week's work was so diverse - writing documentation, fixing leaks, developing APIs, that's why I wrote in the first line "that the work done was quite different", and without my mentor's (David Rosca) help I would not be able to do this work.

Happy Approaching Monsoon!

Leave a response

View all responses (0)

Older | Newer
Copyright © 2017 - 2019 Anmol Gautam