Changeset View
Changeset View
Standalone View
Standalone View
krusader/BookMan/krbookmark.cpp
Show All 37 Lines | |||||
38 | KrBookmark::KrBookmark(QString name, QUrl url, KActionCollection *parent, QString iconName, QString actionName) : | 38 | KrBookmark::KrBookmark(QString name, QUrl url, KActionCollection *parent, QString iconName, QString actionName) : | ||
39 | QAction(parent), _url(url), _iconName(iconName), _folder(false), _separator(false), _autoDelete(true) | 39 | QAction(parent), _url(url), _iconName(iconName), _folder(false), _separator(false), _autoDelete(true) | ||
40 | { | 40 | { | ||
41 | QString actName = actionName.isNull() ? BM_NAME(name) : BM_NAME(actionName); | 41 | QString actName = actionName.isNull() ? BM_NAME(name) : BM_NAME(actionName); | ||
42 | setText(name); | 42 | setText(name); | ||
43 | parent->addAction(actName, this); | 43 | parent->addAction(actName, this); | ||
44 | connect(this, SIGNAL(triggered()), this, SLOT(activatedProxy())); | 44 | connect(this, SIGNAL(triggered()), this, SLOT(activatedProxy())); | ||
45 | 45 | | |||
46 | // do we have an icon? | 46 | setIconName(iconName); | ||
47 | if (!iconName.isEmpty()) | | |||
48 | setIcon(Icon(iconName)); | | |||
49 | else { | | |||
50 | // what kind of a url is it? | | |||
51 | if (_url.isLocalFile()) { | | |||
52 | setIcon(Icon("folder")); | | |||
53 | } else { // is it an archive? | | |||
54 | if (KRarcHandler::isArchive(_url)) | | |||
55 | setIcon(Icon("application-x-tar")); | | |||
56 | else setIcon(Icon("folder-html")); | | |||
57 | } | | |||
58 | } | | |||
59 | } | 47 | } | ||
60 | 48 | | |||
61 | KrBookmark::KrBookmark(QString name, QString iconName) : | 49 | KrBookmark::KrBookmark(QString name, QString iconName) : | ||
62 | QAction(Icon(iconName), name, 0), _iconName(iconName), _folder(true), _separator(false), _autoDelete(false) | 50 | QAction(Icon(iconName), name, 0), _iconName(iconName), _folder(true), _separator(false), _autoDelete(false) | ||
63 | { | 51 | { | ||
64 | setIcon(Icon(iconName == "" ? "folder" : iconName)); | 52 | setIcon(Icon(iconName == "" ? "folder" : iconName)); | ||
65 | } | 53 | } | ||
66 | 54 | | |||
67 | KrBookmark::~KrBookmark() | 55 | KrBookmark::~KrBookmark() | ||
68 | { | 56 | { | ||
69 | if (_autoDelete) { | 57 | if (_autoDelete) { | ||
70 | QListIterator<KrBookmark *> it(_children); | 58 | QListIterator<KrBookmark *> it(_children); | ||
71 | while (it.hasNext()) | 59 | while (it.hasNext()) | ||
72 | delete it.next(); | 60 | delete it.next(); | ||
73 | _children.clear(); | 61 | _children.clear(); | ||
74 | } | 62 | } | ||
75 | } | 63 | } | ||
76 | 64 | | |||
65 | void KrBookmark::setIconName(QString iconName) | ||||
66 | { | ||||
67 | if (!iconName.isEmpty()) { | ||||
68 | setIcon(Icon(iconName)); | ||||
69 | } else if (_url.isLocalFile()) { | ||||
70 | setIcon(Icon("folder")); | ||||
71 | } else if (KRarcHandler::isArchive(_url)) { | ||||
72 | setIcon(Icon("application-x-tar")); | ||||
73 | } else { | ||||
74 | setIcon(Icon("folder-html")); | ||||
75 | } | ||||
76 | } | ||||
77 | | ||||
77 | KrBookmark * KrBookmark::getExistingBookmark(QString actionName, KActionCollection *collection) | 78 | KrBookmark * KrBookmark::getExistingBookmark(QString actionName, KActionCollection *collection) | ||
78 | { | 79 | { | ||
79 | return static_cast<KrBookmark*>(collection->action(BM_NAME(actionName))); | 80 | return static_cast<KrBookmark*>(collection->action(BM_NAME(actionName))); | ||
80 | } | 81 | } | ||
81 | 82 | | |||
82 | KrBookmark * KrBookmark::trash(KActionCollection *collection) | 83 | KrBookmark * KrBookmark::trash(KActionCollection *collection) | ||
83 | { | 84 | { | ||
84 | KrBookmark *bm = getExistingBookmark(i18n(NAME_TRASH), collection); | 85 | KrBookmark *bm = getExistingBookmark(i18n(NAME_TRASH), collection); | ||
▲ Show 20 Lines • Show All 66 Lines • Show Last 20 Lines |