Warning, /maui/mauikit-accounts/Mainpage.dox is written in an unsupported language. File is not indexed.

0001 /*
0002  *  This file is part of MauiKit
0003  *  SPDX-FileCopyrightText: 2023 Camilo Higuita <milo.h@aol.com>
0004  *
0005  *  SPDX-License-Identifier: LGPL-2.0-or-later
0006  */
0007 
0008 
0009 /** @mainpage mauikit-accounts
0010 
0011 @section overview Introduction
0012 MauiKit Accounts 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. 
0013 
0014 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.
0015 
0016 @image html vvave_accounts.png "Vvave app using the Accounts controls"
0017 
0018 @section component Components
0019 MauiKit Accounts has a set of visual controls and helper classes. Some of the visual controls are a graphical representation of the classes or wrappers that consume the API models.
0020 
0021 The MauiAccounts is exposed as a singleton instance, and can be accessed globaly from QML using the `Accounts` property.
0022 
0023 @subsection views Visual Controls
0024 
0025 - @link AccountsMenuItem  AccountsMenuItem @endlink
0026 - @link AccountsDialog AccountsDialog @endlink
0027 - @link CredentialsDialog CredentialsDialog @endlink
0028 
0029 @subsection classes Classes
0030 The helper classes contain models andcontrollers for interfacing with the file system.
0031 
0032 - MauiAccounts
0033 
0034 @section example Minimal Example
0035 
0036 @code
0037 import QtQuick
0038 import QtQuick.Controls
0039 import QtQuick.Layouts
0040 import org.mauikit.controls as Maui
0041 import org.mauikit.accounts as MA
0042 
0043 Maui.ApplicationWindow
0044 {
0045     id: root
0046 
0047     Maui.Page
0048     {
0049         anchors.fill: parent
0050 
0051         Maui.Controls.showCSD: true
0052 
0053         headBar.leftContent: Maui.ToolButtonMenu
0054         {
0055             icon.name: "application-menu"
0056             MA.AccountsMenuItem {}
0057 
0058             MenuSeparator {}
0059 
0060             MenuItem
0061             {
0062                 text: "About"
0063                 onTriggered: root.about()
0064             }
0065         }
0066     }
0067 }
0068 @endcode
0069 
0070 @subsection tutorial Tutorial
0071 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++.
0072 
0073 Examples for every control can be found in the examples directory.
0074 
0075 If you have any questions about MauiKit File Browsing, feel free to drop by the Maui Project group on Telegram as `[at]mauiproject`.
0076 
0077 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).
0078 
0079 @image html filebrowser.png "FileBrowser component"
0080 
0081 @section deployment Deployment
0082 
0083 @subsection building Building
0084 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.
0085 
0086 Before building it, make sure you have all the dependencies already installed with its development files.
0087 
0088 `git cmake make kf6-ki18n kf6-kcoreaddons qt6-svg qt6-base mauiman4 mauikit4 kf6-kio...`
0089 
0090 Then you can clone the project to your machine.
0091 
0092 `git clone https://invent.kde.org/maui/mauikit-filebrowsing.git`
0093 
0094 Now that you have the sources, go into the `mauikit-filebrowsing` folder and start the building process.
0095 
0096 `cd mauikit-filebrowsing`
0097 
0098 Let's build the project into a separate directory
0099 
0100 `mkdir build`
0101 
0102 Then.
0103 
0104 `cd build`
0105 
0106 An lets build it. 
0107 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.
0108 
0109 `cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_WITH_QT6=ON`
0110 
0111 If everything goes right, the next step is to install it on the system for it to be ready to be used.
0112 
0113 @subsection installation Installation
0114 
0115 Once the project has been built from source - as explained in the previous section, you can install it.
0116 
0117 `sudo make install`
0118 
0119 This step will install the QML plugin to the right location.
0120 
0121 If you don't want to build it from source, you can also look for it in your distribution packages.
0122 
0123 For example, to install it on Arch based distributions:
0124 
0125 `sudo pacman install mauikit-filebrowsing4`
0126 
0127 Debian based distros:
0128 
0129 `sudo apt install mauikit-filebrowsing4`
0130 
0131 
0132 For Android, you will need to build it from source and install it at your Qt for Android root directory. 
0133 
0134 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.
0135 You can read more about setting up Qt from Android on their website.
0136 
0137 @subsection usage Usage
0138 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.
0139 
0140 Once MauiKit has been installed you can start using it in your QML files. Checkout the ApplicationWindow for a quick example.
0141 
0142 @subsection examples Examples
0143 
0144 @subsection android Android
0145 
0146 @section notes Notes
0147 
0148 @subsection contributing Contributing
0149 
0150 If you find any syntax errors, missing documentation, or not working code snippets or examples, please consider reporting the issue at 
0151 <a href="https://invent.kde.org/maui/mauikit-accounts/-/issues">MauiKit File Browsing</a> issues page, with the **documentation** tag.
0152 
0153 If you want to contribute with the documentation efforts, you can contact the Maui Project at Telegram [at]mauiproject.
0154 
0155 @authors
0156 Camilo Higuita \<milo.h@aol.com.com\><br>
0157 
0158 @maintainers
0159 Camilo Higuita \<milo.h@aol.com.com\><br>
0160 
0161 @licenses
0162 @lgpl
0163 */
0164 
0165 // DOXYGEN_SET_RECURSIVE = YES
0166 // DOXYGEN_SET_EXCLUDE_PATTERNS += *_p.h */private/* */examples/* */doc/* */styles/*
0167 // DOXYGEN_SET_PROJECT_NAME = MauiKit
0168 // vim:ts=4:sw=4:expandtab:filetype=doxygen