banshee r4045 - in trunk/banshee: . libbanshee src/Clients/Nereid/Nereid src/Core/Banshee.Widgets/Banshee.Widgets
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r4045 - in trunk/banshee: . libbanshee src/Clients/Nereid/Nereid src/Core/Banshee.Widgets/Banshee.Widgets
- Date: Fri, 30 May 2008 23:13:52 +0000 (UTC)
Author: abock
Date: Fri May 30 23:13:52 2008
New Revision: 4045
URL: http://svn.gnome.org/viewvc/banshee?rev=4045&view=rev
Log:
2008-05-30 Aaron Bockover <abock gnome org>
* src/Clients/Nereid/Nereid/ViewContainer.cs:
* src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Make the
filter menu work by inserting a query part when items are selected
* libbanshee/banshee-player-pipeline.c: Disabled the equalizer yet again
because the element is still too buggy in GStreamer causing static
Modified:
trunk/banshee/ChangeLog
trunk/banshee/libbanshee/banshee-player-pipeline.c
trunk/banshee/src/Clients/Nereid/Nereid/ViewContainer.cs
trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs
Modified: trunk/banshee/libbanshee/banshee-player-pipeline.c
==============================================================================
--- trunk/banshee/libbanshee/banshee-player-pipeline.c (original)
+++ trunk/banshee/libbanshee/banshee-player-pipeline.c Fri May 30 23:13:52 2008
@@ -174,9 +174,9 @@
GstPad *teepad;
GstElement *audiosink;
GstElement *audiosinkqueue;
- GstElement *audioconvert, *audioconvert2;
- GstElement *capsfilter = NULL;
- gboolean buggy_eq = FALSE;
+ //GstElement *audioconvert, *audioconvert2;
+ //GstElement *capsfilter = NULL;
+ //gboolean buggy_eq = FALSE;
g_return_val_if_fail (IS_BANSHEE_PLAYER (player), FALSE);
@@ -213,7 +213,7 @@
audiosinkqueue = gst_element_factory_make ("queue", "audiosinkqueue");
g_return_val_if_fail (audiosinkqueue != NULL, FALSE);
- audioconvert = gst_element_factory_make ("audioconvert", "audioconvert");
+ /*audioconvert = gst_element_factory_make ("audioconvert", "audioconvert");
audioconvert2 = gst_element_factory_make ("audioconvert", "audioconvert2");
player->equalizer = gst_element_factory_make ("equalizer-10bands", "equalizer-10bands");
player->preamp = gst_element_factory_make ("volume", "preamp");
@@ -232,12 +232,12 @@
g_object_set (capsfilter, "caps", caps, NULL);
gst_caps_unref (caps);
}
- }
+ }*/
// Add elements to custom audio sink
gst_bin_add (GST_BIN (player->audiobin), player->audiotee);
- if (player->equalizer != NULL) {
+ /*if (player->equalizer != NULL) {
gst_bin_add (GST_BIN (player->audiobin), audioconvert);
gst_bin_add (GST_BIN (player->audiobin), audioconvert2);
@@ -252,7 +252,7 @@
player->preamp = NULL;
g_object_unref (audioconvert);
g_object_unref (audioconvert2);
- }
+ }*/
gst_bin_add (GST_BIN (player->audiobin), audiosinkqueue);
gst_bin_add (GST_BIN (player->audiobin), audiosink);
@@ -267,7 +267,7 @@
gst_element_get_pad (audiosinkqueue, "sink"));
// Link the queue and the actual audio sink
- if (player->equalizer != NULL) {
+ /*if (player->equalizer != NULL) {
// link in equalizer, preamp and audioconvert.
if (buggy_eq) {
gst_element_link_many (audiosinkqueue, audioconvert, player->preamp,
@@ -276,10 +276,10 @@
gst_element_link_many (audiosinkqueue, audioconvert, capsfilter,
player->preamp, player->equalizer, audioconvert2, audiosink, NULL);
}
- } else {
+ } else {*/
// link the queue with the real audio sink
gst_element_link (audiosinkqueue, audiosink);
- }
+ //}
// Now that our internal audio sink is constructed, tell playbin to use it
g_object_set (G_OBJECT (player->playbin), "audio-sink", player->audiobin, NULL);
Modified: trunk/banshee/src/Clients/Nereid/Nereid/ViewContainer.cs
==============================================================================
--- trunk/banshee/src/Clients/Nereid/Nereid/ViewContainer.cs (original)
+++ trunk/banshee/src/Clients/Nereid/Nereid/ViewContainer.cs Fri May 30 23:13:52 2008
@@ -27,6 +27,7 @@
//
using System;
+using System.Collections.Generic;
using Gtk;
using Mono.Unix;
@@ -114,18 +115,42 @@
PackEnd (new ConnectedMessageBar (), false, true, 0);
}
+ private struct SearchFilter
+ {
+ public int Id;
+ public string Field;
+ public string Title;
+ }
+
+ private Dictionary<int, SearchFilter> search_filters = new Dictionary<int, SearchFilter> ();
+
+ private void AddSearchFilter (TrackFilterType id, string field, string title)
+ {
+ SearchFilter filter = new SearchFilter ();
+ filter.Id = (int)id;
+ filter.Field = field;
+ filter.Title = title;
+ search_filters.Add (filter.Id, filter);
+ }
+
private void BuildSearchEntry ()
{
+ AddSearchFilter (TrackFilterType.None, String.Empty, Catalog.GetString ("All Columns"));
+ AddSearchFilter (TrackFilterType.SongName, "title", Catalog.GetString ("Track Title"));
+ AddSearchFilter (TrackFilterType.ArtistName, "artist", Catalog.GetString ("Artist Name"));
+ AddSearchFilter (TrackFilterType.AlbumTitle, "album", Catalog.GetString ("Album Title"));
+ AddSearchFilter (TrackFilterType.Genre, "genre", Catalog.GetString ("Genre"));
+ AddSearchFilter (TrackFilterType.Year, "year", Catalog.GetString ("Year"));
+
search_entry = new SearchEntry ();
search_entry.SetSizeRequest (200, -1);
- /*search_entry.AddFilterOption ((int)TrackFilterType.None, Catalog.GetString ("All Columns"));
- search_entry.AddFilterSeparator ();
- search_entry.AddFilterOption ((int)TrackFilterType.SongName, Catalog.GetString ("Song Name"));
- search_entry.AddFilterOption ((int)TrackFilterType.ArtistName, Catalog.GetString ("Artist Name"));
- search_entry.AddFilterOption ((int)TrackFilterType.AlbumTitle, Catalog.GetString ("Album Title"));
- search_entry.AddFilterOption ((int)TrackFilterType.Genre, Catalog.GetString ("Genre"));
- search_entry.AddFilterOption ((int)TrackFilterType.Year, Catalog.GetString ("Year")); */
+ foreach (SearchFilter filter in search_filters.Values) {
+ search_entry.AddFilterOption (filter.Id, filter.Title);
+ if (filter.Id == (int)TrackFilterType.None) {
+ search_entry.AddFilterSeparator ();
+ }
+ }
search_entry.FilterChanged += OnSearchEntryFilterChanged;
search_entry.ActivateFilter ((int)TrackFilterType.None);
@@ -135,8 +160,20 @@
private void OnSearchEntryFilterChanged (object o, EventArgs args)
{
- search_entry.EmptyMessage = String.Format (Catalog.GetString ("Filter on {0}"),
- search_entry.GetLabelForFilterID (search_entry.ActiveFilterID));
+ search_entry.EmptyMessage = String.Format (Catalog.GetString ("Filter Results"));
+ /*search_entry.EmptyMessage = String.Format (Catalog.GetString ("Filter on {0}"),
+ search_entry.GetLabelForFilterID (search_entry.ActiveFilterID));*/
+
+ string query = search_filters.ContainsKey (search_entry.ActiveFilterID)
+ ? search_filters[search_entry.ActiveFilterID].Field
+ : String.Empty;
+
+ search_entry.Query = String.IsNullOrEmpty (query) ? String.Empty : query + ":";
+
+ Editable editable = search_entry.InnerEntry as Editable;
+ if (editable != null) {
+ editable.Position = search_entry.Query.Length;
+ }
}
public void SetFooter (Widget contents)
Modified: trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs (original)
+++ trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs Fri May 30 23:13:52 2008
@@ -384,7 +384,7 @@
get { return entry; }
}
- private class FilterMenuItem : CheckMenuItem
+ private class FilterMenuItem : MenuItem /*CheckMenuItem*/
{
private int id;
private string label;
@@ -393,7 +393,7 @@
{
this.id = id;
this.label = label;
- DrawAsRadio = true;
+ //DrawAsRadio = true;
}
public int ID {
@@ -403,6 +403,23 @@
public string Label {
get { return label; }
}
+
+ // FIXME: Remove when restored to CheckMenuItem
+ private bool active;
+ public bool Active {
+ get { return active; }
+ set { active = value; }
+ }
+
+ public new event EventHandler Toggled;
+ protected override void OnActivated ()
+ {
+ base.OnActivated ();
+ if (Toggled != null) {
+ Toggled (this, EventArgs.Empty);
+ }
+ }
+
}
private class FramelessEntry : Entry
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]