banshee r3078 - in trunk/banshee: . src/Core/Banshee.ThickClient/Resources src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue src/Extensions/Banshee.PlayQueue/Resources
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3078 - in trunk/banshee: . src/Core/Banshee.ThickClient/Resources src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue src/Extensions/Banshee.PlayQueue/Resources
- Date: Tue, 29 Jan 2008 03:42:10 +0000 (GMT)
Author: abock
Date: Tue Jan 29 03:42:09 2008
New Revision: 3078
URL: http://svn.gnome.org/viewvc/banshee?rev=3078&view=rev
Log:
2008-01-28 Aaron Bockover <abock gnome org>
* src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
Implemented a clear queue action and set visibility and sensitivity of
the queue actions properly
* src/Extensions/Banshee.PlayQueue/Resources/Actions.xml: Added actions
* src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
Added some more placeholders
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Actions.xml
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 Tue Jan 29 03:42:09 2008
@@ -5,6 +5,7 @@
<toolitem action="NextAction" />
<placeholder name="SeekSlider" />
<placeholder name="TrackInfoDisplay" />
+ <placeholder name="SourceActions" />
<placeholder name="VolumeButton" />
</toolbar>
Modified: trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs (original)
+++ trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs Tue Jan 29 03:42:09 2008
@@ -70,10 +70,21 @@
uia_service.UIManager.AddUiFromResource ("Actions.xml");
uia_service.TrackActions.Add (new ActionEntry [] {
new ActionEntry ("AddToPlayQueueAction", Stock.Add,
- Catalog.GetString ("Add _to Play Queue"), null,
+ Catalog.GetString ("Add to Play Queue"), null,
Catalog.GetString ("Append selected songs to the play queue"),
OnAddToPlayQueue)
});
+
+ uia_service.GlobalActions.Add (new ActionEntry [] {
+ new ActionEntry ("ClearPlayQueueAction", Stock.Clear,
+ Catalog.GetString ("Clear Play Queue"), null,
+ Catalog.GetString ("Remove all tracks from the play queue"),
+ OnClearPlayQueue)
+ });
+
+ UpdateActions ();
+
+ ServiceManager.SourceManager.ActiveSourceChanged += delegate { UpdateActions (); };
}
private void BindToDatabase ()
@@ -93,6 +104,12 @@
}
}
+ protected override void OnUpdated ()
+ {
+ UpdateActions ();
+ base.OnUpdated ();
+ }
+
private void OnCanonicalPlaybackControllerTransition (object o, EventArgs args)
{
if (Count > 0) {
@@ -112,6 +129,33 @@
AddSelectedTracks (ServiceManager.Get<InterfaceActionService> ().TrackActions.TrackSelector.TrackModel);
}
+ private void OnClearPlayQueue (object o, EventArgs args)
+ {
+ RemoveTrackRange ((TrackListDatabaseModel)TrackModel, new Hyena.Collections.RangeCollection.Range (0, Count));
+ Reload ();
+ }
+
+ private void UpdateActions ()
+ {
+ InterfaceActionService uia_service = ServiceManager.Get <InterfaceActionService> ();
+ if (uia_service == null) {
+ return;
+ }
+
+ Source source = ServiceManager.SourceManager.ActiveSource;
+
+ Action clear_action = uia_service.GlobalActions["ClearPlayQueueAction"];
+ if (clear_action != null) {
+ clear_action.Visible = ServiceManager.SourceManager.ActiveSource == this;
+ clear_action.Sensitive = Count > 0;
+ }
+
+ Action add_to_queue_action = uia_service.TrackActions["AddToPlayQueueAction"];
+ if (add_to_queue_action != null) {
+ add_to_queue_action.Visible = ServiceManager.SourceManager.ActiveSource != this;
+ }
+ }
+
void IBasicPlaybackController.First ()
{
}
Modified: trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Actions.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Actions.xml (original)
+++ trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Actions.xml Tue Jan 29 03:42:09 2008
@@ -1,4 +1,9 @@
<ui>
+ <toolbar name="HeaderToolbar">
+ <placeholder name="SourceActions">
+ <toolitem action="ClearPlayQueueAction" />
+ </placeholder>
+ </toolbar>
<popup name="TrackContextMenu" action="TrackContextMenuAction">
<placeholder name="AboveAddToPlaylist">
<menuitem name="AddToPlayQueue" action="AddToPlayQueueAction"></menuitem>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]