mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-10 07:50:19 +00:00
90 lines
2.7 KiB
C
90 lines
2.7 KiB
C
#ifndef ZOITECHAT_ICON_RESOLVER_H
|
|
#define ZOITECHAT_ICON_RESOLVER_H
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
typedef enum
|
|
{
|
|
ICON_RESOLVER_ROLE_MENU_ACTION,
|
|
ICON_RESOLVER_ROLE_TRAY_STATE,
|
|
ICON_RESOLVER_ROLE_TREE_TYPE,
|
|
ICON_RESOLVER_ROLE_USERLIST_RANK
|
|
} IconResolverRole;
|
|
|
|
typedef enum
|
|
{
|
|
ICON_RESOLVER_THEME_SYSTEM,
|
|
ICON_RESOLVER_THEME_LIGHT,
|
|
ICON_RESOLVER_THEME_DARK
|
|
} IconResolverThemeVariant;
|
|
|
|
typedef enum
|
|
{
|
|
ICON_RESOLVER_MENU_ACTION_NEW,
|
|
ICON_RESOLVER_MENU_ACTION_NETWORK_LIST,
|
|
ICON_RESOLVER_MENU_ACTION_LOAD_PLUGIN,
|
|
ICON_RESOLVER_MENU_ACTION_DETACH,
|
|
ICON_RESOLVER_MENU_ACTION_CLOSE,
|
|
ICON_RESOLVER_MENU_ACTION_QUIT,
|
|
ICON_RESOLVER_MENU_ACTION_DISCONNECT,
|
|
ICON_RESOLVER_MENU_ACTION_CONNECT,
|
|
ICON_RESOLVER_MENU_ACTION_JOIN,
|
|
ICON_RESOLVER_MENU_ACTION_PREFERENCES,
|
|
ICON_RESOLVER_MENU_ACTION_CLEAR,
|
|
ICON_RESOLVER_MENU_ACTION_COPY,
|
|
ICON_RESOLVER_MENU_ACTION_DELETE,
|
|
ICON_RESOLVER_MENU_ACTION_ADD,
|
|
ICON_RESOLVER_MENU_ACTION_REMOVE,
|
|
ICON_RESOLVER_MENU_ACTION_SPELL_CHECK,
|
|
ICON_RESOLVER_MENU_ACTION_SAVE,
|
|
ICON_RESOLVER_MENU_ACTION_SAVE_AS,
|
|
ICON_RESOLVER_MENU_ACTION_REFRESH,
|
|
ICON_RESOLVER_MENU_ACTION_SEARCH,
|
|
ICON_RESOLVER_MENU_ACTION_FIND,
|
|
ICON_RESOLVER_MENU_ACTION_PREVIOUS,
|
|
ICON_RESOLVER_MENU_ACTION_NEXT,
|
|
ICON_RESOLVER_MENU_ACTION_HELP,
|
|
ICON_RESOLVER_MENU_ACTION_ABOUT,
|
|
ICON_RESOLVER_MENU_ACTION_EMOJI,
|
|
ICON_RESOLVER_MENU_ACTION_UPDATE,
|
|
ICON_RESOLVER_MENU_ACTION_CHANLIST
|
|
} IconResolverMenuAction;
|
|
|
|
typedef enum
|
|
{
|
|
ICON_RESOLVER_TRAY_STATE_NORMAL,
|
|
ICON_RESOLVER_TRAY_STATE_FILEOFFER,
|
|
ICON_RESOLVER_TRAY_STATE_HIGHLIGHT,
|
|
ICON_RESOLVER_TRAY_STATE_MESSAGE
|
|
} IconResolverTrayState;
|
|
|
|
typedef enum
|
|
{
|
|
ICON_RESOLVER_TREE_TYPE_CHANNEL,
|
|
ICON_RESOLVER_TREE_TYPE_DIALOG,
|
|
ICON_RESOLVER_TREE_TYPE_SERVER,
|
|
ICON_RESOLVER_TREE_TYPE_UTIL
|
|
} IconResolverTreeType;
|
|
|
|
typedef enum
|
|
{
|
|
ICON_RESOLVER_USERLIST_RANK_VOICE,
|
|
ICON_RESOLVER_USERLIST_RANK_HALFOP,
|
|
ICON_RESOLVER_USERLIST_RANK_OP,
|
|
ICON_RESOLVER_USERLIST_RANK_OWNER,
|
|
ICON_RESOLVER_USERLIST_RANK_FOUNDER,
|
|
ICON_RESOLVER_USERLIST_RANK_NETOP
|
|
} IconResolverUserlistRank;
|
|
|
|
const char *icon_resolver_icon_name_from_stock (const char *stock_name);
|
|
const char *icon_resolver_menu_custom_icon_from_stock (const char *stock_name);
|
|
const char *icon_resolver_menu_custom_icon_from_icon_name (const char *icon_name);
|
|
const char *icon_resolver_icon_name_for_menu_custom (const char *custom_icon_name);
|
|
gboolean icon_resolver_menu_action_from_custom (const char *custom_icon_name, int *action_out);
|
|
IconResolverThemeVariant icon_resolver_detect_theme_variant (void);
|
|
char *icon_resolver_resolve_path (IconResolverRole role, int item, GtkIconSize size,
|
|
const char *context, IconResolverThemeVariant variant,
|
|
const char **system_icon_name);
|
|
|
|
#endif
|