MauiKit Controls

share.h
1#include <QtCore>
2#include <QtQuick>
3
4/*
5class QfShareItem *
6brief Manager to use share logic.
7 *
8author Andrew Shapovalov*/
9
10class QfShareItem : public QQuickPaintedItem
11{
13 Q_PROPERTY(QString shareString READ getShareString WRITE setShareString NOTIFY shareStringChanged)
14 Q_PROPERTY(QUrl shareUrl READ getShareUrl WRITE setShareUrl NOTIFY shareUrlChanged)
15private:
16 /** The share string info.*/
17 QString m_shareString;
18 /* The share link.*/
19 QUrl m_shareUrl;
20 /*
21 brief Strip all HTML tags from string.
22 *
23 param body The source string. *
24 return Plain text.
25 *
26 author Andrew Shapovalov*/
27 QString stripHTMLTags(QString body);
28 /**
29 brief Works with all applications events.
30 *
31 param obj The object which call event. *
32 param event The event of call.
33 *
34 author Andrew Shapovalov*/
35 bool eventFilter(QObject *obj, QEvent *event);
36 /**
37 brief Share current content.
38 *
39 author Andrew Shapovalov*/
40 void shareCurrentContent();
41
42public:
43 /**
44 brief Create a new object.
45 *
46 param parent Parent object. *
47 author Andrew Shapovalov*/
48 explicit QfShareItem(QQuickPaintedItem *parent = nullptr);
49
50 // Others
51 /*
52 brief Called when current object will redrawing. *
53 param painter The object for draw data.
54 *
55 author Andrew Shapovalov*/
56 void paint(QPainter painter);
57 // Getters
58 /*
59 brief Get share content string.
60 *
61 return Share string content. *
62 author Andrew Shapovalov*/
63 inline QString getShareString()
64 {
65 return m_shareString;
66 }
67
68 /**
69 brief Get share url. *
70 return Share url.
71 *
72 author Andrew Shapovalov*/
73 inline QUrl getShareUrl()
74 {
75 return m_shareUrl;
76 }
77 // Setters
78 /**
79 brief Set share content string.
80 *
81 param value Share string content. *
82 author Andrew Shapovalov*/
83 inline void setShareString(QString value)
84 {
85 m_shareString = value;
86 emit shareStringChanged(m_shareString);
87 }
88
89 /**
90 brief Set share url. *
91 param value Share url.
92 *
93 author Andrew Shapovalov*/
94 inline void setShareUrl(QUrl value)
95 {
96 m_shareUrl = value;
97 emit shareUrlChanged(m_shareUrl);
98 }
99 /**
100 brief Share content and url.
101 *
102 param text The text of share. *
103 param url The url to share.
104 *
105 author Andrew Shapovalov*/
106 Q_INVOKABLE void shareContent(QString text = QString(), QUrl url = QUrl());
107signals:
108 /**
109 brief Called when share content string was changed.
110 *
111 param value Share string content. *
112 author Andrew Shapovalov*/
113 void shareStringChanged(QString value);
114
115 /**
116 brief Called when share url was changed. *
117 param value Share url.
118 *
119 author Andrew Shapovalov*/
120 void shareUrlChanged(QUrl value);
121 /**
122 brief Called when user select share service.
123 *
124 param serviceName The name of selected service. *
125 author Andrew Shapovalov*/
126 void selectedService(QString serviceName);
127
128public slots:
129};
Q_INVOKABLEQ_INVOKABLE
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
virtual bool event(QEvent *ev) override
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 17 2024 11:56:16 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.