banshee r4583 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.Query src/Core/Banshee.Services/Banshee.Sources src/Core/Banshee.ThickClient/Banshee.Gui src/Core/Banshee.ThickClient/Resources src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r4583 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.Query src/Core/Banshee.Services/Banshee.Sources src/Core/Banshee.ThickClient/Banshee.Gui src/Core/Banshee.ThickClient/Resources src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio
- Date: Mon, 22 Sep 2008 19:14:19 +0000 (UTC)
Author: abock
Date: Mon Sep 22 19:14:19 2008
New Revision: 4583
URL: http://svn.gnome.org/viewvc/banshee?rev=4583&view=rev
Log:
2008-09-22 Aaron Bockover <abock gnome org>
* src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
Disable viewing read only properties
* src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
* src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
Support read only and editable property items
* src/Core/Banshee.Services/Banshee.Sources/Source.cs: Added
HasViewableTrackProperties and HasEditableTrackProperties items, defaulting
to false
* src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Override
the new properties above to be true
* src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Renamed
Title to Name
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
trunk/banshee/src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs Mon Sep 22 19:14:19 2008
@@ -63,7 +63,7 @@
CreateQueryOrder ("Album", asc, Catalog.GetString ("Album"), AlbumField),
CreateQueryOrder ("Artist", asc, Catalog.GetString ("Artist"), ArtistField),
// Translators: noun
- CreateQueryOrder ("Title", asc, Catalog.GetString ("Title"), TitleField),
+ CreateQueryOrder ("Title", asc, Catalog.GetString ("Name"), TitleField),
CreateQueryOrder ("Genre", asc, Catalog.GetString ("Genre"), GenreField),
null,
CreateQueryOrder ("Rating", desc, Catalog.GetString ("Highest Rating"), RatingField),
@@ -168,7 +168,7 @@
public static QueryField TitleField = new QueryField (
"title", "TrackTitle",
- Catalog.GetString ("Title"), "CoreTracks.TitleLowered", true,
+ Catalog.GetString ("Name"), "CoreTracks.TitleLowered", true,
// Translators: These are unique search fields. Please, no spaces. Blank ok.
Catalog.GetString ("title"), Catalog.GetString ("titled"), Catalog.GetString ("name"), Catalog.GetString ("named"),
"title", "titled", "name", "named"
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs Mon Sep 22 19:14:19 2008
@@ -276,6 +276,14 @@
{
return CanAddTracks && source != this;
}
+
+ public override bool HasViewableTrackProperties {
+ get { return true; }
+ }
+
+ public override bool HasEditableTrackProperties {
+ get { return true; }
+ }
#endregion
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs Mon Sep 22 19:14:19 2008
@@ -485,6 +485,14 @@
public virtual bool HasProperties {
get { return false; }
}
+
+ public virtual bool HasViewableTrackProperties {
+ get { return false; }
+ }
+
+ public virtual bool HasEditableTrackProperties {
+ get { return false; }
+ }
public virtual string Name {
get { return properties.Get<string> ("Name"); }
Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs (original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs Mon Sep 22 19:14:19 2008
@@ -70,10 +70,14 @@
new ActionEntry("SelectNoneAction", null,
Catalog.GetString("Select _None"), "<control><shift>A",
Catalog.GetString("Unselect all tracks"), OnSelectNone),
-
- new ActionEntry ("TrackPropertiesAction", Stock.Edit,
+
+ new ActionEntry ("TrackEditorAction", Stock.Edit,
Catalog.GetString ("_Edit Track Information"), "E",
- Catalog.GetString ("Edit information on selected tracks"), OnTrackProperties),
+ Catalog.GetString ("Edit information on selected tracks"), OnTrackEditor),
+
+ new ActionEntry ("TrackPropertiesAction", Stock.Properties,
+ Catalog.GetString ("Properties"), null,
+ Catalog.GetString ("View information on selected tracks"), OnTrackProperties),
new ActionEntry ("AddToPlaylistAction", null,
Catalog.GetString ("Add _to Playlist"), null,
@@ -225,7 +229,8 @@
UpdateAction ("DeleteTracksFromDriveAction", is_track_source && track_source.CanDeleteTracks, has_selection, source);
UpdateAction ("RemoveTracksFromLibraryAction", source.Parent is LibrarySource, has_selection, null);
- UpdateAction ("TrackPropertiesAction", in_database, has_selection, source);
+ UpdateAction ("TrackPropertiesAction", in_database && source.HasViewableTrackProperties, has_selection, source);
+ UpdateAction ("TrackEditorAction", in_database && source.HasEditableTrackProperties, has_selection, source);
UpdateAction ("RateTracksAction", in_database, has_selection, null);
UpdateAction ("AddToPlaylistAction", in_database && primary_source != null &&
primary_source.SupportsPlaylists && !primary_source.PlaylistsReadOnly, has_selection, null);
@@ -276,19 +281,32 @@
ShowContextMenu ("/TrackContextMenu");
}
+ private bool RunSourceOverrideHandler (string sourceOverrideHandler)
+ {
+ Source source = current_source as Source;
+ InvokeHandler handler = source != null
+ ? source.GetInheritedProperty<InvokeHandler> (sourceOverrideHandler)
+ : null;
+
+ if (handler != null) {
+ handler ();
+ return true;
+ }
+
+ return false;
+ }
+
private void OnTrackProperties (object o, EventArgs args)
{
- if (current_source != null) {
- Source source = current_source as Source;
- InvokeHandler handler = source != null
- ? source.GetInheritedProperty<InvokeHandler> ("TrackPropertiesActionHandler")
- : null;
-
- if (handler != null) {
- handler ();
- } else {
- Banshee.Gui.TrackEditor.TrackEditorDialog.RunEdit (current_source.TrackModel);
- }
+ if (current_source != null && !RunSourceOverrideHandler ("TrackPropertiesActionHandler")) {
+ Banshee.Gui.TrackEditor.TrackEditorDialog.RunView (current_source.TrackModel);
+ }
+ }
+
+ private void OnTrackEditor (object o, EventArgs args)
+ {
+ if (current_source != null && !RunSourceOverrideHandler ("TrackEditorActionHandler")) {
+ Banshee.Gui.TrackEditor.TrackEditorDialog.RunEdit (current_source.TrackModel);
}
}
Modified: trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml (original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml Mon Sep 22 19:14:19 2008
@@ -35,7 +35,7 @@
<placeholder name="AboveAddToPlaylist"/>
<menu name="AddToPlaylist" action="AddToPlaylistAction"></menu>
<placeholder name="BelowAddToPlaylist"/>
- <menuitem name="TrackProperties" action="TrackPropertiesAction"/>
+ <menuitem name="TrackEditor" action="TrackEditorAction"/>
<separator/>
<menuitem name="SelectAll" action="SelectAllAction"/>
<menuitem name="SelectNone" action="SelectNoneAction"/>
@@ -49,6 +49,7 @@
<menuitem name="ExportPlaylist" action="ExportPlaylistAction"/>
<menuitem name="SourceProperties" action="SourcePropertiesAction"/>
<menuitem name="UnmapSource" action="UnmapSourceAction"/>
+ <menuitem name="TrackProperties" action="TrackPropertiesAction"/>
<separator/>
<menuitem name="Preferences" action="PreferencesAction"/>
<menuitem name="Extensions" action="ExtensionsAction"/>
@@ -166,6 +167,7 @@
<menuitem name="JumpToPlayingTrack" action="JumpToPlayingTrackAction"/>
<separator/>
<menuitem name="TrackProperties" action="TrackPropertiesAction"/>
+ <menuitem name="TrackEditor" action="TrackEditorAction"/>
</popup>
</ui>
Modified: trunk/banshee/src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs (original)
+++ trunk/banshee/src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs Mon Sep 22 19:14:19 2008
@@ -76,8 +76,8 @@
Properties.Set<bool> ("Nereid.SourceContentsPropagate", true);
Properties.Set<ISourceContents> ("Nereid.SourceContents", source_contents);
- Properties.SetString ("TrackPropertiesActionLabel", Catalog.GetString ("Edit Station"));
- Properties.Set<InvokeHandler> ("TrackPropertiesActionHandler", delegate {
+ Properties.SetString ("TrackEditorActionLabel", Catalog.GetString ("Edit Station"));
+ Properties.Set<InvokeHandler> ("TrackEditorActionHandler", delegate {
ITrackModelSource active_track_model_source =
(ITrackModelSource) ServiceManager.SourceManager.ActiveSource;
@@ -265,5 +265,9 @@
protected override bool HasArtistAlbum {
get { return false; }
}
+
+ public override bool HasViewableTrackProperties {
+ get { return false; }
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]