LeechCraft 0.6.70-14794-g33744ae6ce
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
itemsfinder.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 <memory>
12#include <QObject>
13#include <QHash>
15#include "xdgconfig.h"
16
17namespace LC::Util::XDG
18{
20 using Item_ptr = std::shared_ptr<Item>;
21
22 using Cat2Items_t = QHash<QString, QList<Item_ptr>>;
23
24 enum class Type;
25
40 class UTIL_XDG_API ItemsFinder : public QObject
41 {
42 Q_OBJECT
43
44 ICoreProxy_ptr Proxy_;
46
47 bool IsReady_ = false;
48 bool IsScanning_ = false;
49
50 const QList<Type> Types_;
51 public:
66 ItemsFinder (const ICoreProxy_ptr&, const QList<Type>& types, QObject *parent = nullptr);
67
77 bool IsReady () const;
78
90 Cat2Items_t GetItems () const;
91
99 Item_ptr FindItem (const QString& permanentID) const;
100 protected:
101 void Update ();
102 signals:
106 };
107}
Describes a single XDG .desktop entry.
Definition: item.h:36
Finds and parses XDG .desktop files.
Definition: itemsfinder.h:41
void itemsListChanged()
Notifies when the list of items changes in any way.
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
Definition: icoreproxy.h:181
Type
Describes the various types of XDG .desktop files.
Definition: itemtypes.h:24
std::shared_ptr< Item > Item_ptr
Definition: item.h:24
QHash< QString, QList< Item_ptr > > Cat2Items_t
Definition: itemsfinder.h:22
QMultiMap< QDateTime, QString > Items_
#define UTIL_XDG_API
Definition: xdgconfig.h:16