[Banshee-List] patch proposal: searhing lists w/o ? and hotkey remapping



Hello!
I'm new banshee user, just switched from rhythmbox. I've seen banshee before
 and I can say you've done a lot of job in that time.

One thing irritates from the start: searching lists with ? is very
inconvenient to me. Moreover nothing in gnome desktop behaves this
way.

I think there's two things to do:
1) get rid off ?
2) change one-key hotkeys to <control>key or something

I've looked through source code and found that p.1) already there, commented.

I've grepped source and found that hotkeys (+ what I've done):

"PlaySongAction"					 "S"  				-> "<control>S"
"PlayAlbumAction"					 "A"				-> "<control>A"
"AudiobookSwitchToGrid"				"Escape"
"AudiobookEdit"				"E"							-> "<control>E"
"AddToPlayQueueAction"				"q"					-> "<control>q"
"CloseAction"				"<Control>W"
"PodcastAddAction"				"<control><shift>F"
"PodcastItemMarkOldAction"				"y"				-> "<control>y"
"PodcastItemDownloadAction"				"<control><shift>D"
"PodcastItemCancelAction"				"<control><shift>C"
"AudioscrobblerEnableAction"				"control>U"
"CloseAction"				"<Control>W"
"BrowserVisibleAction"				"<control>B"
	lets change to "<control>V"
"BookmarksAddAction"				"<control>D"
"ShowEqualizerAction"				"<control>E"
"FullScreenAction"				"F"						->"<control>F" *
	confilcts with find; lets make "<control><shift>F" and PodcastAddAction to null
"SelectAllAction"				"<control>A"
"SelectNoneAction"				"<control><shift>A"
"TrackEditorAction"				"E"						-> "<control>E" *
	conflicts with ShowEqualizerAction, lets make "<control>K"
"RemoveTracksAction"				"Delete"
"ImportAction"				"<control>I"
"OpenLocationAction"				"<control>L"
"QuitAction"				"<control>Q"
"PlayPauseAction"				"space"					->"<control>space"
"NextAction"				"N"							->"<control>N" *
	conflicts with NewPlaylistAction; lets change NewPlaylistAction
"PreviousAction"				"B"						->"<control>B" *
	conflicts with BrowserVisibleAction lets change BrowserVisibleAction
"SeekToAction"				"T"							->"<control>T"
"JumpToPlayingTrackAction"				"<control>J"
"RestartSongAction"				"R"						->"<control>R"
"StopWhenFinishedAction"				"<Shift>space"
"NewPlaylistAction"				"<control>N"
	lets change to "<control>P"
"RenameSourceAction"				"F2"
"UnmapSourceAction"				"<shift>Delete"
"OpenSourceSwitcher"				"G"					->"<control>G"


Patch attached.


-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
From e582adb8af476661e03dda9c70eb771e9aad894a Mon Sep 17 00:00:00 2001
From: Dmitry Teslenko <dteslenko gmail com>
Date: Sun, 30 May 2010 02:38:43 +0400
Subject: [PATCH] Feature:
 * Searching lists without ?
 * One key hotkeys remapped to two-key hotkeys

---
 src/Clients/Muinshee/Muinshee/MuinsheeActions.cs   |    4 ++--
 .../Banshee.Collection.Gui/SearchableListView.cs   |   15 ++++-----------
 .../Banshee.Gui/PlaybackActions.cs                 |   10 +++++-----
 .../Banshee.Gui/SourceActions.cs                   |    4 ++--
 .../Banshee.Gui/TrackActions.cs                    |    2 +-
 .../Banshee.ThickClient/Banshee.Gui/ViewActions.cs |    2 +-
 .../FilteredListSourceContents.cs                  |    2 +-
 .../Banshee.Audiobook/Banshee.Audiobook/Actions.cs |    2 +-
 .../Banshee.PlayQueue/PlayQueueActions.cs          |    2 +-
 .../Banshee.Podcasting.Gui/PodcastActions.cs       |    4 ++--
 10 files changed, 20 insertions(+), 27 deletions(-)

diff --git a/src/Clients/Muinshee/Muinshee/MuinsheeActions.cs b/src/Clients/Muinshee/Muinshee/MuinsheeActions.cs
index 7b24847..a8981c5 100644
--- a/src/Clients/Muinshee/Muinshee/MuinsheeActions.cs
+++ b/src/Clients/Muinshee/Muinshee/MuinsheeActions.cs
@@ -44,12 +44,12 @@ namespace Muinshee
             AddImportant (
                 new ActionEntry (
                     "PlaySongAction", Stock.Add,
-                     Catalog.GetString ("Play _Song"), "S",
+                     Catalog.GetString ("Play _Song"), "<control>S",
                      Catalog.GetString ("Add a song to the playlist"), OnPlaySong
                 ),
                 new ActionEntry (
                     "PlayAlbumAction", null,
-                     Catalog.GetString ("Play _Album"), "A",
+                     Catalog.GetString ("Play _Album"), "<control>A",
                      Catalog.GetString ("Add an album to the playlist"), OnPlayAlbum
                 )
             );
diff --git a/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/SearchableListView.cs b/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/SearchableListView.cs
index 3acf763..df3f9a4 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/SearchableListView.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/SearchableListView.cs
@@ -153,25 +153,18 @@ namespace Banshee.Collection.Gui
         }
 
 
-        /*private bool IsCharValid (char c)
+        private bool IsCharValid (char c)
         {
             return Char.IsLetterOrDigit (c) ||
                 Char.IsPunctuation (c) ||
                 Char.IsSymbol (c);
-        }*/
+        }
 
         protected override bool OnKeyPressEvent (Gdk.EventKey press)
         {
-            // TODO this pops it up whenever any key is pressed, like a normal TreeView.
-            // But, Banshee has single-char keybindings, so for now at least, require
-            // ? (== shift / on US keyboards, at least) to be pressed.
-            /*char input = Convert.ToChar (Gdk.Keyval.ToUnicode (press.KeyValue));
+            char input = Convert.ToChar (Gdk.Keyval.ToUnicode (press.KeyValue));
             if (!IsCharValid (input) || Model as ISelectable == null) {
                 return base.OnKeyPressEvent (press);
-            }*/
-
-            if (press.Key != Gdk.Key.question) {
-                return base.OnKeyPressEvent (press);
             }
 
             if (search_popup == null) {
@@ -187,7 +180,7 @@ namespace Banshee.Collection.Gui
             search_popup.Position (EventWindow);
             search_popup.HasFocus = true;
             search_popup.Show ();
-            search_popup.Text = String.Format ("{0}{1}", search_popup.Text, "");//input);
+            search_popup.Text = String.Format ("{0}{1}", search_popup.Text, input);
             search_popup.Entry.Position = search_popup.Text.Length;
             return true;
         }
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs
index 6121a09..66e2afc 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs
@@ -63,19 +63,19 @@ namespace Banshee.Gui
 
             Add (new ActionEntry [] {
                 new ActionEntry ("PlayPauseAction", null,
-                    Catalog.GetString ("_Play"), "space",
+                    Catalog.GetString ("_Play"), "<control>space",
                     Catalog.GetString ("Play or pause the current item"), OnPlayPauseAction),
 
                 new ActionEntry ("NextAction", null,
-                    Catalog.GetString ("_Next"), "N",
+                    Catalog.GetString ("_Next"), "<control>N",
                     Catalog.GetString ("Play the next item"), OnNextAction),
 
                 new ActionEntry ("PreviousAction", null,
-                    Catalog.GetString ("Pre_vious"), "B",
+                    Catalog.GetString ("Pre_vious"), "<control>B",
                     Catalog.GetString ("Play the previous item"), OnPreviousAction),
 
                 new ActionEntry ("SeekToAction", null,
-                    Catalog.GetString ("Seek _To..."), "T",
+                    Catalog.GetString ("Seek _To..."), "<control>T",
                     Catalog.GetString ("Seek to a specific location in current item"), OnSeekToAction),
 
                 new ActionEntry ("JumpToPlayingTrackAction", null,
@@ -83,7 +83,7 @@ namespace Banshee.Gui
                     Catalog.GetString ("Jump to the currently playing item"), OnJumpToPlayingTrack),
 
                 new ActionEntry ("RestartSongAction", null,
-                    Catalog.GetString ("_Restart Song"), "R",
+                    Catalog.GetString ("_Restart Song"), "<control>R",
                     Catalog.GetString ("Restart the current item"), OnRestartSongAction)
             });
 
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
index 306f6fd..d8a375d 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
@@ -72,7 +72,7 @@ namespace Banshee.Gui
         {
             Add (new ActionEntry [] {
                 new ActionEntry ("NewPlaylistAction", null,
-                    Catalog.GetString ("_New Playlist"), "<control>N",
+                    Catalog.GetString ("_New Playlist"), "<control>P",
                     Catalog.GetString ("Create a new empty playlist"), OnNewPlaylist),
 
                 new ActionEntry ("NewSmartPlaylistAction", null,
@@ -108,7 +108,7 @@ namespace Banshee.Gui
                     OnSortChildrenMenu),
 
                 new ActionEntry ("OpenSourceSwitcher", null,
-                    Catalog.GetString ("Switch Source"), "G",
+                    Catalog.GetString ("Switch Source"), "<control>G",
                     Catalog.GetString ("Switch to a source by typing its name"),
                     null),
 
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
index 368f6a4..631aeda 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
@@ -75,7 +75,7 @@ namespace Banshee.Gui
                     Catalog.GetString("Unselect all tracks"), OnSelectNone),
 
                 new ActionEntry ("TrackEditorAction", Stock.Edit,
-                    Catalog.GetString ("_Edit Track Information"), "E",
+                    Catalog.GetString ("_Edit Track Information"), "<control>K",
                     Catalog.GetString ("Edit information on selected tracks"), OnTrackEditor),
 
                 new ActionEntry ("TrackPropertiesAction", Stock.Properties,
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs
index 48435db..d0d4438 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs
@@ -77,7 +77,7 @@ namespace Banshee.Gui
 
             AddImportant (new ToggleActionEntry [] {
                 new ToggleActionEntry ("FullScreenAction", "gtk-fullscreen",
-                    Catalog.GetString ("_Fullscreen"), "F",
+                    Catalog.GetString ("_Fullscreen"), "<control><shift>F",
                     Catalog.GetString ("Enter or leave fullscreen mode"), OnFullScreen, false),
             });
 
diff --git a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs
index f4e32d2..3f60b9b 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs
@@ -117,7 +117,7 @@ namespace Banshee.Sources.Gui
 
                     browser_view_actions.Add (new ToggleActionEntry [] {
                         new ToggleActionEntry ("BrowserVisibleAction", null,
-                            Catalog.GetString ("Show Browser"), "<control>B",
+                            Catalog.GetString ("Show Browser"), "<control>V",
                             Catalog.GetString ("Show or hide the artist/album browser"),
                             null, BrowserVisible.Get ())
                     });
diff --git a/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/Actions.cs b/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/Actions.cs
index 57641e9..182e0ee 100644
--- a/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/Actions.cs
+++ b/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/Actions.cs
@@ -56,7 +56,7 @@ namespace Banshee.Audiobook
                 new ActionEntry ("AudiobookMerge", null, Catalog.GetString ("Merge Discs..."), null, null, OnMerge),
                 new ActionEntry ("AudiobookSwitchToGrid", null, "", "Escape", null, (o, a) => library.SwitchToGridView ()),
                 new ActionEntry ("AudiobookEdit", Stock.Edit,
-                    Catalog.GetString ("_Edit Track Information"), "E", null, OnEdit),
+                    Catalog.GetString ("_Edit Track Information"), "<control>E", null, OnEdit),
                 new ActionEntry ("AudiobookResumeSelected", Stock.MediaPlay,
                     Catalog.GetString ("Resume"), null, Catalog.GetString ("Resume playback of this audiobook"), OnResume)
             );
diff --git a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs
index 6ebe4d8..bd16644 100644
--- a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs
+++ b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs
@@ -47,7 +47,7 @@ namespace Banshee.PlayQueue
 
             Add (new ActionEntry [] {
                 new ActionEntry ("AddToPlayQueueAction", Stock.Add,
-                    Catalog.GetString ("Add to Play Queue"), "q",
+                    Catalog.GetString ("Add to Play Queue"), "<control>q",
                     Catalog.GetString ("Append selected songs to the play queue"),
                     OnAddToPlayQueue)
             });
diff --git a/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs b/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs
index 930d1fc..e28814b 100644
--- a/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs
+++ b/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs
@@ -74,7 +74,7 @@ namespace Banshee.Podcasting.Gui
                 ),
                 new ActionEntry (
                     "PodcastAddAction", Stock.Add,
-                     Catalog.GetString ("Subscribe to Podcast..."),"<control><shift>F",
+                     Catalog.GetString ("Subscribe to Podcast..."), null,
                      Catalog.GetString ("Subscribe to a new podcast"),
                      OnPodcastAdd
                 )
@@ -122,7 +122,7 @@ namespace Banshee.Podcasting.Gui
                 ),
                 new ActionEntry (
                     "PodcastItemMarkOldAction", null,
-                     Catalog.GetString ("Mark as Old"), "y", String.Empty,
+                     Catalog.GetString ("Mark as Old"), "<control>y", String.Empty,
                      OnPodcastItemMarkOld
                 ),
                 new ActionEntry (
-- 
1.7.0.4



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