diff options
Diffstat (limited to 'src/bookmarks/bookmarkscontextmenu.cpp')
-rw-r--r-- | src/bookmarks/bookmarkscontextmenu.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/bookmarks/bookmarkscontextmenu.cpp b/src/bookmarks/bookmarkscontextmenu.cpp index a473966a..da986fd2 100644 --- a/src/bookmarks/bookmarkscontextmenu.cpp +++ b/src/bookmarks/bookmarkscontextmenu.cpp @@ -69,10 +69,22 @@ void BookmarksContextMenu::addBookmarkActions() void BookmarksContextMenu::addFolderActions() { - if (!bookmark().toGroup().first().isNull()) + KBookmarkGroup group = bookmark().toGroup(); + + if (!group.first().isNull()) { - addAction(bmOwner->action(BookmarkOwner::OPEN_FOLDER)); - addSeparator(); + KBookmark child = group.first(); + + while (child.isGroup() || child.isSeparator()) + { + child = group.next(child); + } + + if (!child.isNull()) + { + addAction(bmOwner->action(BookmarkOwner::OPEN_FOLDER)); + addSeparator(); + } } addAction(bmOwner->action(BookmarkOwner::BOOKMARK_PAGE)); |