summaryrefslogtreecommitdiffstats
path: root/api/logic/icons/IIconList.h
blob: ebf99d057ca741dd78023d20654a6e00a6ccf879 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <QString>
#include <QStringList>
#include "multimc_logic_export.h"

enum IconType : unsigned
{
	Builtin,
	Transient,
	FileBased,
	ICONS_TOTAL,
	ToBeDeleted
};

class MULTIMC_LOGIC_EXPORT IIconList
{
public:
	virtual ~IIconList();
	virtual bool addIcon(const QString &key, const QString &name, const QString &path, const IconType type) = 0;
	virtual bool deleteIcon(const QString &key) = 0;
	virtual void saveIcon(const QString &key, const QString &path, const char * format) const = 0;
	virtual bool iconFileExists(const QString &key) const = 0;
	virtual void installIcons(const QStringList &iconFiles) = 0;
};