Beagle Panel Applet

Hi - 
Here's the panel applet I've written for beagle. 
Some problems/issues right now - 
     -  I can't get the "Search" button to grab focus, so hitting Enter
	doesn't start the search. You have to click on it with the 
	mouse button.
     -  You can only launch one instance of the applet at a time 
	(i think this is a panelapplet# thing, but I'm not definite)
     -  Gtk.Layout.HTML doesn't report its height correctly (not
	sure if this is a Gtk# or a general bug, I'll check bugzilla
	later), so the drop down widget isn't resizing correctly. I've
	added in a scrollbar to fix this in the short term, but its not
	the ideal solution
     -  I have no idea how copyrights apply to this code (some code in 
	beagle-query-applet.cs is from the gnome-clock panel applet,
	ported to C#)
     -  I'd like to eliminate / shrink the type bar that appears above
	hits. It takes up way too much room (especially for gaim logs).
     -  Hits that render themselves with a lot of text expand
	horizontally outside of the results window
     -  The behavior of the search button is a bit non-intuitive - 
	clicking on it if you haven't changed the search text hides or
	shows the results window. Probably should have a show/hide icon
	in the button to fix that.

Those are the known bugs (emphasis on known).
I've attached a patch to TileHitCollection.cs to make maxDisplayed (the
number of hits displayed) modifiable with set/get. This way I can render
only one hit per category.

To use the applet, run make in the panel-search directory in the tar.gz
file, then copy GNOME_BeagleQueryApplet.server to wherever bonobo server
files are stored (on redhat its /usr/lib/bonobo/servers/).
To run it, just run ./beagle-query-applet-sharp and add the applet to
the panel in the normal way.

I'd love to hear any comments / suggestions etc. (this is entirely a
work in progress)

-- Matt Jones
Index: Tiles/TileHitCollection.cs
RCS file: /cvs/gnome/beagle/Tiles/TileHitCollection.cs,v
retrieving revision 1.9
diff -u -r1.9 TileHitCollection.cs
--- Tiles/TileHitCollection.cs	28 Jun 2004 10:01:44 -0000	1.9
+++ Tiles/TileHitCollection.cs	30 Jul 2004 04:36:08 -0000
@@ -77,6 +77,16 @@
 		private ArrayList hits = new ArrayList ();
 		int firstDisplayed = 0;
 		int maxDisplayed = 10;
+		public int MaxDisplayed {
+			get { return maxDisplayed; }
+			set {
+				if ( value < 0 )
+					maxDisplayed = 0;
+				else
+					maxDisplayed = value;
+			}
+		}
 		public float MaxScore {
 			get {

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