┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2013-05-11 18:47:58 +0200
committerFrank Reininghaus <[email protected]>2013-05-11 18:47:58 +0200
commitcad78cdfcf1f3b76acaadc7e9394df3ef466d770 (patch)
treec20bd592150467d0f306a748258492ebe78ade8b /src
parentf9990aff6a087bf5e7225810e200fdd26a9d7a3e (diff)
parentf6fcf4be851e82e13a60f469e10b207a2c7facba (diff)
Merge remote-tracking branch 'origin/KDE/4.10'
Conflicts: CMakeLists.txt
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kstandarditemmodel.cpp9
-rw-r--r--src/kitemviews/kstandarditemmodel.h1
-rw-r--r--src/panels/places/placesitemmodel.cpp40
-rw-r--r--src/panels/places/placesitemmodel.h3
-rw-r--r--src/tests/CMakeLists.txt8
-rw-r--r--src/views/dolphinviewactionhandler.cpp6
6 files changed, 64 insertions, 3 deletions
diff --git a/src/kitemviews/kstandarditemmodel.cpp b/src/kitemviews/kstandarditemmodel.cpp
index dbf608c92..959d62cb8 100644
--- a/src/kitemviews/kstandarditemmodel.cpp
+++ b/src/kitemviews/kstandarditemmodel.cpp
@@ -122,6 +122,15 @@ void KStandardItemModel::removeItem(int index)
}
}
+void KStandardItemModel::clear()
+{
+ int size = m_items.size();
+ m_items.clear();
+ m_indexesForItems.clear();
+
+ emit itemsRemoved(KItemRangeList() << KItemRange(0, size));
+}
+
KStandardItem* KStandardItemModel::item(int index) const
{
if (index < 0 || index >= m_items.count()) {
diff --git a/src/kitemviews/kstandarditemmodel.h b/src/kitemviews/kstandarditemmodel.h
index 34032bf07..0debd6a6f 100644
--- a/src/kitemviews/kstandarditemmodel.h
+++ b/src/kitemviews/kstandarditemmodel.h
@@ -78,6 +78,7 @@ public:
virtual QString roleDescription(const QByteArray& role) const;
virtual QList<QPair<int, QVariant> > groups() const;
+ virtual void clear();
protected:
/**
* Is invoked after an item has been inserted and before the signal
diff --git a/src/panels/places/placesitemmodel.cpp b/src/panels/places/placesitemmodel.cpp
index 1acbb5771..caf6b7566 100644
--- a/src/panels/places/placesitemmodel.cpp
+++ b/src/panels/places/placesitemmodel.cpp
@@ -88,7 +88,11 @@ PlacesItemModel::PlacesItemModel(QObject* parent) :
m_storageSetupInProgress()
{
#ifdef HAVE_NEPOMUK
- if (Nepomuk2::ResourceManager::instance()->initialized()) {
+ Nepomuk2::ResourceManager* rm = Nepomuk2::ResourceManager::instance();
+ connect(rm, SIGNAL(nepomukSystemStarted()), this, SLOT(slotNepomukStarted()));
+ connect(rm, SIGNAL(nepomukSystemStopped()), this, SLOT(slotNepomukStopped()));
+
+ if (rm->initialized()) {
KConfig config("nepomukserverrc");
m_fileIndexingEnabled = config.group("Service-nepomukfileindexer").readEntry("autostart", true);
}
@@ -949,6 +953,40 @@ void PlacesItemModel::createSystemBookmarks()
}
}
+void PlacesItemModel::clear() {
+ m_bookmarkedItems.clear();
+ KStandardItemModel::clear();
+}
+
+void PlacesItemModel::slotNepomukStarted()
+{
+ KConfig config("nepomukserverrc");
+ m_fileIndexingEnabled = config.group("Service-nepomukfileindexer").readEntry("autostart", true);
+ if (m_fileIndexingEnabled) {
+ m_systemBookmarks.clear();
+ m_systemBookmarksIndexes.clear();
+ createSystemBookmarks();
+
+ clear();
+ loadBookmarks();
+ }
+}
+
+void PlacesItemModel::slotNepomukStopped()
+{
+ if (m_fileIndexingEnabled) {
+ m_fileIndexingEnabled = false;
+
+ m_systemBookmarks.clear();
+ m_systemBookmarksIndexes.clear();
+ createSystemBookmarks();
+
+ clear();
+ loadBookmarks();
+ }
+}
+
+
void PlacesItemModel::initializeAvailableDevices()
{
QString predicate("[[[[ StorageVolume.ignored == false AND [ StorageVolume.usage == 'FileSystem' OR StorageVolume.usage == 'Encrypted' ]]"
diff --git a/src/panels/places/placesitemmodel.h b/src/panels/places/placesitemmodel.h
index e42187860..693836033 100644
--- a/src/panels/places/placesitemmodel.h
+++ b/src/panels/places/placesitemmodel.h
@@ -133,6 +133,7 @@ public:
*/
static KUrl convertedUrl(const KUrl& url);
+ virtual void clear();
signals:
void errorMessage(const QString& message);
void storageSetupDone(int index, bool success);
@@ -163,6 +164,8 @@ private slots:
*/
void saveBookmarks();
+ void slotNepomukStarted();
+ void slotNepomukStopped();
private:
struct SystemBookmarkData;
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 543261eac..83989d22c 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -20,7 +20,11 @@ set(kitemlistcontrollertest_SRCS
../kitemviews/kfileitemlistview.cpp
../kitemviews/kitemmodelbase.cpp
../kitemviews/kitemlistview.cpp
+ ../kitemviews/kitemlistcontainer.cpp
+ ../kitemviews/kitemlistwidget.cpp
../kitemviews/kitemlistviewaccessible.cpp
+ ../kitemviews/kstandarditemlistview.cpp
+ ../kitemviews/kstandarditemlistwidget.cpp
)
kde4_add_unit_test(kitemlistcontrollertest TEST ${kitemlistcontrollertest_SRCS})
target_link_libraries(kitemlistcontrollertest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
@@ -34,6 +38,10 @@ set(kfileitemlistviewtest_SRCS
../kitemviews/kitemmodelbase.cpp
../kitemviews/kitemlistview.cpp
../kitemviews/kitemlistviewaccessible.cpp
+ ../kitemviews/kitemlistcontainer.cpp
+ ../kitemviews/kitemlistwidget.cpp
+ ../kitemviews/kstandarditemlistview.cpp
+ ../kitemviews/kstandarditemlistwidget.cpp
)
kde4_add_unit_test(kfileitemlistviewtest TEST ${kfileitemlistviewtest_SRCS})
target_link_libraries(kfileitemlistviewtest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp
index c7832d725..730723785 100644
--- a/src/views/dolphinviewactionhandler.cpp
+++ b/src/views/dolphinviewactionhandler.cpp
@@ -528,8 +528,10 @@ void DolphinViewActionHandler::slotSortRoleChanged(const QByteArray& role)
if (action) {
action->setChecked(true);
- QAction* sortByMenu = m_actionCollection->action("sort");
- sortByMenu->setIcon(KIcon(action->icon()));
+ if (!action->icon().isNull()) {
+ QAction* sortByMenu = m_actionCollection->action("sort");
+ sortByMenu->setIcon(KIcon(action->icon()));
+ }
}
}