diff options
Diffstat (limited to 'src/bookmarks/bookmarksmanager.cpp')
-rw-r--r-- | src/bookmarks/bookmarksmanager.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp index 954a633a..57a29907 100644 --- a/src/bookmarks/bookmarksmanager.cpp +++ b/src/bookmarks/bookmarksmanager.cpp @@ -234,7 +234,7 @@ void BookmarkMenu::addOpenFolderInTabs() if (!bookmark.isNull()) { action = new KAction(KIcon("tab-new"), i18n("Open Folder in Tabs"), this); - action->setHelpText(i18n("Open all bookmarks in this folder as a new tab.")); + action->setHelpText(i18n("Open all bookmarks in this folder as new tabs.")); connect(action, SIGNAL(triggered(bool)), this, SLOT(slotOpenFolderInTabs())); parentMenu()->addAction(action); } @@ -483,3 +483,34 @@ void BookmarkProvider::slotAddBookmark() parentBookmark.addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl()); bookmarkManager()->emitChanged(); } + + +void BookmarkProvider::registerBookmarkPanel(BookmarksPanel *panel) +{ + if (panel && !m_bookmarkPanels.contains(panel)) + { + m_bookmarkPanels.append(panel); + connect(panel, SIGNAL(expansionChanged()), this, SLOT(slotPanelChanged())); + } +} + + +void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel) +{ + m_bookmarkPanels.removeOne(panel); + + if (m_bookmarkPanels.isEmpty()) + { + Application::bookmarkProvider()->bookmarkManager()->emitChanged(); + } +} + + +void BookmarkProvider::slotPanelChanged() +{ + foreach (BookmarksPanel *panel, m_bookmarkPanels) + { + if (panel && panel != sender()) + panel->startLoadFoldedState(); + } +} |