Warning, /maui/mauikit-imagetools/Mainpage.dox is written in an unsupported language. File is not indexed.
0001 /*
0002 * This file is part of MauiKit
0003 * SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
0004 * SPDX-FileCopyrightText: 2023 Camilo Higuita <milo.h@aol.com>
0005 *
0006 * SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008
0009
0010 /** @mainpage mauikit-imagetools
0011
0012 @section overview Introduction
0013 MauiKit Image Tools is a set of <a href="https://doc.qt.io/qt-6/qtquick-index.html">QtQuick</a> components and classes meant for making easy the handling and browsing of the file system. The visual controls are designed to integrate well with the rest of MauiKit controls and the Maui HIG.
0014
0015 You can think of this - and other - MauiKit Frameworks as KDE's KParts, where each module accomplishes a specific function and when plug together you can quickly assemble a more powerful app. Components like this one are usually used and shared among multiple Maui Applications.
0016
0017 @image html index_app.png "Index app using the FileBrowsing controls"
0018
0019 @section component Components
0020 MauiKit File Browsing has a set of visual controls and set helper classes. Some of the visual controls are a graphical representation of the classes or wrappers that consume the API models.
0021
0022 @subsection views Visual Controls
0023
0024 - @link FileBrowser FileBrowser @endlink
0025 - @link FileDialog FileDialog @endlink
0026 - @link NewTagDialog NewTagDialog @endlink
0027 - @link PlacesListBrowser PlacesListBrowser @endlink
0028 - @link TagsDialog TagsDialog @endlink
0029 - @link TagsBar TagsBar @endlink
0030
0031 @subsection classes Classes
0032 The helper classes contain models andcontrollers for interfacing with the file system.
0033
0034 - Tagging
0035 - PlacesList
0036 - FMList
0037 - FM
0038 - FMStatic
0039
0040 @section example Minimal Example
0041
0042 @code
0043 import QtQuick
0044 import QtQuick.Controls
0045 import org.mauikit.controls as Maui
0046 import org.mauikit.filebrowsing as FB
0047
0048 Maui.ApplicationWindow
0049 {
0050 id: root
0051
0052 Maui.Page
0053 {
0054 Maui.Controls.showCSD: true
0055 anchors.fill: parent
0056
0057 FB.FileBrowser
0058 {
0059 anchors.fill: parent
0060 currentPath: FB.FM.homePath()
0061 settings.viewType: FB.FMList.GRID_VIEW
0062 }
0063 }
0064 }
0065 @endcode
0066
0067 @subsection tutorial Tutorial
0068 To use this framework components, you can import the module using QML as `import org.mauikit.filebrowsing`, or include the headers and link to the target library for C++.
0069
0070 Examples for every control can be found in the examples directory.
0071
0072 If you have any questions about MauiKit File Browsing, feel free to drop by the Maui Project group on Telegram as `[at]mauiproject`.
0073
0074 A complete guide on how to set up and create an application using the MauiKit File Browsing controls can be found here [quickstart](@ref quickstart).
0075
0076 @image html filebrowser.png "FileBrowser component"
0077
0078 @section deployment Deployment
0079
0080 @subsection building Building
0081 For building MauiKit File Browsing from source, you will need to be familiar with some basic shell commands, with a console aka terminal emulator and your distribution package manager.
0082
0083 Before building it, make sure you have all the dependencies already installed with its development files.
0084
0085 `git cmake make kf6-ki18n kf6-kcoreaddons qt6-svg qt6-base mauiman4 mauikit4 kf6-kio...`
0086
0087 Then you can clone the project to your machine.
0088
0089 `git clone https://invent.kde.org/maui/mauikit-filebrowsing.git`
0090
0091 Now that you have the sources, go into the `mauikit-filebrowsing` folder and start the building process.
0092
0093 `cd mauikit-filebrowsing`
0094
0095 Let's build the project into a separate directory
0096
0097 `mkdir build`
0098
0099 Then.
0100
0101 `cd build`
0102
0103 An lets build it.
0104 In this example the installation prefix path is set to the `/usr` directory; you can modify it if you want to, but bare in mind that you will also need to let know Qt where else it can find the installed QML plugins.
0105
0106 `cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_WITH_QT6=ON`
0107
0108 If everything goes right, the next step is to install it on the system for it to be ready to be used.
0109
0110 @subsection installation Installation
0111
0112 Once the project has been built from source - as explained in the previous section, you can install it.
0113
0114 `sudo make install`
0115
0116 This step will install the QML plugin to the right location.
0117
0118 If you don't want to build it from source, you can also look for it in your distribution packages.
0119
0120 For example, to install it on Arch based distributions:
0121
0122 `sudo pacman install mauikit-filebrowsing4`
0123
0124 Debian based distros:
0125
0126 `sudo apt install mauikit-filebrowsing4`
0127
0128
0129 For Android, you will need to build it from source and install it at your Qt for Android root directory.
0130
0131 The easiest way is to build it using Qt Creator. Go to the project settings page, and enable the CMake build step for installation. That will install MauiKit into the right location. Remember you need to set the Kit to be Android.
0132 You can read more about setting up Qt from Android on their website.
0133
0134 @subsection usage Usage
0135 The simplest and recommended way to use MauiKit is to just use the packages provided by your Linux distribution, or build it as a module and deploy it together with the main application.
0136
0137 Once MauiKit has been installed you can start using it in your QML files. Checkout the ApplicationWindow for a quick example.
0138
0139 @subsection examples Examples
0140
0141 @subsection android Android
0142
0143 @section notes Notes
0144
0145 @subsection contributing Contributing
0146
0147 If you find any syntax errors, missing documentation, or not working code snippets or examples, please consider reporting the issue at
0148 <a href="https://invent.kde.org/maui/mauikit-filebrowsing/-/issues">MauiKit File Browsing</a> issues page, with the **documentation** tag.
0149
0150 If you want to contribute with the documentation efforts, you can contact the Maui Project at Telegram [at]mauiproject.
0151
0152 @authors
0153 Camilo Higuita \<milo.h@aol.com.com\><br>
0154
0155 @maintainers
0156 Camilo Higuita \<milo.h@aol.com.com\><br>
0157
0158 @licenses
0159 @lgpl
0160 */
0161
0162 // DOXYGEN_SET_RECURSIVE = YES
0163 // DOXYGEN_SET_EXCLUDE_PATTERNS += *_p.h */private/* */examples/* */doc/* */styles/*
0164 // DOXYGEN_SET_PROJECT_NAME = MauiKit
0165 // vim:ts=4:sw=4:expandtab:filetype=doxygen