#include <Q3VBoxLayout>
#include <QPaintEvent>
#include <assert.h>
-#include <q3popupmenu.h>
+#include <kmenu.h>
#include <kbookmark.h>
#include <kbookmarkmanager.h>
#include <klocale.h>
#include "dolphinsettings.h"
-#include "dolphinmainwindow.h"
#include "editbookmarkdialog.h"
-BookmarksSidebarPage::BookmarksSidebarPage(DolphinMainWindow* mainWindow, QWidget* parent) :
- SidebarPage(mainWindow, parent)
+BookmarksSidebarPage::BookmarksSidebarPage(QWidget* parent) :
+ SidebarPage(parent)
{
Q3VBoxLayout* layout = new Q3VBoxLayout(this);
m_bookmarksList = new BookmarksListBox(this);
{
}
-void BookmarksSidebarPage::activeViewChanged()
+void BookmarksSidebarPage::setUrl(const KUrl& url)
{
- connectToActiveView();
+ if (!m_url.equals(url, KUrl::CompareWithoutTrailingSlash)) {
+ m_url = url;
+ adjustSelection(m_url);
+ }
}
void BookmarksSidebarPage::updateBookmarks()
bookmark = root.next(bookmark);
}
-
- connectToActiveView();
}
void BookmarksSidebarPage::slotMouseButtonClicked(int button, Q3ListBoxItem* item)
const int index = m_bookmarksList->index(item);
KBookmark bookmark = DolphinSettings::instance().bookmark(index);
- mainWindow()->activeView()->setUrl(bookmark.url());
+ emit changeUrl(bookmark.url());
}
void BookmarksSidebarPage::slotContextMenuRequested(Q3ListBoxItem* item,
const int deleteID = 3;
const int addID = 4;
- Q3PopupMenu* popup = new Q3PopupMenu();
+ KMenu* popup = new KMenu();
if (item == 0) {
- popup->insertItem(SmallIcon("filenew"), i18n("Add Bookmark..."), addID);
+ QAction *action = popup->addAction(SmallIcon("document-new"), i18n("Add Bookmark..."));
+ action->setData(addID);
}
else {
- popup->insertItem(SmallIcon("filenew"), i18n("Insert Bookmark..."), insertID);
- popup->insertItem(SmallIcon("edit"), i18n("Edit..."), editID);
- popup->insertItem(SmallIcon("editdelete"), i18n("Delete"), deleteID);
+ QAction *action = popup->addAction(SmallIcon("document-new"), i18n("Insert Bookmark..."));
+ action->setData(insertID);
+ action = popup->addAction(SmallIcon("edit"), i18n("Edit..."));
+ action->setData(editID);
+ action = popup->addAction(SmallIcon("edit-delete"), i18n("Delete"));
+ action->setData(deleteID);
+
}
KBookmarkManager* manager = DolphinSettings::instance().bookmarkManager();
KBookmarkGroup root = manager->root();
const int index = m_bookmarksList->index(m_bookmarksList->selectedItem());
-
- const int result = popup->exec(pos);
- switch (result) {
+ QAction *result = popup->exec(pos);
+ if( result)
+ {
+ switch(result->data().toInt()) {
case insertID: {
KBookmark newBookmark = EditBookmarkDialog::getBookmark(i18n("Insert Bookmark"),
"New bookmark",
default: break;
}
-
+ }
delete popup;
popup = 0;
-
- DolphinView* view = mainWindow()->activeView();
- adjustSelection(view->url());
}
m_bookmarksList->blockSignals(block);
}
-void BookmarksSidebarPage::slotUrlChanged(const KUrl& url)
-{
- adjustSelection(url);
-}
-
-void BookmarksSidebarPage::connectToActiveView()
-{
- DolphinView* view = mainWindow()->activeView();
- adjustSelection(view->url());
- connect(view, SIGNAL(signalUrlChanged(const KUrl&)),
- this, SLOT(slotUrlChanged(const KUrl&)));
-}
-
BookmarksListBox::BookmarksListBox(QWidget* parent) :
Q3ListBox(parent)
{