diff options
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/Messages.sh | 2 | ||||
| -rw-r--r-- | src/bookmarks/bookmarkscontextmenu.cpp | 18 | ||||
| -rw-r--r-- | src/bookmarks/bookmarkstoolbar.cpp | 59 | 
4 files changed, 56 insertions, 25 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index bfd945ad..06176df7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ PROJECT( rekonq )  # Informations to update before to release this package.  # rekonq info -SET(REKONQ_VERSION "0.5.60" ) +SET(REKONQ_VERSION "0.5.80" )  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.h ) 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)); | 
