Warning, /maui/mauikit-filebrowsing/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-filebrowsing 0011 0012 @section overview Introduction 0013 MauiKit File Browsing 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