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