[banshee] [Nereid] Make ctrl-f and / work on all search entries
- From: Gabriel Burt <gburt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee] [Nereid] Make ctrl-f and / work on all search entries
- Date: Thu, 15 Jul 2010 01:36:30 +0000 (UTC)
commit 16e66c6894b78e531e2d055e32bf1b15ef793e7c
Author: Gabriel Burt <gabriel burt gmail com>
Date: Wed Jul 14 18:35:15 2010 -0700
[Nereid] Make ctrl-f and / work on all search entries
Previously they didn't work for Internet Archive, Amazon MP3 Store, and
Miro Guide.
src/Clients/Nereid/Nereid/PlayerInterface.cs | 7 +++++--
.../Banshee.WebSource/WebSource.cs | 6 ++++--
.../Banshee.AmazonMp3.Store/StoreSource.cs | 2 +-
.../Banshee.InternetArchive/HeaderFilters.cs | 2 ++
.../Banshee.InternetArchive/HomeView.cs | 4 +++-
.../Banshee.MiroGuide/MiroGuideSource.cs | 2 +-
6 files changed, 16 insertions(+), 7 deletions(-)
---
diff --git a/src/Clients/Nereid/Nereid/PlayerInterface.cs b/src/Clients/Nereid/Nereid/PlayerInterface.cs
index 31bb762..fae8e49 100644
--- a/src/Clients/Nereid/Nereid/PlayerInterface.cs
+++ b/src/Clients/Nereid/Nereid/PlayerInterface.cs
@@ -666,8 +666,11 @@ namespace Nereid
break;
}
- if (focus_search && view_container.SearchEntry.Visible && !view_container.SearchEntry.HasFocus && !source_view.EditingRow) {
- view_container.SearchEntry.HasFocus = true;
+ // The source might have its own custom search entry - use it if so
+ var src = ServiceManager.SourceManager.ActiveSource;
+ var search_entry = src.Properties.Get<SearchEntry> ("Nereid.SearchEntry") ?? view_container.SearchEntry;
+ if (focus_search && search_entry.Visible && !search_entry.HasFocus && !source_view.EditingRow) {
+ search_entry.HasFocus = true;
return true;
}
diff --git a/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebSource.cs b/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebSource.cs
index 7859944..481f5f8 100644
--- a/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebSource.cs
+++ b/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebSource.cs
@@ -48,14 +48,16 @@ namespace Banshee.WebSource
public override void Activate ()
{
if (source_contents == null) {
+ var shell = GetWidget ();
Properties.Set<ISourceContents> ("Nereid.SourceContents",
- source_contents = new WebSourceContents (this, GetWidget ()));
+ source_contents = new WebSourceContents (this, shell));
+ Properties.Set<Banshee.Widgets.SearchEntry> ("Nereid.SearchEntry", shell.SearchEntry);
}
base.Activate ();
}
- protected abstract Gtk.Widget GetWidget ();
+ protected abstract WebBrowserShell GetWidget ();
public override int Count {
get { return 0; }
diff --git a/src/Extensions/Banshee.AmazonMp3.Store/Banshee.AmazonMp3.Store/StoreSource.cs b/src/Extensions/Banshee.AmazonMp3.Store/Banshee.AmazonMp3.Store/StoreSource.cs
index d91f478..2aa3f24 100644
--- a/src/Extensions/Banshee.AmazonMp3.Store/Banshee.AmazonMp3.Store/StoreSource.cs
+++ b/src/Extensions/Banshee.AmazonMp3.Store/Banshee.AmazonMp3.Store/StoreSource.cs
@@ -38,7 +38,7 @@ namespace Banshee.AmazonMp3.Store
Properties.SetString ("Icon.Name", "amazon-mp3-store-source");
}
- protected override Gtk.Widget GetWidget ()
+ protected override Banshee.WebSource.WebBrowserShell GetWidget ()
{
return new StoreWebBrowserShell (new StoreView ());
}
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HeaderFilters.cs b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HeaderFilters.cs
index 593268a..a096ca2 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HeaderFilters.cs
+++ b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HeaderFilters.cs
@@ -118,6 +118,8 @@ namespace Banshee.InternetArchive
EmptyMessage = String.Format (Catalog.GetString ("Optional Query"))
};
+ source.Properties.Set<Banshee.Widgets.SearchEntry> ("Nereid.SearchEntry", entry);
+
entry.Activated += (o, a) => { search_button.Activate (); };
// Add 'filter' items
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HomeView.cs b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HomeView.cs
index 43fdfff..a2edaa9 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HomeView.cs
+++ b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HomeView.cs
@@ -95,11 +95,13 @@ namespace Banshee.InternetArchive
// Search entry/button
var search_box = new HBox () { Spacing = 6, BorderWidth = 4 };
- var entry = new Banshee.Widgets.SearchEntry () {
+ var entry = new SearchEntry () {
Visible = true,
EmptyMessage = String.Format (Catalog.GetString ("Search..."))
};
+ source.Properties.Set<SearchEntry> ("Nereid.SearchEntry", entry);
+
// Make the search entry text nice and big
var font = entry.InnerEntry.Style.FontDescription.Copy ();
font.Size = (int) (font.Size * Pango.Scale.XLarge);
diff --git a/src/Extensions/Banshee.MiroGuide/Banshee.MiroGuide/MiroGuideSource.cs b/src/Extensions/Banshee.MiroGuide/Banshee.MiroGuide/MiroGuideSource.cs
index 1c60e08..284dcaf 100644
--- a/src/Extensions/Banshee.MiroGuide/Banshee.MiroGuide/MiroGuideSource.cs
+++ b/src/Extensions/Banshee.MiroGuide/Banshee.MiroGuide/MiroGuideSource.cs
@@ -49,7 +49,7 @@ namespace Banshee.MiroGuide
Properties.SetString ("Icon.Name", "miro-guide-source");
}
- protected override Gtk.Widget GetWidget ()
+ protected override Banshee.WebSource.WebBrowserShell GetWidget ()
{
return new Banshee.WebSource.WebBrowserShell (Name, new MiroGuideView ());
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]