[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/amarok/src
From: Casey Link <unnamedrambler () gmail ! com>
Date: 2008-05-31 23:10:32
Message-ID: 1212275432.225645.21686.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 815021 by link:
Expose the local collection path via dbus in a more elegant fashion. The CollectionLocation changes \
should prove useful in the future for other implementations.
M +6 -0 collection/CollectionLocation.cpp
M +12 -0 collection/CollectionLocation.h
M +5 -0 collection/sqlcollection/SqlCollectionLocation.cpp
M +1 -0 collection/sqlcollection/SqlCollectionLocation.h
M +3 -11 dbus/amarokdbushandler.cpp
M +1 -1 dbus/amarokdbushandler.h
M +2 -2 dbus/org.kde.amarok.collection.xml
--- trunk/extragear/multimedia/amarok/src/collection/CollectionLocation.cpp #815020:815021
@@ -59,6 +59,12 @@
return QString();
}
+QStringList
+CollectionLocation::actualLocation() const
+{
+ return QStringList();
+}
+
bool
CollectionLocation::isWriteable() const
{
--- trunk/extragear/multimedia/amarok/src/collection/CollectionLocation.h #815020:815021
@@ -54,6 +54,9 @@
Implementations which are only readable can reimplement getKIOCopyableUrls( Meta::TrackList )
if it is necessary, but can use the default implementations if possible.
+
+ Implementations that have a string expressable location(s), such as a URL or path on disk
+ should reimplement actualLocation().
Implementations that need additional information provided by the user have to implement
showSourceDialog() and showDestinationDialog(), depending on whether the information is required
@@ -96,6 +99,15 @@
virtual QString prettyLocation() const;
/**
+ Returns a list of machine usable strings representingthe collection location. For example,
+ a local collection would return a list of paths where tracks are stored, while an Ampache
+ collection would return a list with one string containing the URL of an ampache server.
+ An iPod collection and a MTP device collection are examples of collections that do
+ not need to reimplement this method.
+ */
+ virtual QStringList actualLocation() const;
+
+ /**
Returns whether the collection location is writeable or not. For example, a local collection \
or an ipod
collection would return true, a daap collection or a service collection false. The value \
returned by this
method indicates if it is possible to copy tracks to the collection, and if it is generally \
possible to
--- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/SqlCollectionLocation.cpp \
#815020:815021 @@ -62,6 +62,11 @@
return i18n( "Local Collection" );
}
+QStringList
+SqlCollectionLocation::actualLocation() const
+{
+ return MountPointManager::instance()->collectionFolders();
+}
bool
SqlCollectionLocation::isWriteable() const
{
--- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/SqlCollectionLocation.h #815020:815021
@@ -36,6 +36,7 @@
virtual ~SqlCollectionLocation();
virtual QString prettyLocation() const;
+ virtual QStringList actualLocation() const;
virtual bool isWriteable() const;
virtual bool isOrganizable() const;
virtual bool remove( const Meta::TrackPtr &track );
--- trunk/extragear/multimedia/amarok/src/dbus/amarokdbushandler.cpp #815020:815021
@@ -29,6 +29,7 @@
#include "collection/CollectionManager.h"
#include "collection/SqlStorage.h"
#include "collection/sqlcollection/SqlCollection.h"
+#include "collection/sqlcollection/SqlCollectionLocation.h"
#include "context/LyricsManager.h"
#include "EngineController.h"
#include "equalizersetup.h"
@@ -848,18 +849,9 @@
Q_UNUSED( path );
return false;
}
- QString DbusCollectionHandler::mainCollectionPath()
+ QStringList DbusCollectionHandler::collectionLocation()
{
- /*The main collection path is defined as the first path encountered*/
- QStringList folders = MountPointManager::instance()->collectionFolders();
-
- QString firstPath = "NONE";
-
- if(!folders.isEmpty()) {
- firstPath = folders[0];
- }
-
- return firstPath;
+ return CollectionManager::instance()->primaryCollection()->location()->actualLocation();
}
bool DbusCollectionHandler::moveFile( const QString &oldURL, const QString &newURL, bool overwrite )
{
--- trunk/extragear/multimedia/amarok/src/dbus/amarokdbushandler.h #815020:815021
@@ -183,7 +183,7 @@
virtual int totalGenres();
virtual int totalTracks();
virtual bool isDirInCollection( const QString &path );
- virtual QString mainCollectionPath();
+ virtual QStringList collectionLocation();
virtual bool moveFile( const QString &oldURL, const QString &newURL, bool overwrite );
virtual QStringList query(const QString& sql);
virtual QStringList similarArtists( int artists );
--- trunk/extragear/multimedia/amarok/src/dbus/org.kde.amarok.collection.xml #815020:815021
@@ -56,8 +56,8 @@
<arg name="url" type="s" direction="in"/>
<arg name="oldLabel" type="as" direction="in"/>
</method>
- <method name="mainCollectionPath" >
- <arg type="s" direction="out"/>
+ <method name="collectionLocation" >
+ <arg type="as" direction="out"/>
</method>
</interface>
</node>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic