summaryrefslogtreecommitdiff
path: root/src/frontend/mainindex/bookmarks/btbookmarkfolder.h
blob: 9f065f4f56cf72367e95f5a13a48889c084a4063 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2008 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

#ifndef BTBOOKMARKFOLDER_H
#define BTBOOKMARKFOLDER_H

#include "frontend/mainindex/bookmarks/btbookmarkitembase.h"


#define CURRENT_SYNTAX_VERSION 1

class BtBookmarkFolder : public BtBookmarkItemBase {
    public:
        friend class BtBookmarkLoader;
        BtBookmarkFolder(QTreeWidgetItem* parent, QString name);
        ~BtBookmarkFolder() {}

        /** See the base class. */
        virtual bool enableAction(const MenuAction action);

        /** User gives a file from which to load items into this folder. */
        virtual void exportBookmarks();
        /** User gives a file to which items from this folder are saved. */
        virtual void importBookmarks();

        /** Creates a new folder under this. */
        void newSubFolder();

        /** Returns a list of direct childs of this item. */
        QList<QTreeWidgetItem*> getChildList() const;

        /** Returns true if the given item is this or a direct or indirect subitem of this. */
        bool hasDescendant(QTreeWidgetItem* item) const;

        /** Creates a deep copy of this item. */
        BtBookmarkFolder* deepCopy();

        void rename();
        void update();

        QString toolTip();
};

#endif