Date: Thursday, April 30, 2015 @ 10:28:34
  Author: arojas
Revision: 238284

Fix disappearing bookmarks in Dolphin (FS#44186)

Added:
  kdelibs/trunk/dolphin-places.patch
Modified:
  kdelibs/trunk/PKGBUILD

----------------------+
 PKGBUILD             |    9 ++-
 dolphin-places.patch |  119 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2015-04-30 07:52:38 UTC (rev 238283)
+++ PKGBUILD    2015-04-30 08:28:34 UTC (rev 238284)
@@ -6,7 +6,7 @@
 pkgname=kdelibs
 pkgver=4.14.7
 _kdeappver=15.04.0
-pkgrel=1
+pkgrel=2
 pkgdesc="KDE Core Libraries"
 arch=('i686' 'x86_64')
 url='https://projects.kde.org/projects/kde/kdelibs'
@@ -18,11 +18,12 @@
 makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell' 'mesa' 'grantlee-qt4')
 install=${pkgname}.install
 
source=("http://download.kde.org/stable/applications/${_kdeappver}/src/${pkgname}-${pkgver}.tar.xz";
-        'kde-applications-menu.patch' 'archlinux-menu.patch' 'qt4.patch')
+        'kde-applications-menu.patch' 'archlinux-menu.patch' 'qt4.patch' 
'dolphin-places.patch')
 sha1sums=('6de82328f692717b97ad6833109a564a7b6a0a9a'
           '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
           '63a850ab4196b9d06934f2b4a13acd9f7739bc67'
-          'ed1f57ee661e5c7440efcaba7e51d2554709701c')
+          'ed1f57ee661e5c7440efcaba7e51d2554709701c'
+          'a53959b740b66054f981139430f91885657d5e94')
 
 prepare() {
        mkdir build
@@ -33,6 +34,8 @@
        patch -p1 -i "${srcdir}"/archlinux-menu.patch
        # qmake refers to Qt5
        patch -p1 -i "${srcdir}"/qt4.patch
+# fix disappearing bookmarks in Dolphin 
https://bugs.kde.org/show_bug.cgi?id=345174
+  patch -p1 -i "$srcdir"/dolphin-places.patch
 }
 
 build() {

Added: dolphin-places.patch
===================================================================
--- dolphin-places.patch                                (rev 0)
+++ dolphin-places.patch        2015-04-30 08:28:34 UTC (rev 238284)
@@ -0,0 +1,119 @@
+From: Emmanuel Pescosta <emmanuelpescosta...@gmail.com>
+Date: Wed, 29 Apr 2015 14:02:02 +0000
+Subject: Remove bookmarks syncing from KFilePlacesModel and use 
user-places.xbel only.
+X-Git-Url: 
http://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=5c0a31a2f2a46aa44b8c34baae67b6951b2abcaf
+---
+Remove bookmarks syncing from KFilePlacesModel and use user-places.xbel only.
+
+FIXED-IN: 4.14.8
+BUG: 345174
+REVIEW: 123568
+---
+
+
+--- a/kfile/CMakeLists.txt
++++ b/kfile/CMakeLists.txt
+@@ -22,7 +22,6 @@
+   kfilewidget.cpp
+   kfileplacesitem.cpp
+   kfileplacesmodel.cpp
+-  kfileplacessharedbookmarks.cpp
+   kfileplacesview.cpp
+   kfileplaceeditdialog.cpp
+   kfilepreviewgenerator.cpp
+
+--- a/kfile/kfileplacesmodel.cpp
++++ b/kfile/kfileplacesmodel.cpp
+@@ -19,7 +19,6 @@
+ */
+ #include "kfileplacesmodel.h"
+ #include "kfileplacesitem_p.h"
+-#include "kfileplacessharedbookmarks_p.h"
+ 
+ #ifdef _WIN32_WCE
+ #include "Windows.h"
+@@ -61,10 +60,9 @@
+ class KFilePlacesModel::Private
+ {
+ public:
+-    Private(KFilePlacesModel *self) : q(self), bookmarkManager(0), 
sharedBookmarks(0) {}
++    Private(KFilePlacesModel *self) : q(self), bookmarkManager(0) {}
+     ~Private()
+     {
+-        delete sharedBookmarks;
+         qDeleteAll(items);
+     }
+ 
+@@ -76,7 +74,6 @@
+ 
+     Solid::Predicate predicate;
+     KBookmarkManager *bookmarkManager;
+-    KFilePlacesSharedBookmarks * sharedBookmarks;
+ 
+     void reloadAndSignal();
+     QList<KFilePlacesItem *> loadBookmarkList();
+@@ -93,8 +90,8 @@
+ KFilePlacesModel::KFilePlacesModel(QObject *parent)
+     : QAbstractItemModel(parent), d(new Private(this))
+ {
+-    const QString file = KStandardDirs::locateLocal("data", 
"kfileplaces/bookmarks.xml");
+-    d->bookmarkManager = KBookmarkManager::managerForFile(file, 
"kfilePlaces");
++    const QString file = KStandardDirs().localxdgdatadir() + 
"user-places.xbel";
++    d->bookmarkManager = KBookmarkManager::managerForExternalFile(file);
+ 
+     // Let's put some places in there if it's empty. We have a corner case 
here:
+     // Given you have bookmarked some folders (which have been saved on
+@@ -145,9 +142,6 @@
+         // user-places.xbel will be filled later). (ereslibre)
+         d->bookmarkManager->saveAs(file);
+     }
+-
+-    // create after, so if we have own places, they are added afterwards, in 
case of equal priorities
+-    d->sharedBookmarks = new KFilePlacesSharedBookmarks(d->bookmarkManager);
+ 
+     QString predicate("[[[[ StorageVolume.ignored == false AND [ 
StorageVolume.usage == 'FileSystem' OR StorageVolume.usage == 'Encrypted' ]]"
+         " OR "
+@@ -632,8 +626,6 @@
+         return false;
+     }
+ 
+-    d->sharedBookmarks->updateSharedBookmarks();
+-
+     d->reloadAndSignal();
+ 
+     return true;
+@@ -660,8 +652,6 @@
+         KFilePlacesItem *item = 
static_cast<KFilePlacesItem*>(after.internalPointer());
+         d->bookmarkManager->root().moveBookmark(bookmark, item->bookmark());
+     }
+-
+-    d->sharedBookmarks->updateSharedBookmarks();
+ 
+     d->reloadAndSignal();
+ }
+@@ -684,8 +674,6 @@
+     bookmark.setIcon(iconName);
+     bookmark.setMetaDataItem("OnlyInApp", appName);
+ 
+-    d->sharedBookmarks->updateSharedBookmarks();
+-
+     d->reloadAndSignal();
+     emit dataChanged(index, index);
+ }
+@@ -703,7 +691,6 @@
+     if (bookmark.isNull()) return;
+ 
+     d->bookmarkManager->root().deleteBookmark(bookmark);
+-    d->sharedBookmarks->updateSharedBookmarks();
+     d->reloadAndSignal();
+ }
+ 
+@@ -718,8 +705,6 @@
+     if (bookmark.isNull()) return;
+ 
+     bookmark.setMetaDataItem("IsHidden", (hidden ? "true" : "false"));
+-
+-    d->sharedBookmarks->updateSharedBookmarks();
+ 
+     d->reloadAndSignal();
+     emit dataChanged(index, index);

Reply via email to