Warning, /libraries/kirigami-addons/README.md is written in an unsupported language. File is not indexed.

0001 <!--
0002 SPDX-FileCopyrightText: 2019 David Edmundson <kde@davidedmundson.co.uk>
0003 SPDX-FileCopyrightText: 2020 Nicolas Fella <nicolas.fella@gmx.de>
0004 SPDX-License-Identifier: CC-BY-SA-4.0
0005 -->
0006 
0007 Kirigami Addons is an additional set of visual components that work well on mobile and desktop and are guaranteed to be cross-platform. It uses Kirigami under the hood to create its components and should look native with any QtQuick Controls style.
0008 
0009 * [API Documentation](https://api.kde.org/frameworks/kirigami-addons/html/index.html)
0010 * [Tutorial](https://develop.kde.org/docs/getting-started/kirigami/formcard-intro/)
0011 
0012 ## Structure
0013 
0014 The [examples/](examples) folder contains full project examples that can be built individually using `-DBUILD_EXAMPLES=ON`. Each project can be built with a CMake target available in the [CMakeLists.txt](examples/CMakeLists.txt), e.g. `cmake --build build/ --target mobile-about`. Some examples, such as [MobileFormTutorial](examples/MobileFormTutorial), are used for the Kirigami tutorial.
0015 
0016 The [autotests/](autotests) folder contains tests done at build time.
0017 
0018 The [tests/](tests) folder contains individual QML files used for testing. It also serves as an up-do-date showcase of existing components.
0019 
0020 The [src/components/](src/components) folder contains minor standalone components.
0021 
0022 The [src/dateandtime/](src/dateandtime) folder contains ready-to-use time components.
0023 
0024 The [src/delegates/](src/delegates) folder contains base delegates to be used in ListViews following the Kirigami Addons style.
0025 
0026 The [src/formcard/](src/mobileform) folder contains components used to create your own About and Settings pages. They are ready to use and extensible. It depends on [Ki18n](https://api.kde.org/frameworks/ki18n/html/index.html).
0027 
0028 The [src/settings/](src/settings) folder contains categorized settings components, visually similar to the categorized sidebar of [Plasma System Settings](https://invent.kde.org/plasma/systemsettings).
0029 
0030 The [src/sounds/](src/sounds) folder contains a ready-to-use sound picker for picking ringtones and notifications.
0031 
0032 The [src/treeview/](src/treeview) folder contains a ready-to-use Tree View implementation in QML. Note that Qt has a new [TreeView](https://doc.qt.io/qt-6/qml-qtquick-treeview.html) QML type available since Qt 6.4.
0033 
0034 ## Scope
0035 
0036 Kirigami Addons must follow these rules:
0037 
0038 - It must be cross-platform: depending on other KDE Frameworks libraries is fine, but it must still work on Android. Components can use platform specializations, for example native dialogs, but a generic implementation for all platforms must exist.
0039 
0040 - Components must be grouped according to topic: for example, "dateandtime" or "chat". Each group should have its own source directory and QML import name. The name should follow the scheme of "org.kde.kirigamiaddons.topic", for example: "org.kde.kirigamiaddons.dateandtime".
0041 
0042 - All user-exposed QML items should have an examples implemented in the tests folder, not necessarily in a separate file.
0043 
0044 In particular, Kirigami Addons is not the right place for:
0045 
0046 - exposing non-visual QML bindings
0047 - QML bindings for other libraries
0048 - API for a specific platform
0049 
0050 ## Building
0051 
0052 To build locally and use it in your application:
0053 
0054 ```bash
0055 cmake -B build/ -DCMAKE_INSTALL_PREFIX=$HOME/kde/usr/
0056 cmake --build build/
0057 cmake --install build/
0058 source build/prefix.sh
0059 ```
0060 
0061 For development purposes, the best way to build Kirigami Addons is to [build it with kdesrc-build](https://community.kde.org/Get_Involved/development/Build_software_with_kdesrc-build).
0062 
0063 ## Contributing
0064 
0065 Like other projects in the KDE ecosystem, contributions are welcome from all. This repository is managed
0066 in [KDE Invent](https://invent.kde.org/libraries/kirgiami-addons), our GitLab instance.
0067 
0068 * Want to contribute code? See the [GitLab wiki page](https://community.kde.org/Infrastructure/GitLab) for a tutorial on
0069   how to send a merge request.
0070 * Reporting a bug? Please submit it on
0071   the [KDE Bugtracking System](https://bugs.kde.org/enter_bug.cgi?format=guided&product=kirigami-addons). Please do not
0072   use the Issues
0073   tab to report bugs.
0074 * Is there a part of Kirigami Add-ons that's not translated? See
0075   the [Getting Involved in Translation wiki page](https://community.kde.org/Get_Involved/translation) to see how
0076   you can help translate!
0077 
0078 If you get stuck or need help with anything at all, head over to
0079 the [KDE New Contributors room](https://go.kde.org/matrix/#/#kde-welcome:kde.org) on Matrix. For questions about
0080 Kirigami Add-ons, please ask in the [Kirigami room](https://go.kde.org/matrix/#/#kirigami:kde.org).
0081 See [Matrix](https://community.kde.org/Matrix) for more details.