summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Messages.sh2
-rw-r--r--src/bookmarks/bookmarkscontextmenu.cpp18
-rw-r--r--src/bookmarks/bookmarkstoolbar.cpp59
3 files changed, 55 insertions, 24 deletions
diff --git a/src/Messages.sh b/src/Messages.sh
index 86f846c8..ccad97fc 100644
--- a/src/Messages.sh
+++ b/src/Messages.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-$EXTRACTRC *.ui */*ui >> rc.cpp || exit 1
+$EXTRACTRC *.ui */*ui *.rc >> rc.cpp || exit 1
$XGETTEXT *.cpp */*.cpp -o $podir/rekonq.pot
rm -f rc.cpp
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));
diff --git a/src/bookmarks/bookmarkstoolbar.cpp b/src/bookmarks/bookmarkstoolbar.cpp
index 64e9c3b9..68529bd1 100644
--- a/src/bookmarks/bookmarkstoolbar.cpp
+++ b/src/bookmarks/bookmarkstoolbar.cpp
@@ -38,7 +38,7 @@
// Qt Includes
#include <QtGui/QFrame>
-#include <QActionEvent>
+#include <QtGui/QActionEvent>
BookmarkMenu::BookmarkMenu(KBookmarkManager *manager,
@@ -124,6 +124,7 @@ void BookmarkMenu::refill()
void BookmarkMenu::addOpenFolderInTabs()
{
+ // TODO: Needs to be ported to the new BookmarkOwner API
KAction *action;
KBookmarkGroup group = manager()->findByAddress(parentAddress()).toGroup();
@@ -320,33 +321,38 @@ bool BookmarkToolBar::eventFilter(QObject *watched, QEvent *event)
else if (event->type() == QEvent::Drop)
{
QDropEvent *dropEvent = static_cast<QDropEvent*>(event);
- if (dropEvent->mimeData()->hasFormat("application/rekonq-bookmark"))
+ QByteArray addresses = dropEvent->mimeData()->data("application/rekonq-bookmark");
+ KBookmark bookmark = Application::bookmarkProvider()->bookmarkManager()->findByAddress(QString::fromLatin1(addresses.data()));
+
+ if (!dropEvent->mimeData()->hasFormat("application/rekonq-bookmark") && !bookmark.isNull())
{
- QByteArray addresses = dropEvent->mimeData()->data("application/rekonq-bookmark");
- KBookmark bookmark = Application::bookmarkProvider()->bookmarkManager()->findByAddress(QString::fromLatin1(addresses.data()));
+ return QObject::eventFilter(watched, event);
+ }
- QAction *destAction = toolBar()->actionAt(dropEvent->pos());
- if (destAction && destAction == m_dropAction)
+ QAction *destAction = toolBar()->actionAt(dropEvent->pos());
+ if (destAction && destAction == m_dropAction)
+ {
+ if (toolBar()->actions().indexOf(m_dropAction) > 0)
{
- if (toolBar()->actions().indexOf(m_dropAction) > 0)
- {
- destAction = toolBar()->actions().at(toolBar()->actions().indexOf(m_dropAction) - 1);
- }
- else
- {
- destAction = toolBar()->actions().at(1);
- }
+ destAction = toolBar()->actions().at(toolBar()->actions().indexOf(m_dropAction) - 1);
}
+ else
+ {
+ destAction = toolBar()->actions().at(1);
+ }
+ }
+ KBookmarkGroup root = Application::bookmarkProvider()->rootGroup();
+
+ if (destAction)
+ {
KBookmarkActionInterface *destBookmarkAction = dynamic_cast<KBookmarkActionInterface *>(destAction);
QWidget *widgetAction = toolBar()->widgetForAction(destAction);
- if (!bookmark.isNull() && destBookmarkAction && !destBookmarkAction->bookmark().isNull()
+ if (destBookmarkAction && !destBookmarkAction->bookmark().isNull()
&& widgetAction && bookmark.address() != destBookmarkAction->bookmark().address())
{
- KBookmarkGroup root = Application::bookmarkProvider()->rootGroup();
KBookmark destBookmark = destBookmarkAction->bookmark();
- // To fix an issue with panel's drags
root.deleteBookmark(bookmark);
if ((dropEvent->pos().x() - widgetAction->pos().x()) > (widgetAction->width() / 2))
@@ -357,18 +363,31 @@ bool BookmarkToolBar::eventFilter(QObject *watched, QEvent *event)
{
root.moveBookmark(bookmark, destBookmark.parentGroup().previous(destBookmark));
}
-
Application::bookmarkProvider()->bookmarkManager()->emitChanged();
- dropEvent->accept();
}
}
+ else
+ {
+ root.deleteBookmark(bookmark);
+ if (QCursor::pos().x() < toolBar()->widgetForAction(toolBar()->actions().first())->pos().x())
+ {
+ root.moveBookmark(bookmark, KBookmark());
+ }
+ else
+ {
+ root.addBookmark(bookmark);
+ }
+
+ Application::bookmarkProvider()->bookmarkManager()->emitChanged();
+ }
+ dropEvent->accept();
}
}
else
{
// Drag handling
if (event->type() == QEvent::MouseButtonPress)
- {//QMessageBox::information(NULL, "", "");
+ {
QPoint pos = toolBar()->mapFromGlobal(QCursor::pos());
KBookmarkActionInterface* action = dynamic_cast<KBookmarkActionInterface *>(toolBar()->actionAt(pos));