Warning, /maui/mauikit-calendar/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-calendar 0010 0011 @section overview Introduction 0012 MauiKit Calendar is a set of <a href="https://doc.qt.io/qt-6/qtquick-index.html">QtQuick</a> components and classes for visualizing calendar dates and creating events. The visual controls are designed to integrate well with the rest of MauiKit controls and the Maui HIG. Part of the back-end solutions used by this framework are based on Akonadi by the KDE community. 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 agenda.png "Agenda app using the Calendar controls" 0017 0018 @section component Components 0019 MauiKit Calendar 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 @subsection views Visual Controls 0022 0023 - @link MonthsView MonthsView @endlink 0024 - @link YearsView YearsView @endlink 0025 - @link DaysView DaysView @endlink 0026 0027 @subsection classes Classes 0028 The helper classes contain models andcontrollers for interfacing with the file system. 0029 0030 - MauiAccounts 0031 0032 @section example Minimal Example 0033 0034 @code 0035 import QtQuick 0036 import QtQuick.Controls 0037 0038 import org.mauikit.controls as Maui 0039 import org.mauikit.calendar as MC 0040 0041 Maui.ApplicationWindow 0042 { 0043 id: root 0044 0045 Maui.Page 0046 { 0047 anchors.fill: parent 0048 Maui.Controls.showCSD: true 0049 0050 headBar.leftContent: Maui.ToolButtonMenu 0051 { 0052 icon.name: "application-menu" 0053 0054 MenuItem 0055 { 0056 text: "About" 0057 onTriggered: root.about() 0058 } 0059 } 0060 0061 MC.MonthView 0062 { 0063 anchors.fill: parent 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.calendar`, 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 Calendar, 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 Calendar controls can be found here [quickstart](@ref quickstart). 0078 0079 @image html monthview.png "MonthView component" 0080 0081 @section deployment Deployment 0082 0083 @subsection building Building 0084 For building MauiKit Calendar 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 kpim6-akonadi-mime-dev kpim6-akonadi-mime libkf6akonadicontact6 libkf6akonadicontact-dev kpim6-calendarsupport kpim6-akonadi-contacts-dev libkpim6calendarsupport-dev` 0089 0090 Then you can clone the project to your machine. 0091 0092 `git clone https://invent.kde.org/maui/mauikit-calendar.git` 0093 0094 Now that you have the sources, go into the `mauikit-calendar` folder and start the building process. 0095 0096 `cd mauikit-calendar` 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-calendar` 0126 0127 Debian based distros: 0128 0129 `sudo apt install mauikit-calendar4` 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-calendar/-/issues">MauiKit Calendar</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