2021-06-24 16:05:19 +08:00
|
|
|
#ifndef ICONSMANAGER_H
|
|
|
|
#define ICONSMANAGER_H
|
|
|
|
|
2021-12-21 07:38:49 +08:00
|
|
|
#include <QMap>
|
2021-06-24 16:05:19 +08:00
|
|
|
#include <QObject>
|
|
|
|
#include <QPixmap>
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
class IconsManager : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2021-12-21 07:38:49 +08:00
|
|
|
using PIcon = std::shared_ptr<QPixmap>;
|
|
|
|
enum IconName {
|
|
|
|
GUTTER_SYNTAX_ERROR,
|
|
|
|
GUTTER_SYNTAX_WARNING,
|
|
|
|
GUTTER_BREAKPOINT,
|
|
|
|
GUTTER_ACTIVEBREAKPOINT,
|
|
|
|
GUTTER_BOOKMARK,
|
2021-12-21 11:57:23 +08:00
|
|
|
|
|
|
|
PARSER_TYPE,
|
|
|
|
PARSER_CLASS,
|
|
|
|
PARSER_NAMESPACE,
|
|
|
|
PARSER_DEFINE,
|
|
|
|
PARSER_ENUM,
|
|
|
|
PARSER_GLOBAL_METHOD,
|
|
|
|
PARSER_INHERITED_PROTECTED_METHOD,
|
|
|
|
PARSER_INHERITED_METHOD,
|
|
|
|
PARSER_PROTECTED_METHOD,
|
|
|
|
PARSER_PUBLIC_METHOD,
|
|
|
|
PARSER_PRIVATE_METHOD,
|
|
|
|
PARSER_GLOBAL_VAR,
|
|
|
|
PARSER_INHERITED_PROTECTD_VAR,
|
|
|
|
PARSER_INHERITED_VAR,
|
|
|
|
PARSER_PROTECTED_VAR,
|
|
|
|
PARSER_PUBLIC_VAR,
|
|
|
|
PARSER_PRIVATE_VAR,
|
|
|
|
|
|
|
|
ACTION_FILE_NEW,
|
|
|
|
ACTION_FILE_OPEN,
|
2021-12-21 19:13:47 +08:00
|
|
|
ACTION_FILE_OPEN_FOLDER,
|
2021-12-21 11:57:23 +08:00
|
|
|
ACTION_FILE_SAVE,
|
|
|
|
ACTION_FILE_SAVE_AS,
|
|
|
|
ACTION_FILE_SAVE_ALL,
|
|
|
|
ACTION_FILE_CLOSE,
|
|
|
|
ACTION_FILE_CLOSE_ALL,
|
|
|
|
ACTION_FILE_PRINT,
|
|
|
|
ACTION_PROJECT_NEW,
|
|
|
|
ACTION_PROJECT_SAVE,
|
|
|
|
ACTION_PROJECT_CLOSE,
|
2021-12-21 19:13:47 +08:00
|
|
|
|
2021-12-21 07:38:49 +08:00
|
|
|
};
|
2021-06-24 16:05:19 +08:00
|
|
|
explicit IconsManager(QObject *parent = nullptr);
|
|
|
|
|
2021-12-21 07:38:49 +08:00
|
|
|
void updateEditorGuttorIcons(const QString& iconSet, int size);
|
|
|
|
void updateParserIcons(const QString& iconSet, int size);
|
2021-12-21 11:57:23 +08:00
|
|
|
void updateActionIcons(const QString iconSet, int size);
|
2021-12-20 09:36:18 +08:00
|
|
|
|
2021-12-21 07:38:49 +08:00
|
|
|
PIcon getIcon(IconName iconName) const;
|
2021-10-21 17:31:25 +08:00
|
|
|
|
2021-10-23 23:10:34 +08:00
|
|
|
const PIcon &folder() const;
|
2021-12-20 12:53:35 +08:00
|
|
|
|
|
|
|
PIcon createSVGIcon(const QString& filename, int width, int height);
|
2021-06-24 16:05:19 +08:00
|
|
|
private:
|
2021-12-21 07:38:49 +08:00
|
|
|
QMap<IconName,PIcon> mIcons;
|
|
|
|
PIcon mDefaultIcon;
|
2021-10-23 23:10:34 +08:00
|
|
|
PIcon mFolder;
|
2021-06-24 16:05:19 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
extern IconsManager* pIconsManager;
|
|
|
|
#endif // ICONSMANAGER_H
|