[banshee] [FileSystemQueue] Delete from drive command (bgo#609100)
- From: Alexander Kojevnikov <alexk src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] [FileSystemQueue] Delete from drive command (bgo#609100)
- Date: Sun, 7 Feb 2010 09:31:04 +0000 (UTC)
commit 0bbb4145f506f32e3446f54c4107fefb2444aa74
Author: Andrés G. Aragoneses <knocte gmail com>
Date: Sun Feb 7 20:29:26 2010 +1100
[FileSystemQueue] Delete from drive command (bgo#609100)
Signed-off-by: Alexander Kojevnikov <alexander kojevnikov com>
.../Banshee.Library/LibrarySource.cs | 11 -----------
.../Banshee.Sources/PrimarySource.cs | 11 ++++++++++-
.../Banshee.Gui/TrackActions.cs | 4 +++-
.../FileSystemQueueSource.cs | 7 ++-----
4 files changed, 15 insertions(+), 18 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs b/src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs
index c55ea11..c09382c 100644
--- a/src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs
+++ b/src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs
@@ -118,17 +118,6 @@ namespace Banshee.Library
Banshee.IO.File.Copy (track.Uri, uri, false);
}*/
- protected override bool DeleteTrack (DatabaseTrackInfo track)
- {
- try {
- Banshee.IO.Utilities.DeleteFileTrimmingParentDirectories (track.Uri);
- } catch (System.IO.FileNotFoundException) {
- } catch (System.IO.DirectoryNotFoundException) {
- }
-
- return true;
- }
-
protected override void AddTrack (DatabaseTrackInfo track)
{
// Ignore if already have it
diff --git a/src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs b/src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs
index 1dc248c..59a6266 100644
--- a/src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs
+++ b/src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs
@@ -545,7 +545,16 @@ namespace Banshee.Sources
protected virtual bool DeleteTrack (DatabaseTrackInfo track)
{
- throw new Exception ("PrimarySource DeleteTrack method not implemented");
+ if (!track.Uri.IsLocalPath)
+ throw new Exception ("Cannot delete a non-local resource: " + track.Uri.Scheme);
+
+ try {
+ Banshee.IO.Utilities.DeleteFileTrimmingParentDirectories (track.Uri);
+ } catch (System.IO.FileNotFoundException) {
+ } catch (System.IO.DirectoryNotFoundException) {
+ }
+
+ return true;
}
public override bool AcceptsInputFromSource (Source source)
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
index 775f0d4..fde8ee8 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
@@ -237,7 +237,9 @@ namespace Banshee.Gui
UpdateAction ("AddToPlaylistAction", in_database && primary_source != null &&
primary_source.SupportsPlaylists && !primary_source.PlaylistsReadOnly, has_selection, null);
- if (primary_source != null && !(primary_source is LibrarySource)) {
+ if (primary_source != null &&
+ !(primary_source is LibrarySource) &&
+ primary_source.StorageName != null) {
this["DeleteTracksFromDriveAction"].Label = String.Format (
Catalog.GetString ("_Delete From \"{0}\""), primary_source.StorageName);
}
diff --git a/src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs b/src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs
index 4f2084d..a5e799c 100644
--- a/src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs
+++ b/src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs
@@ -106,6 +106,8 @@ namespace Banshee.FileSystemQueue
Enqueue (Path.GetFullPath (path));
}
}
+
+ StorageName = null;
}
public void Enqueue (string path)
@@ -198,11 +200,6 @@ namespace Banshee.FileSystemQueue
}
}
- // until we implement DeleteTrack, at least
- public override bool CanDeleteTracks {
- get { return false; }
- }
-
public override void Dispose ()
{
ServiceManager.Get<DBusCommandService> ().ArgumentPushed -= OnCommandLineArgument;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]