LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
util.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <functional>
12 #include <optional>
13 #include <QFuture>
14 #include <QImage>
15 #include <interfaces/structures.h>
19 #include "xpcconfig.h"
20 
21 class IEntityManager;
22 class QStandardItem;
23 
24 namespace LC::Util
25 {
65  UTIL_XPC_API Entity MakeAN (const QString& header, const QString& text, Priority priority,
66  const QString& senderID, const QString& cat, const QString& type,
67  const QString& id, const QStringList& visualPath,
68  int delta = 1, int count = 0,
69  const QString& fullText = QString (), const QString& extendedText = QString ());
70 
93  UTIL_XPC_API Entity MakeANRule (const QString& title,
94  const QString& senderID,
95  const QString& category,
96  const QStringList& types,
97  AN::NotifyFlags flags = AN::NotifyNone,
98  bool openConfiguration = false,
99  const QList<QPair<QString, ANFieldValue>>& fields = {});
100 
116  UTIL_XPC_API QList<QObject*> GetDataFilters (const QVariant& data, IEntityManager *manager);
117 
135  UTIL_XPC_API Entity MakeEntity (const QVariant& entity,
136  const QString& location,
137  LC::TaskParameters tp,
138  const QString& mime = QString ());
139 
159  UTIL_XPC_API Entity MakeNotification (const QString& header,
160  const QString& text,
161  Priority priority);
162 
174  UTIL_XPC_API Entity MakeANCancel (const Entity& event);
175 
194  UTIL_XPC_API Entity MakeANCancel (const QString& senderId, const QString& eventId);
195 
214  UTIL_XPC_API QVariant GetPersistentData (const QByteArray& key,
215  const ICoreProxy_ptr& proxy);
216 
234  qint64 done, qint64 total, const QString& text);
235 
248  UTIL_XPC_API void SetJobHolderProgress (QStandardItem *item, qint64 done, qint64 total);
249 
251 
252  using LazyNotificationPixmap_t = std::function<std::optional<QFuture<QImage>> ()>;
253 }
254 
LC::Util::SetJobHolderProgress
void SetJobHolderProgress(const QList< QStandardItem * > &row, qint64 done, qint64 total, const QString &text)
Sets the progress values on the given row.
Definition: util.cpp:143
LC::AN::NotifyNone
@ NotifyNone
No notifications.
Definition: constants.h:185
QList
Definition: ianrulesstorage.h:14
LC::Util::LazyNotificationPixmap_t
std::function< std::optional< QFuture< QImage > >()> LazyNotificationPixmap_t
Definition: util.h:252
xpcconfig.h
icoreproxy.h
LC::Util::oral::sph::fields
constexpr detail::MemberPtrs< Ptrs... > fields
Definition: oral.h:955
LC::Util
Definition: icoreproxy.h:33
LC::Util::GetDataFilters
QList< QObject * > GetDataFilters(const QVariant &data, IEntityManager *manager)
Returns the data filter plugins that can handle data.
Definition: util.cpp:71
structures.h
LC::Util::MakeAN
Entity MakeAN(const QString &header, const QString &text, Priority priority, const QString &senderID, const QString &cat, const QString &type, const QString &id, const QStringList &visualPath, int delta, int count, const QString &fullText, const QString &extendedText)
Creates an Advanced Notifications-enabled notify entity.
Definition: util.cpp:23
LC::Util::MakeEntity
Entity MakeEntity(const QVariant &entity, const QString &location, TaskParameters tp, const QString &mime)
Definition: util.cpp:82
LC::Util::MakeANCancel
Entity MakeANCancel(const Entity &event)
Makes an event for canceling another Advanced Notifications event.
Definition: util.cpp:107
LC::Util::MakeANRule
Entity MakeANRule(const QString &title, const QString &senderID, const QString &cat, const QStringList &types, AN::NotifyFlags flags, bool openConfiguration, const QList< QPair< QString, ANFieldValue >> &fields)
Creates an Entity defining an Advanced Notifications rule.
Definition: util.cpp:44
LC::Util::oral::sph::count
constexpr detail::AggregateType< detail::AggregateFunction::Count, Ptr > count
Definition: oral.h:966
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QVariantList *)
ICoreProxy_ptr
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
Definition: icoreproxy.h:181
LC::Priority
Priority
Definition: structures.h:214
ianemitter.h
IEntityManager
Proxy to core entity manager.
Definition: ientitymanager.h:31
LC::Util::InitJobHolderRow
void InitJobHolderRow(const QList< QStandardItem * > &row)
Definition: util.cpp:162
constants.h
UTIL_XPC_API
#define UTIL_XPC_API
Definition: xpcconfig.h:16
LC::Util::MakeNotification
Entity MakeNotification(const QString &header, const QString &text, Priority priority)
An utility function to make a Entity with notification.
Definition: util.cpp:95
LC::Util::GetPersistentData
QVariant GetPersistentData(const QByteArray &key, const ICoreProxy_ptr &proxy)
Returns persistent data stored under given key.
Definition: util.cpp:125