2
2
* @file node_type.h node type interface
4
* Copyright (C) 2007-2008 Lars Lindner <lars.lindner@gmail.com>
4
* Copyright (C) 2007-2010 Lars Lindner <lars.lindner@gmail.com>
6
6
* This program is free software; you can redistribute it and/or modify
7
7
* it under the terms of the GNU General Public License as published by
26
28
/** node type capabilities */
28
30
NODE_CAPABILITY_SHOW_ITEM_FAVICONS = (1<<0), /**< display favicons in item list (useful for recursively viewed leaf node) */
29
31
NODE_CAPABILITY_ADD_CHILDS = (1<<1), /**< allows adding new childs */
30
32
NODE_CAPABILITY_REMOVE_CHILDS = (1<<2), /**< allows removing it's childs */
31
33
NODE_CAPABILITY_SUBFOLDERS = (1<<3), /**< allows creating/removing sub folders */
32
NODE_CAPABILITY_REMOVE_ITEMS = (1<<4), /**< allows removing of single items */
33
NODE_CAPABILITY_RECEIVE_ITEMS = (1<<5), /**< is a DnD target for item copies */
34
NODE_CAPABILITY_REORDER = (1<<6), /**< allows DnD to reorder childs */
35
NODE_CAPABILITY_SHOW_UNREAD_COUNT = (1<<7), /**< display the unread item count in the feed list */
36
NODE_CAPABILITY_SHOW_ITEM_COUNT = (1<<8), /**< display the absolute item count in the feed list */
37
NODE_CAPABILITY_UPDATE = (1<<9), /**< node type always has a subscription and can be updated */
38
NODE_CAPABILITY_UPDATE_CHILDS = (1<<10), /**< childs of this node type can be updated */
39
NODE_CAPABILITY_EXPORT = (1<<11) /**< nodes of this type can be exported safely to OPML */
34
NODE_CAPABILITY_REMOVE_ITEMS = (1<<5), /**< allows removing of single items */
35
NODE_CAPABILITY_RECEIVE_ITEMS = (1<<6), /**< is a DnD target for item copies */
36
NODE_CAPABILITY_REORDER = (1<<7), /**< allows DnD to reorder childs */
37
NODE_CAPABILITY_SHOW_UNREAD_COUNT = (1<<8), /**< display the unread item count in the feed list */
38
NODE_CAPABILITY_SHOW_ITEM_COUNT = (1<<9), /**< display the absolute item count in the feed list */
39
NODE_CAPABILITY_UPDATE = (1<<10), /**< node type always has a subscription and can be updated */
40
NODE_CAPABILITY_UPDATE_CHILDS = (1<<11), /**< childs of this node type can be updated */
41
NODE_CAPABILITY_UPDATE_FAVICON = (1<<12), /**< this node allows downloading a favicon */
42
NODE_CAPABILITY_EXPORT = (1<<13) /**< nodes of this type can be exported safely to OPML */
49
52
typedef struct nodeType {
50
53
gulong capabilities; /**< bitmask of node type capabilities */
51
54
const gchar *id; /**< type id (used for type attribute in OPML export) */
52
gpointer icon; /**< default icon */
55
const GdkPixbuf *icon; /**< default icon for nodes of this type (if no favicon available) */
54
57
/* For method documentation see the wrappers defined below!
55
58
All methods are mandatory for each node type. */