LeechCraft
0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Toggle main menu visibility
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>
14
#include <
interfaces/core/icoreproxy.h
>
15
#include "
xdgconfig.h
"
16
17
namespace
LC::Util::XDG
18
{
19
class
UTIL_XDG_API
Item
;
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_;
45
Cat2Items_t
Items_;
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:
105
void
itemsListChanged
();
106
};
107
}
LC::Util::XDG::Item
Describes a single XDG .desktop entry.
Definition
item.h:36
LC::Util::XDG::ItemsFinder::IsReady
bool IsReady() const
Checks whether this items finder is ready.
Definition
itemsfinder.cpp:32
LC::Util::XDG::ItemsFinder::ItemsFinder
ItemsFinder(const ICoreProxy_ptr &, const QList< Type > &types, QObject *parent=nullptr)
Constructs the items finder for the given types.
Definition
itemsfinder.cpp:23
LC::Util::XDG::ItemsFinder::FindItem
Item_ptr FindItem(const QString &permanentID) const
Finds an XDG item for the given permanent ID.
Definition
itemsfinder.cpp:42
LC::Util::XDG::ItemsFinder::itemsListChanged
void itemsListChanged()
Notifies when the list of items changes in any way.
LC::Util::XDG::ItemsFinder::GetItems
Cat2Items_t GetItems() const
Returns the categorized list of XDG items.
Definition
itemsfinder.cpp:37
LC::Util::XDG::ItemsFinder::Update
void Update()
Definition
itemsfinder.cpp:216
QList
Definition
ianrulesstorage.h:14
icoreproxy.h
ICoreProxy_ptr
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
Definition
icoreproxy.h:177
LC::Util::XDG
Definition
desktopparser.cpp:16
LC::Util::XDG::Cat2Items_t
QHash< QString, QList< Item_ptr > > Cat2Items_t
Definition
itemsfinder.h:22
LC::Util::XDG::Item_ptr
std::shared_ptr< Item > Item_ptr
Definition
item.h:24
LC::Util::XDG::Type
Type
Describes the various types of XDG .desktop files.
Definition
itemtypes.h:20
xdgconfig.h
UTIL_XDG_API
#define UTIL_XDG_API
Definition
xdgconfig.h:16
src
util
xdg
itemsfinder.h
Generated by
1.17.0