banshee r3128 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.Playlist src/Core/Banshee.ThickClient/Banshee.Gui src/Core/Hyena.Gui/Hyena.Data.Gui src/Core/Nereid/Nereid



Author: gburt
Date: Fri Feb  1 02:28:58 2008
New Revision: 3128
URL: http://svn.gnome.org/viewvc/banshee?rev=3128&view=rev

Log:
2008-01-31  Gabriel Burt  <gabriel burt gmail com>

	This commits adds j, k, Home, and End key support for scrolling list
	views.  Also fixes issue with not fading newly created playlist.

	* src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
	Add public UserNotifyUpdated method so extensions etc can use it.

	* src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
	* src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Call
	UserNotifyUpdated in the action handler when creating a playlist.

	* src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Add j and k as key
	bindings for down/up respectively.  Add Home/End key support.  Handle all
	relevant key pad keys.

	* src/Core/Nereid/Nereid/PlayerInterface.cs: Don't have j or J focus the
	search any more, it's now used for scrolling the ListViews.


Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
   trunk/banshee/src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs
   trunk/banshee/src/Core/Nereid/Nereid/PlayerInterface.cs

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs	Fri Feb  1 02:28:58 2008
@@ -105,6 +105,11 @@
                 Update ();
         }
 
+        public void UserNotifyUpdated ()
+        {
+            OnUserNotifyUpdated ();
+        }
+
         protected abstract void Create ();
         protected abstract void Update ();
     }

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs	Fri Feb  1 02:28:58 2008
@@ -137,8 +137,6 @@
                     VALUES (NULL, ?, ?, ?)",
                 Name, -1, 1 //SortColumn, SortType
             ));
-            
-            OnUserNotifyUpdated ();
         }
 
 #endregion

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs	Fri Feb  1 02:28:58 2008
@@ -114,6 +114,7 @@
             PlaylistSource playlist = new PlaylistSource ("New Playlist");
             playlist.Save ();
             ServiceManager.SourceManager.DefaultSource.AddChildSource (playlist);
+            playlist.UserNotifyUpdated ();
 
             // TODO should begin editing the name after making it, but this changed
             // the ActiveSource to the new playlist and we don't want that.

Modified: trunk/banshee/src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs
==============================================================================
--- trunk/banshee/src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs	(original)
+++ trunk/banshee/src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs	Fri Feb  1 02:28:58 2008
@@ -493,28 +493,48 @@
                         handled = true;
                     }
                     break;
+
                 case Gdk.Key.A:
                     if ((press.State & Gdk.ModifierType.ControlMask) != 0) {
                         SelectionProxy.Selection.Clear ();
                         handled = true;
                     }
                     break;
+
+                case Gdk.Key.k:
+                case Gdk.Key.K:
                 case Gdk.Key.Up:
+                case Gdk.Key.KP_Up:
                     handled = KeyboardScroll (press.State, -1, true);
                     break;
 
+                case Gdk.Key.j:
+                case Gdk.Key.J:
                 case Gdk.Key.Down:
+                case Gdk.Key.KP_Down:
                     handled = KeyboardScroll (press.State, 1, true);
                     break;
 
                 case Gdk.Key.Page_Up:
+                case Gdk.Key.KP_Page_Up:
                     handled = KeyboardScroll (press.State, (int) (-vadjustment.PageIncrement / (double) RowHeight), false);
                     break;
 
                 case Gdk.Key.Page_Down:
+                case Gdk.Key.KP_Page_Down:
                     handled = KeyboardScroll (press.State, (int) (vadjustment.PageIncrement / (double) RowHeight), false);
                     break;
 
+                case Gdk.Key.Home:
+                case Gdk.Key.KP_Home:
+                    handled = KeyboardScroll (press.State, -10000000, false);
+                    break;
+
+                case Gdk.Key.End:
+                case Gdk.Key.KP_End:
+                    handled = KeyboardScroll (press.State, 10000000, false);
+                    break;
+
                 case Gdk.Key.Return:
                 case Gdk.Key.KP_Enter:
                 case Gdk.Key.space:

Modified: trunk/banshee/src/Core/Nereid/Nereid/PlayerInterface.cs
==============================================================================
--- trunk/banshee/src/Core/Nereid/Nereid/PlayerInterface.cs	(original)
+++ trunk/banshee/src/Core/Nereid/Nereid/PlayerInterface.cs	Fri Feb  1 02:28:58 2008
@@ -469,7 +469,7 @@
                         focus_search = true;
                     }
                     break;
-                case Gdk.Key.J:  case Gdk.Key.j: 
+
                 case Gdk.Key.S:  case Gdk.Key.s:
                 case Gdk.Key.F3: case Gdk.Key.slash:
                     focus_search = true;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]