Create an Extension

Conditions

In order to create your own extensions, you need to know a bit about programming. The more complex the extension should be, the better your skills should be.
There are two ways to create an extension. The simple variant (QML) and the somewhat more difficult one (QML & C++). In the simple variant, the possibilities are severely limited. Only what we and Qt provide can be used. For more complex extensions, QML can be combined with a plugin. How exactly this works you can read here: http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html.

Requirements
To be able to load your extension, a few conditions must be met.

  1. The extension must contain a Details.txt.
  2. The extension must contain a main.qml.
  3. The extension must contain a setup.qml.
  4. The extension must contain a thumbnail. [Jpg, png].
  5. (Optional) The extension may include a thumbnail.mp4.
  6. (Optional) The extension may include a *Library.dll.

Details.txt
The Details.txt contains information about the extension. The following information should or can be defined there:

Name: [Name]
Author: [Creator]
AuthorLink: [Link to the extension or your homepage]
Version: [Version]
Category: [Basics, Buttons, Clocks, Games, Multimedia, Particles, Statistics]
Description: [say something about your extension]
Difficulty: [Simple, Advanced, Expert]
Folder: [Name after download from ShareCenter (via PureDesktop)]
Independent: [false, true] (Optional)

main.qml
The main.qml file is the starting point of your extension. This file will be executed when someone has added your extension to their project.

setup.qml
This file is used to fill the setup window with life. Here you should offer the users the possibility to configure the layer.

thumbnail. [jpg, png]
This file is for previewing your extension.

*Library.dll
This file is automatically loaded by PureDesktop (if the security mode is set to Performance). C ++ code can be executed by this file, which drastically increases the possibilities. A good explanation of how to create such a file can be found here: http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html

1 Like