diff options
author | Jon Ander Peñalba <jonan88@gmail.com> | 2010-08-17 23:07:20 +0200 |
---|---|---|
committer | Jon Ander Peñalba <jonan88@gmail.com> | 2010-08-19 13:02:41 +0200 |
commit | 7749ad3e829b9159dec013a392ebe324e6d261b1 (patch) | |
tree | f6ad479709023bc8b5ae65b37f3933db0ada6faf | |
parent | Create and store all bookmark actions in BookmarkOwner (diff) | |
download | rekonq-7749ad3e829b9159dec013a392ebe324e6d261b1.tar.xz |
The bookmark actions in BookmarkOwner are now working and being used
-rw-r--r-- | src/bookmarks/bookmarkscontextmenu.cpp | 183 | ||||
-rw-r--r-- | src/bookmarks/bookmarkscontextmenu.h | 24 | ||||
-rw-r--r-- | src/bookmarks/bookmarksmanager.cpp | 161 | ||||
-rw-r--r-- | src/bookmarks/bookmarksmanager.h | 55 | ||||
-rw-r--r-- | src/bookmarks/bookmarkspanel.cpp | 3 | ||||
-rw-r--r-- | src/bookmarks/bookmarkstoolbar.cpp | 2 | ||||
-rw-r--r-- | src/urlbar/bookmarkwidget.cpp | 11 |
7 files changed, 174 insertions, 265 deletions
diff --git a/src/bookmarks/bookmarkscontextmenu.cpp b/src/bookmarks/bookmarkscontextmenu.cpp index eaf4a9d9..8f64ee4b 100644 --- a/src/bookmarks/bookmarkscontextmenu.cpp +++ b/src/bookmarks/bookmarkscontextmenu.cpp @@ -30,93 +30,40 @@ // Local Includes #include "bookmarksmanager.h" -// KDE Includes -#include <KActionCollection> -// Qt Includes -#include <QClipboard> - - -BookmarksContextMenu::BookmarksContextMenu(const KBookmark & bookmark, KBookmarkManager *manager, KBookmarkOwner *owner, QWidget *parent) +BookmarksContextMenu::BookmarksContextMenu(const KBookmark &bookmark, KBookmarkManager *manager, BookmarkOwner *owner, QWidget *parent) : KBookmarkContextMenu(bookmark, manager, owner, parent) - , m_ac(new KActionCollection(this)) + , bmOwner(owner) { - setupActions(); + bmOwner->bookmarkSelected(bookmark); } BookmarksContextMenu::~BookmarksContextMenu() { - delete m_ac; -} - - -void BookmarksContextMenu::setupActions() -{ - KAction* action; - - action = new KAction(KIcon("tab-new"), i18n("Open"), this); - connect(action, SIGNAL(triggered()), this, SLOT(openInCurrentTab())); - m_ac->addAction("open", action); - - action = new KAction(KIcon("tab-new"), i18n("Open in New Tab"), this); - connect(action, SIGNAL(triggered()), this, SLOT(openInNewTab())); - m_ac->addAction("open_tab", action); - - action = new KAction(KIcon("window-new"), i18n("Open in New Window"), this); - connect(action, SIGNAL(triggered()), this, SLOT(openInNewWindow())); - m_ac->addAction("open_window", action); - - action = new KAction(KIcon("bookmark-new"), i18n("Add Bookmark Here"), this); - connect(action, SIGNAL(triggered()), this, SLOT(bookmarkCurrentPage())); - m_ac->addAction("bookmark_page", action); - - action = new KAction(KIcon("folder-new"), i18n("New Bookmark Folder"), this); - connect(action, SIGNAL(triggered()), this, SLOT(newBookmarkGroup())); - m_ac->addAction("folder_new", action); - - action = new KAction(KIcon("edit-clear"), i18n("New Separator"), this); - connect(action, SIGNAL(triggered()), this, SLOT(newSeparator())); - m_ac->addAction("separator_new", action); - - action = new KAction(KIcon("edit-copy"), i18n("Copy Link Address"), this); - connect(action, SIGNAL(triggered()), this, SLOT(copyToClipboard())); - m_ac->addAction("copy", action); - - action = new KAction(KIcon("edit-delete"), i18n("Delete Bookmark"), this); - connect(action, SIGNAL(triggered()), this, SLOT(deleteBookmark())); - m_ac->addAction("delete", action); - - action = new KAction(KIcon("configure"), i18n("Properties"), this); - connect(action, SIGNAL(triggered()), this, SLOT(editBookmark())); - m_ac->addAction("properties", action); - - action = new KAction(KIcon("tab-new"), i18n("Open Folder in Tabs"), this); - connect(action, SIGNAL(triggered()), this, SLOT(openFolderInTabs())); - m_ac->addAction("open_all", action); } void BookmarksContextMenu::addBookmarkActions() { - addAction(m_ac->action("open")); - addAction(m_ac->action("open_tab")); - addAction(m_ac->action("open_window")); + addAction(bmOwner->action(BookmarkOwner::OPEN)); + addAction(bmOwner->action(BookmarkOwner::OPEN_IN_TAB)); + addAction(bmOwner->action(BookmarkOwner::OPEN_IN_WINDOW)); addSeparator(); - addAction(m_ac->action("bookmark_page")); - addAction(m_ac->action("folder_new")); - addAction(m_ac->action("separator_new")); + addAction(bmOwner->action(BookmarkOwner::BOOKMARK_PAGE)); + addAction(bmOwner->action(BookmarkOwner::NEW_FOLDER)); + addAction(bmOwner->action(BookmarkOwner::NEW_SEPARATOR)); addSeparator(); - addAction(m_ac->action("copy")); + addAction(bmOwner->action(BookmarkOwner::COPY)); addSeparator(); - addAction(m_ac->action("delete")); - addAction(m_ac->action("properties")); + addAction(bmOwner->action(BookmarkOwner::EDIT)); + addAction(bmOwner->action(BookmarkOwner::DELETE)); } @@ -124,30 +71,38 @@ void BookmarksContextMenu::addFolderActions() { if (!bookmark().toGroup().first().isNull()) { - addAction(m_ac->action("open_all")); + addAction(bmOwner->action(BookmarkOwner::OPEN_FOLDER)); addSeparator(); } - addAction(m_ac->action("bookmark_page")); - addAction(m_ac->action("folder_new")); - addAction(m_ac->action("separator_new")); + addAction(bmOwner->action(BookmarkOwner::BOOKMARK_PAGE)); + addAction(bmOwner->action(BookmarkOwner::NEW_FOLDER)); + addAction(bmOwner->action(BookmarkOwner::NEW_SEPARATOR)); addSeparator(); - addAction(m_ac->action("delete")); - addAction(m_ac->action("properties")); + addAction(bmOwner->action(BookmarkOwner::EDIT)); + addAction(bmOwner->action(BookmarkOwner::DELETE)); } void BookmarksContextMenu::addSeparatorActions() { - addAction(m_ac->action("bookmark_page")); - addAction(m_ac->action("folder_new")); - addAction(m_ac->action("separator_new")); + addAction(bmOwner->action(BookmarkOwner::BOOKMARK_PAGE)); + addAction(bmOwner->action(BookmarkOwner::NEW_FOLDER)); + addAction(bmOwner->action(BookmarkOwner::NEW_SEPARATOR)); addSeparator(); - addAction(m_ac->action("delete")); + addAction(bmOwner->action(BookmarkOwner::DELETE)); +} + + +void BookmarksContextMenu::addNullActions() +{ + addAction(bmOwner->action(BookmarkOwner::BOOKMARK_PAGE)); + addAction(bmOwner->action(BookmarkOwner::NEW_FOLDER)); + addAction(bmOwner->action(BookmarkOwner::NEW_SEPARATOR)); } @@ -157,92 +112,16 @@ void BookmarksContextMenu::addActions() { addFolderActions(); } - else if (bookmark().isSeparator()) { addSeparatorActions(); } - else if (bookmark().isNull()) { - addAction(m_ac->action("bookmark_page")); - addAction(m_ac->action("folder_new")); - addAction(m_ac->action("separator_new")); + addNullActions(); } - else { addBookmarkActions(); } } - - -void BookmarksContextMenu::openInCurrentTab() -{ - Application::instance()->loadUrl(bookmark().url()); -} - - -void BookmarksContextMenu::openInNewTab() -{ - Application::instance()->loadUrl(bookmark().url(), Rekonq::NewTab); -} - - -void BookmarksContextMenu::openInNewWindow() -{ - Application::instance()->loadUrl(bookmark().url(), Rekonq::NewWindow); -} - - -void BookmarksContextMenu::copyToClipboard() -{ - if (bookmark().isNull()) - return; - - QClipboard *cb = QApplication::clipboard(); - cb->setText(bookmark().url().url()); -} - - -void BookmarksContextMenu::deleteBookmark() -{ - KBookmark bm = bookmark(); - Application::bookmarkProvider()->bookmarkOwner()->deleteBookmark(bm); -} - - -void BookmarksContextMenu::editBookmark() -{ - KBookmark bm = bookmark(); - Application::bookmarkProvider()->bookmarkOwner()->editBookmark(bm); -} - - -void BookmarksContextMenu::openFolderInTabs() -{ - if (bookmark().isGroup()) - owner()->openFolderinTabs(bookmark().toGroup()); -} - - -void BookmarksContextMenu::newBookmarkGroup() -{ - KBookmark bm = bookmark(); - Application::bookmarkProvider()->bookmarkOwner()->newBookmarkFolder(bm); -} - - -void BookmarksContextMenu::newSeparator() -{ - KBookmark bm = bookmark(); - Application::bookmarkProvider()->bookmarkOwner()->newSeparator(bm); -} - - -void BookmarksContextMenu::bookmarkCurrentPage() -{ - KBookmark bm = bookmark(); - Application::bookmarkProvider()->bookmarkOwner()->bookmarkPage(bm); -} - diff --git a/src/bookmarks/bookmarkscontextmenu.h b/src/bookmarks/bookmarkscontextmenu.h index c32c5962..424f8da4 100644 --- a/src/bookmarks/bookmarkscontextmenu.h +++ b/src/bookmarks/bookmarkscontextmenu.h @@ -30,36 +30,24 @@ // KDE Includes #include <KBookmarkMenu> +// Forward Declarations +class BookmarkOwner; class BookmarksContextMenu : public KBookmarkContextMenu { - Q_OBJECT - public: - BookmarksContextMenu(const KBookmark & bk, KBookmarkManager * manager, KBookmarkOwner *owner, QWidget * parent = 0); - ~BookmarksContextMenu(); + BookmarksContextMenu(const KBookmark &bookmark, KBookmarkManager *manager, BookmarkOwner *owner, QWidget *parent = 0); + virtual ~BookmarksContextMenu(); virtual void addActions(); -private slots: - void openInCurrentTab(); - void openInNewTab(); - void openInNewWindow(); - void copyToClipboard(); - void deleteBookmark(); - void openFolderInTabs(); - void editBookmark(); - void newBookmarkGroup(); - void newSeparator(); - void bookmarkCurrentPage(); - private: - void setupActions(); void addFolderActions(); void addBookmarkActions(); void addSeparatorActions(); + void addNullActions(); - KActionCollection *m_ac; + BookmarkOwner *bmOwner; }; #endif // BOOKMARKCONTEXTMENU_H diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp index c4fa68a1..4e675e45 100644 --- a/src/bookmarks/bookmarksmanager.cpp +++ b/src/bookmarks/bookmarksmanager.cpp @@ -52,11 +52,13 @@ // Qt Includes #include <QtCore/QFile> #include <QtGui/QActionGroup> +#include <QtGui/QClipboard> -BookmarkOwner::BookmarkOwner(QObject *parent) +BookmarkOwner::BookmarkOwner(KBookmarkManager *manager, QObject *parent) : QObject(parent) , KBookmarkOwner() + , m_manager(manager) , actions(QVector<KAction*>(NUM_ACTIONS)) { setupActions(); @@ -84,53 +86,49 @@ void BookmarkOwner::openBookmark(const KBookmark & bookmark, } -void BookmarkOwner::bookmarkPage(KBookmark &position) +void BookmarkOwner::bookmarkCurrentPage() { - BookmarkOwner *owner = Application::bookmarkProvider()->bookmarkOwner(); - KBookmarkGroup parent; - if (!position.isNull()) + if (!selected.isNull()) { - if (position.isGroup()) - parent = position.toGroup(); + if (selected.isGroup()) + parent = selected.toGroup(); else - parent = position.parentGroup(); + parent = selected.parentGroup(); - KBookmark newBk = parent.addBookmark(owner->currentTitle().replace('&', "&&"), KUrl(owner->currentUrl())); - parent.moveBookmark(newBk, position.parentGroup().previous(position)); + KBookmark newBk = parent.addBookmark(currentTitle().replace('&', "&&"), KUrl(currentUrl())); + parent.moveBookmark(newBk, selected); } else { parent = Application::bookmarkProvider()->rootGroup(); - parent.addBookmark(owner->currentTitle(), KUrl(owner->currentUrl())); + parent.addBookmark(currentTitle(), KUrl(currentUrl())); } - Application::bookmarkProvider()->bookmarkManager()->emitChanged(parent); + m_manager->emitChanged(parent); } -void BookmarkOwner::newBookmarkFolder(KBookmark &position) +void BookmarkOwner::newBookmarkFolder() { - BookmarkOwner *owner = Application::bookmarkProvider()->bookmarkOwner(); - KBookmarkManager *manager = Application::bookmarkProvider()->bookmarkManager(); - - KBookmarkDialog *dialog = owner->bookmarkDialog(manager, QApplication::activeWindow()); + KBookmarkDialog *dialog = bookmarkDialog(m_manager, QApplication::activeWindow()); QString folderName = i18n("New folder"); - if (!position.isNull()) + if (!selected.isNull()) { - if (position.isGroup()) + if (selected.isGroup()) { - dialog->createNewFolder(folderName, position); + dialog->createNewFolder(folderName, selected); } else { - KBookmark newBk = dialog->createNewFolder(folderName, position.parentGroup()); + KBookmark newBk = dialog->createNewFolder(folderName, selected.parentGroup()); if (!newBk.isNull()) { - position.parentGroup().moveBookmark(newBk, position); - manager->emitChanged(newBk.parentGroup()); + KBookmarkGroup parent = newBk.parentGroup(); + parent.moveBookmark(newBk, selected); + m_manager->emitChanged(parent); } } } @@ -143,58 +141,63 @@ void BookmarkOwner::newBookmarkFolder(KBookmark &position) } -void BookmarkOwner::newSeparator(KBookmark &position) +void BookmarkOwner::newSeparator() { KBookmark newBk; - if (!position.isNull()) + if (!selected.isNull()) { - if (position.isGroup()) - newBk = position.toGroup().createNewSeparator(); + if (selected.isGroup()) + { + newBk = selected.toGroup().createNewSeparator(); + } else - newBk = position.parentGroup().createNewSeparator(); + { + newBk = selected.parentGroup().createNewSeparator(); + newBk.parentGroup().moveBookmark(newBk, selected); + } } else { newBk = Application::bookmarkProvider()->rootGroup().createNewSeparator(); } - KBookmarkGroup parent = newBk.parentGroup(); - newBk.setIcon("edit-clear"); + newBk.setIcon(("edit-clear")); - if (!position.isNull()) - parent.moveBookmark(newBk, position); - - Application::bookmarkProvider()->bookmarkManager()->emitChanged(parent); + m_manager->emitChanged(newBk.parentGroup()); } -void BookmarkOwner::editBookmark(KBookmark &bookmark) +void BookmarkOwner::editBookmark() { - BookmarkOwner *owner = Application::bookmarkProvider()->bookmarkOwner(); - KBookmarkManager *manager = Application::bookmarkProvider()->bookmarkManager(); + if (selected.isNull()) + return; - bookmark.setFullText(bookmark.fullText().replace("&&", "&")); - KBookmarkDialog *dialog = owner->bookmarkDialog(manager, QApplication::activeWindow()); + selected.setFullText(selected.fullText().replace("&&", "&")); + KBookmarkDialog *dialog = bookmarkDialog(m_manager, QApplication::activeWindow()); - dialog->editBookmark(bookmark); - bookmark.setFullText(bookmark.fullText().replace('&', "&&")); + dialog->editBookmark(selected); + selected.setFullText(selected.fullText().replace('&', "&&")); delete dialog; } -bool BookmarkOwner::deleteBookmark(KBookmark &bookmark) +bool BookmarkOwner::deleteBookmark() { - QString name = QString(bookmark.fullText()).replace("&&", "&"); + if (selected.isNull()) + return false; + + KBookmarkGroup bmg = selected.parentGroup(); + QString name = QString(selected.fullText()).replace("&&", "&"); QString dialogCaption, dialogText; - if (bookmark.isGroup()) + if (selected.isGroup()) { dialogCaption = i18n("Bookmark Folder Deletion"); dialogText = i18n("Are you sure you wish to remove the bookmark folder\n\"%1\"?", name); } - else if (bookmark.isSeparator()) + else if (selected.isSeparator()) { dialogCaption = i18n("Separator Deletion"); dialogText = i18n("Are you sure you wish to remove this separator?", name); @@ -216,9 +219,8 @@ bool BookmarkOwner::deleteBookmark(KBookmark &bookmark) ) return false; - KBookmarkGroup bmg = bookmark.parentGroup(); - bmg.deleteBookmark(bookmark); - Application::bookmarkProvider()->bookmarkManager()->emitChanged(bmg); + bmg.deleteBookmark(selected); + m_manager->emitChanged(bmg); return true; } @@ -285,6 +287,63 @@ QList< QPair<QString, QString> > BookmarkOwner::currentBookmarkList() const } +void BookmarkOwner::bookmarkSelected(const KBookmark &bookmark) +{ + selected = bookmark; +} + + +void BookmarkOwner::openBookmark() +{ + emit openUrl(selected.url(), Rekonq::CurrentTab); +} + + +void BookmarkOwner::openBookmarkInNewTab() +{ + emit openUrl(selected.url(), Rekonq::NewTab); +} + + +void BookmarkOwner::openBookmarkInNewWindow() +{ + emit openUrl(selected.url(), Rekonq::NewWindow); +} + + +void BookmarkOwner::openBookmarkFolder() +{ + if (!selected.isGroup()) + return; + + QList<KUrl> urlList = selected.toGroup().groupUrlList(); + + if (urlList.length() > 8) + { + if (KMessageBox::warningContinueCancel( + Application::instance()->mainWindow(), + i18n("You are about to open %1 tabs.\nAre you sure?", urlList.length())) + != KMessageBox::Continue + ) + return; + } + + foreach (KUrl url, urlList) + { + emit openUrl(url, Rekonq::NewFocusedTab); + } +} + + +void BookmarkOwner::copyLink() +{ + if (selected.isNull()) + return; + + QApplication::clipboard()->setText(selected.url().url()); +} + + void BookmarkOwner::setupActions() { createAction(OPEN, i18n("Open"), "tab-new", @@ -294,11 +353,11 @@ void BookmarkOwner::setupActions() createAction(OPEN_IN_WINDOW, i18n("Open in New Window"), "window-new", i18n("Open bookmark in new window"), SLOT(openBookmarkInNewWindow())); createAction(OPEN_FOLDER, i18n("Open Folder in Tabs"), "tab-new", - i18n("Open all the bookmarks in folder in tabs"), SLOT(openBookmarkGroup())); + i18n("Open all the bookmarks in folder in tabs"), SLOT(openBookmarkFolder())); createAction(BOOKMARK_PAGE, i18n("Add Bookmark"), "bookmark-new", i18n("Bookmark current page"), SLOT(bookmarkCurrentPage())); createAction(NEW_FOLDER, i18n("New Folder"), "folder-new", - i18n("Create a new bookmark folder"), SLOT(newBookmarkGroup())); + i18n("Create a new bookmark folder"), SLOT(newBookmarkFolder())); createAction(NEW_SEPARATOR, i18n("New Separator"), "edit-clear", i18n("Create a new bookmark separatork"), SLOT(newSeparator())); createAction(COPY, i18n("Copy Link"), "edit-copy", @@ -355,7 +414,7 @@ BookmarkProvider::BookmarkProvider(QObject *parent) this, SLOT(slotBookmarksChanged(const QString &, const QString &))); // setup menu - m_owner = new BookmarkOwner(this); + m_owner = new BookmarkOwner(m_manager, this); connect(m_owner, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType &)), this, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType &))); KAction *a = KStandardAction::addBookmark(this, SLOT(slotAddBookmark()), this); diff --git a/src/bookmarks/bookmarksmanager.h b/src/bookmarks/bookmarksmanager.h index af2cb158..7cbf0116 100644 --- a/src/bookmarks/bookmarksmanager.h +++ b/src/bookmarks/bookmarksmanager.h @@ -67,14 +67,7 @@ class REKONQ_TESTS_EXPORT BookmarkOwner : public QObject , public KBookmarkOwner Q_OBJECT public: - - /** - * @short The class constructor. - * - * @param parent the pointer parent Bookmark provider. We need it - * to get pointer to MainWindow - */ - BookmarkOwner(QObject *parent = 0); + explicit BookmarkOwner(KBookmarkManager *manager, QObject *parent = 0); virtual ~BookmarkOwner() {} enum BookmarkAction @@ -112,35 +105,6 @@ public: /** - * Bookmarks the current page. - * @param position Where to insert the bookmark. - */ - static void bookmarkPage(KBookmark &position); - /** - * Creates a new bookmark folder. - * @param position Where to insert the folder. - */ - static void newBookmarkFolder(KBookmark &position); - /** - * Creates a new separator. - * @param position Where to insert the separator. - */ - static void newSeparator(KBookmark &position); - - /** - * Opens the edit dialog for a bookmark. - * @param bookmark The bookmark to edit. - */ - static void editBookmark(KBookmark &bookmark); - /** - * Promps the user to delete a bookmark. - * @param bookmark The bookmark to delete. - * @return true if the bookmark was deleted, false if canceled. - */ - static bool deleteBookmark(KBookmark &bookmark); - - - /** * this method, from KBookmarkOwner interface, allows to add the current page * to the bookmark list, returning the URL page as QString. * @@ -179,8 +143,25 @@ signals: */ void openUrl(const KUrl &, const Rekonq::OpenType &); +public slots: + void bookmarkSelected(const KBookmark &bookmark); + + void openBookmark(); + void openBookmarkInNewTab(); + void openBookmarkInNewWindow(); + void openBookmarkFolder(); + void bookmarkCurrentPage(); + void newBookmarkFolder(); + void newSeparator(); + void copyLink(); + void editBookmark(); + bool deleteBookmark(); + private: + KBookmarkManager *m_manager; + QVector<KAction*> actions; + KBookmark selected; void setupActions(); void createAction(const BookmarkAction &action, diff --git a/src/bookmarks/bookmarkspanel.cpp b/src/bookmarks/bookmarkspanel.cpp index 72778f7a..3ab49c1e 100644 --- a/src/bookmarks/bookmarkspanel.cpp +++ b/src/bookmarks/bookmarkspanel.cpp @@ -218,5 +218,6 @@ void BookmarksPanel::deleteBookmark() return; KBookmark bm = bookmarkForIndex(index); - Application::instance()->bookmarkProvider()->bookmarkOwner()->deleteBookmark(bm); + Application::instance()->bookmarkProvider()->bookmarkOwner()->bookmarkSelected(bm); + Application::instance()->bookmarkProvider()->bookmarkOwner()->deleteBookmark(); } diff --git a/src/bookmarks/bookmarkstoolbar.cpp b/src/bookmarks/bookmarkstoolbar.cpp index 1ec1d677..3fd9cdc7 100644 --- a/src/bookmarks/bookmarkstoolbar.cpp +++ b/src/bookmarks/bookmarkstoolbar.cpp @@ -65,7 +65,7 @@ KMenu * BookmarkMenu::contextMenu(QAction *act) KBookmarkActionInterface* action = dynamic_cast<KBookmarkActionInterface *>(act); if (!action) return 0; - return new BookmarksContextMenu(action->bookmark(), manager(), owner()); + return new BookmarksContextMenu(action->bookmark(), manager(), static_cast<BookmarkOwner*>(owner())); } diff --git a/src/urlbar/bookmarkwidget.cpp b/src/urlbar/bookmarkwidget.cpp index ccfe4914..196c9df1 100644 --- a/src/urlbar/bookmarkwidget.cpp +++ b/src/urlbar/bookmarkwidget.cpp @@ -57,12 +57,12 @@ BookmarkWidget::BookmarkWidget(const KBookmark &bookmark, QWidget *parent) setLayout(layout); QHBoxLayout *hLayout = new QHBoxLayout(); - + QLabel *bookmarkIcon = new QLabel(this); bookmarkIcon->setPixmap(KIcon("bookmarks").pixmap(32, 32)); hLayout->addWidget(bookmarkIcon); hLayout->setSpacing(10); - + QVBoxLayout *vLayout = new QVBoxLayout(); QLabel *bookmarkInfo = new QLabel(this); @@ -70,13 +70,13 @@ BookmarkWidget::BookmarkWidget(const KBookmark &bookmark, QWidget *parent) QFont font; font.setPointSize(font.pointSize() + 2); bookmarkInfo->setFont(font); - + vLayout->addWidget(bookmarkInfo); QPushButton *removeButton = new QPushButton(this); removeButton->setText(i18n("Remove this Bookmark")); connect(removeButton, SIGNAL(clicked()), this, SLOT(removeBookmark())); - + vLayout->addWidget(removeButton); hLayout->addLayout(vLayout); layout->addItem(hLayout); @@ -152,6 +152,7 @@ void BookmarkWidget::showAt(const QPoint &pos) void BookmarkWidget::removeBookmark() { - Application::bookmarkProvider()->bookmarkOwner()->deleteBookmark(m_bookmark); + Application::bookmarkProvider()->bookmarkOwner()->bookmarkSelected(m_bookmark); + Application::bookmarkProvider()->bookmarkOwner()->deleteBookmark(); reject(); } |