summaryrefslogtreecommitdiff
path: root/src/bookmarks/bookmarksmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bookmarks/bookmarksmanager.cpp')
-rw-r--r--src/bookmarks/bookmarksmanager.cpp33
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();
+ }
+}