summaryrefslogtreecommitdiffstats
path: root/api/logic/icons/IIconList.h
blob: 9a3fe022d948cd2bd3436a5a3b8d12845216182c (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
26
#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;
    virtual void installIcon(const QString &file, const QString &name) = 0;
};