banshee r3814 - in trunk/banshee: . src/Backends/Banshee.GStreamer src/Backends/Banshee.Gnome src/Backends/Banshee.Hal src/Backends/Banshee.Unix src/Core/Banshee.Core src/Core/Banshee.Services src/Core/Banshee.ThickClient src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs src/Core/Banshee.ThickClient/Banshee.Gui.Widgets src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui src/Core/Banshee.ThickClient/Banshee.Preferences.Gui src/Dap/Banshee.Dap src/Dap/Banshee.Dap.MassStorage src/Dap/Banshee.Dap.Mtp src/Extensions/Banshee.AudioCd src/Extensions/Banshee.Bookmarks src/Extensions/Banshee.Lastfm src/Extensions/Banshee.MultimediaKeys/Resources src/Extensions/Banshee.NowPlaying src/Extensions/Banshee.PlayQueue/Resources src/Extensions/Banshee.Podcasting src/Libraries/Hyena.Gui src/Libraries/Hyena.Gui/Hyena.Widgets



Author: abock
Date: Wed Apr 23 22:58:38 2008
New Revision: 3814
URL: http://svn.gnome.org/viewvc/banshee?rev=3814&view=rev

Log:
2008-04-23  Aaron Bockover  <abock gnome org>

    * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs:
    Allow setting the parent/transient for window

    * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinDetailsDialog.cs:
    Added a simple details dialog for an addin

    * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs:
    * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs:
    Better tile UI and added enable/disable and details buttons to the tile;
    actually enable/disable addins when the button is pressed - BE WARNED
    this has not been tested too much yet

    * src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs: Added a Wrap
    property that will allow text to be ellipsized to one line if unset

    * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
    * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs:
    * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
    Updated to use the new WrapLabel

    * src/Libraries/Hyena.Gui/Hyena.Widgets/TextViewLabel.cs: Removed now
    that we have a proper WrapLabel

    * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml:
    * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml:
    * src/Backends/Banshee.Hal/Banshee.Hal.addin.xml:
    * src/Backends/Banshee.Unix/Banshee.Unix.addin.xml:
    * src/Core/Banshee.Core/Banshee.Core.addin.xml:
    * src/Core/Banshee.Services/Banshee.Services.addin.xml:
    * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
    * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml:
    * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml:
    * src/Dap/Banshee.Dap/Banshee.Dap.addin.xml:
    * src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml:
    * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml:
    * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml:
    * src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml:
    * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml:
    * src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml:
    * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml:
    Updated addin metadata



Added:
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinDetailsDialog.cs
Removed:
   trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Widgets/TextViewLabel.cs
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml
   trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml
   trunk/banshee/src/Backends/Banshee.Hal/Banshee.Hal.addin.xml
   trunk/banshee/src/Backends/Banshee.Unix/Banshee.Unix.addin.xml
   trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml
   trunk/banshee/src/Core/Banshee.Services/Banshee.Services.addin.xml
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
   trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
   trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml
   trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml
   trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap.addin.xml
   trunk/banshee/src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml
   trunk/banshee/src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml
   trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml
   trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml
   trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml
   trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml
   trunk/banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml
   trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp
   trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs
   trunk/banshee/src/Libraries/Hyena.Gui/Makefile.am

Modified: trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml
==============================================================================
--- trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml	(original)
+++ trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml	Wed Apr 23 22:58:38 2008
@@ -1,5 +1,13 @@
-<Addin id="Banshee.GStreamer">
-
+<?xml version="1.0" encoding="utf-8"?>
+<Addin 
+    id="Banshee.GStreamer"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    category="required:Backends"
+    description="GStreamer multimedia services including playback, CD ripping, and transcoding."
+    defaultEnabled="true">
+ 
   <Dependencies>
     <Addin id="Banshee.Services" version="1.0" />
   </Dependencies>

Modified: trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml	(original)
+++ trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,11 +4,8 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
-    name="GNOME Providers"
-    category="Platform"
-    description="Backend providers for the GNOME platform. Includes GConf general GNOME integration."
-    author="Aaron Bockover"
-    url="http://banshee-project.org/";
+    category="required:Backends"
+    description="Backend providers for the GNOME platform. Includes GConf support and general GNOME integration."
     defaultEnabled="true">
 
   <Dependencies>

Modified: trunk/banshee/src/Backends/Banshee.Hal/Banshee.Hal.addin.xml
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Hal/Banshee.Hal.addin.xml	(original)
+++ trunk/banshee/src/Backends/Banshee.Hal/Banshee.Hal.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,11 +4,8 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
-    name="HAL Hardware Manager"
-    category="Platform"
+    category="required:Backends"
     description="Provides hardware support through HAL."
-    author="Aaron Bockover"
-    url="http://banshee-project.org/";
     defaultEnabled="true">
 
   <Dependencies>

Modified: trunk/banshee/src/Backends/Banshee.Unix/Banshee.Unix.addin.xml
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Unix/Banshee.Unix.addin.xml	(original)
+++ trunk/banshee/src/Backends/Banshee.Unix/Banshee.Unix.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,11 +4,8 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
-    name=""
-    category=""
-    description=""
-    author=""
-    url="http://banshee-project.org/";
+    category="required:Backends"
+    description="Provides POSIX/UNIX support, including IO."
     defaultEnabled="true">
 
   <Dependencies>

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml	Wed Apr 23 22:58:38 2008
@@ -1,4 +1,14 @@
-<Addin id="Banshee.Core" version="1.0" isroot="true">
+<?xml version="1.0" encoding="utf-8"?>
+<Addin 
+    id="Banshee.Core"
+    isroot="true"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    category="required:Core"
+    description="Provides low level non-GUI utilities."
+    url="http://banshee-project.org/";
+    defaultEnabled="true">
 
   <ExtensionPoint path="/Banshee/Platform/IOProvider">
     <ExtensionNode name="IOProvider"/>

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Services.addin.xml
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Services.addin.xml	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Services.addin.xml	Wed Apr 23 22:58:38 2008
@@ -1,5 +1,14 @@
-<Addin id="Banshee.Services" version="1.0" isroot="true">
-
+<?xml version="1.0" encoding="utf-8"?>
+<Addin 
+    id="Banshee.Services"
+    isroot="true"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    category="required:Core"
+    description="Provides non-GUI utilities and services."
+    defaultEnabled="true">
+    
   <ExtensionPoint path="/Banshee/ServiceManager/Service">
     <ExtensionNode name="Service"/>
   </ExtensionPoint>

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs	Wed Apr 23 22:58:38 2008
@@ -41,16 +41,24 @@
             get { return accel_group; }
         }
         
-        public BansheeDialog (string title) : base ()
+        public BansheeDialog (string title) : this (title, null)
+        {
+        }
+        
+        public BansheeDialog (string title, Window parent) : base ()
         {
             Title = title;
             BorderWidth = 5;
             Visible = false;
             HasSeparator = false;
             
-            GtkElementsService service = ServiceManager.Get<GtkElementsService> ();
-            if (service != null) {
-                TransientFor = service.PrimaryWindow;
+            if (parent == null) {
+                GtkElementsService service = ServiceManager.Get<GtkElementsService> ();
+                if (service != null) {
+                    TransientFor = service.PrimaryWindow;
+                }
+            } else {
+                TransientFor = parent;
             }
             
             WindowPosition = WindowPosition.CenterOnParent;

Added: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinDetailsDialog.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinDetailsDialog.cs	Wed Apr 23 22:58:38 2008
@@ -0,0 +1,96 @@
+//
+// AddinDetailsDialog.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using Mono.Addins;
+using Mono.Addins.Setup;
+using Mono.Addins.Description;
+using Mono.Unix;
+using Gtk;
+
+using Hyena.Widgets;
+using Banshee.Gui.Dialogs;
+
+namespace Banshee.Gui.Widgets
+{
+    public class AddinDetailsDialog : BansheeDialog
+    {
+        public AddinDetailsDialog (Addin addin, Window parent) : base (String.Empty, parent)
+        {
+            SetDefaultSize (400, -1);
+            
+            AddinHeader info = SetupService.GetAddinHeader (addin);
+            
+            HBox box = new HBox ();
+            box.BorderWidth = 10;
+            box.Spacing = 10;
+            VBox.PackStart (box, false, false, 0);
+            
+            Image image = new Image ();
+            image.IconName = "package-x-generic";
+            image.IconSize = (int)IconSize.Dialog;
+            image.Yalign = 0.0f;
+            
+            box.PackStart (image, false, false, 0);
+            
+            StringBuilder builder = new StringBuilder ();
+            
+            builder.AppendFormat ("<b><big>{0}</big></b>\n\n", GLib.Markup.EscapeText (addin.Name));
+            builder.AppendFormat (GLib.Markup.EscapeText (addin.Description.Description)).Append ("\n\n");
+            
+            builder.Append ("<small>");
+            
+            builder.AppendFormat ("<b>{0}</b> {1}\n\n", Catalog.GetString ("Version:"), 
+                GLib.Markup.EscapeText (addin.Description.Version));
+            
+            builder.AppendFormat ("<b>{0}</b> {1}\n\n", Catalog.GetString ("Authors:"), 
+                GLib.Markup.EscapeText (addin.Description.Author));
+            
+            builder.AppendFormat ("<b>{0}</b> {1}\n\n", Catalog.GetString ("Copyright/License:"), 
+                GLib.Markup.EscapeText (addin.Description.Copyright));
+            
+            if (info.Dependencies.Count > 0) {
+                builder.AppendFormat ("<b>{0}</b>\n", Catalog.GetString ("Extension Dependencies:"));
+                foreach (AddinDependency dep in info.Dependencies) {
+                    builder.Append (GLib.Markup.EscapeText (dep.Name)).Append ('\n');
+                }
+            }
+            
+            builder.Append ("</small>");
+            
+            WrapLabel label = new WrapLabel ();
+            label.Markup = builder.ToString ();
+            box.PackStart (label, true, true, 0);
+            
+            VBox.ShowAll ();
+        
+            AddDefaultCloseButton ();
+        }
+    }
+}

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs	Wed Apr 23 22:58:38 2008
@@ -28,7 +28,9 @@
 
 using System;
 using Gtk;
+using Mono.Unix;
 using Mono.Addins;
+using Mono.Addins.Gui;
 
 using Hyena.Widgets;
 
@@ -38,8 +40,22 @@
     {
         private Addin addin;
         private Button activate_button;
+        private Button details_button;
+        private Box button_box;
         
-        public AddinTile (Addin addin) : base (2, 3, false)
+        private Label title;
+        private WrapLabel description;
+        private WrapLabel authors;
+        
+        private bool last;
+        public bool Last {
+            get { return last; }
+            set { last = value; }
+        }
+        
+        public event EventHandler ActiveChanged;
+        
+        public AddinTile (Addin addin) : base (3, 3, false)
         {
             this.addin = addin;
             BuildTile ();
@@ -51,30 +67,67 @@
             RowSpacing = 1;
             ColumnSpacing = 5;
             
-            Label name = new Label ();
-            name.Show ();
-            name.Xalign = 0.0f;
-            name.Markup = String.Format ("<b>{0}</b>", GLib.Markup.EscapeText (addin.Name));
+            Image image = new Image ();
+            image.IconName = "package-x-generic";
+            image.IconSize = (int)IconSize.Dnd;
+            image.Yalign = 0.0f;
+            image.Show ();
+            Attach (image, 0, 1, 0, 3, AttachOptions.Shrink, AttachOptions.Fill | AttachOptions.Expand, 0, 0);
             
-            Attach (name, 1, 3, 0, 1, 
+            title = new Label ();
+            title.Show ();
+            title.Xalign = 0.0f;
+            title.Markup = String.Format ("<b>{0}</b>", GLib.Markup.EscapeText (addin.Name));
+            
+            Attach (title, 1, 3, 0, 1, 
                 AttachOptions.Expand | AttachOptions.Fill, 
                 AttachOptions.Expand | AttachOptions.Fill, 0, 0);
             
-            WrapLabel desc = new WrapLabel ();
-            desc.Show ();
-            desc.Markup = String.Format ("<small>{0}</small>", GLib.Markup.EscapeText (addin.Description.Description));
+            description = new WrapLabel ();
+            description.Show ();
+            description.Text = addin.Description.Description;
+            description.Wrap = false;
             
-            Attach (desc, 1, 2, 1, 2,
+            Attach (description, 1, 3, 1, 2,
                 AttachOptions.Expand | AttachOptions.Fill, 
                 AttachOptions.Expand | AttachOptions.Fill, 0, 0);
                 
+            authors = new WrapLabel ();
+            authors.Markup = String.Format ("<small><b>Authors:</b> <i>{0}</i></small>", 
+                GLib.Markup.EscapeText (addin.Description.Author));
+            
+            Attach (authors, 1, 2, 2, 3,
+                AttachOptions.Expand | AttachOptions.Fill, 
+                AttachOptions.Expand | AttachOptions.Fill,  0, 4);
+            
+            button_box = new VBox ();
             HBox box = new HBox ();
-            box.Show ();
-            activate_button = new Button ("Disable");
-            box.PackEnd (activate_button, false, false, 0);
-            Attach (box, 2, 3, 1, 2, AttachOptions.Shrink, AttachOptions.Expand, 0, 0);
+            box.Spacing = 3;
+            
+            button_box.PackEnd (box, false, false, 0);
+            
+            Pango.FontDescription font = PangoContext.FontDescription.Copy ();
+            font.Size = (int)(font.Size * Pango.Scale.Small);
+            
+            Label label = new Label ("Details");
+            label.ModifyFont (font);
+            details_button = new Button ();
+            details_button.Add (label);
+            details_button.Clicked += OnDetailsClicked;
+            box.PackStart (details_button, false, false, 0);
+            
+            label = new Label ();
+            label.ModifyFont (font);
+            activate_button = new Button ();
+            activate_button.Add (label);
+            activate_button.Clicked += OnActivateClicked;
+            box.PackStart (activate_button, false, false, 0);
+            
+            Attach (button_box, 2, 3, 2, 3, AttachOptions.Shrink, AttachOptions.Expand | AttachOptions.Fill, 0, 0);
                 
             Show ();
+            
+            UpdateState ();
         }
         
         protected override void OnRealized ()
@@ -88,17 +141,56 @@
         {
             if (State == StateType.Selected) {
                 Gtk.Style.PaintFlatBox (Style, evnt.Window, State, ShadowType.None, evnt.Area, 
-                    this, "row", Allocation.X, Allocation.Y, Allocation.Width, Allocation.Height);
+                    this, "cell_odd", Allocation.X, Allocation.Y, 
+                    Allocation.Width, Allocation.Height - (last ? 0 : 1));
+            }
+            
+            if (!last) {            
+                Gtk.Style.PaintHline (Style, evnt.Window, StateType.Normal, evnt.Area, this, null, 
+                    Allocation.X, Allocation.Right, Allocation.Bottom - 1);
             }
             
             return base.OnExposeEvent (evnt);
         }
         
+        private void OnActivateClicked (object o, EventArgs args)
+        {
+            addin.Enabled = !addin.Enabled;
+            ActiveChanged (this, EventArgs.Empty);
+        }
+        
+        private void OnDetailsClicked (object o, EventArgs args)
+        {
+            AddinDetailsDialog dialog = new AddinDetailsDialog (addin, Toplevel as Window);
+            dialog.Run ();
+            dialog.Destroy ();
+        }
+        
+        public void UpdateState ()
+        {
+            bool enabled = addin.Enabled;
+            bool sensitive = enabled || (!enabled && State == StateType.Selected);
+            
+            title.Sensitive = sensitive;
+            description.Sensitive = sensitive;
+            description.Wrap = State == StateType.Selected;
+            authors.Visible = State == StateType.Selected;
+            
+            ((Label)activate_button.Child).Text = enabled 
+                ? Catalog.GetString ("Disable") 
+                : Catalog.GetString ("Enable");
+        }
+        
         public void Select (bool select)
         {
             State = select ? StateType.Selected : StateType.Normal;
-            activate_button.Visible = select;
-            activate_button.State = StateType.Normal;
+            if (select) {
+                button_box.ShowAll ();
+            } else {
+                button_box.Hide ();
+            }
+            button_box.State = StateType.Normal;
+            UpdateState ();
             QueueResize ();
         }
     }

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs	Wed Apr 23 22:58:38 2008
@@ -49,11 +49,20 @@
             box.Show ();
             Add (box);
             
+            LoadAddins ();
+        }
+        
+        private void LoadAddins ()
+        {
             foreach (Addin addin in AddinManager.Registry.GetAddins ()) {
                 if (addin.Name != addin.Id) {
                     AppendAddin (addin);
                 }
             }
+            
+            if (tiles.Count > 0) {
+                tiles[tiles.Count - 1].Last = true;
+            }
         }
         
         private bool changing_styles = false;
@@ -73,12 +82,50 @@
         private void AppendAddin (Addin addin)
         {
             AddinTile tile = new AddinTile (addin);
+            tile.ActiveChanged += OnAddinActiveChanged;
+            tile.SizeAllocated += OnAddinSizeAllocated;
             tile.Show ();
             tiles.Add (tile);
             
             box.PackStart (tile, false, false, 0);
         }
         
+        private void OnAddinActiveChanged (object o, EventArgs args)
+        {
+            foreach (AddinTile tile in tiles) {
+                tile.UpdateState ();
+            }
+        }
+        
+        private void OnAddinSizeAllocated (object o, SizeAllocatedArgs args)
+        {
+            ScrolledWindow scroll;
+            
+            if (Parent == null || (scroll = Parent.Parent as ScrolledWindow) == null) {
+                return;
+            }
+            
+            AddinTile tile = (AddinTile)o;
+            
+            if (tiles.IndexOf (tile) != selected_index) {
+                return;
+            }
+            
+            Gdk.Rectangle ta = ((AddinTile)o).Allocation;
+            Gdk.Rectangle va = new Gdk.Rectangle (0, (int)scroll.Vadjustment.Value, 
+                Allocation.Width, Parent.Allocation.Height);
+            
+            if (!va.Contains (ta)) {
+                double y_pos = scroll.Vadjustment.Value + (ta.Top > va.Top ? ta.Height : -ta.Height);
+                /*if (y_pos > Parent.Allocation.Height) {
+                    y_pos = scroll.Vadjustment.Upper;
+                } else if (y_pos < scroll.Vadjustment.Lower) {
+                    y_pos = scroll.Vadjustment.Lower;
+                }*/
+                scroll.Vadjustment.Value = y_pos;
+            }
+        }
+        
         protected override bool OnButtonPressEvent (Gdk.EventButton evnt)
         {
             HasFocus = true;
@@ -132,17 +179,15 @@
             if (index >= 0 && index < tiles.Count) {
                 selected_index = index;
                 tiles[index].Select (true);
-                
-                // FIXME: This is not right at all
-                if (!tiles[index].Allocation.IntersectsWith (Parent.Allocation)) {
-                    ScrolledWindow w = Parent.Parent as ScrolledWindow;
-                    if (w != null) {
-                        w.Vadjustment.Value = tiles[index].Allocation.Y;
-                    }
-                }
             } else {
                 ClearSelection ();
             }
+            
+            if (Parent != null && Parent.IsRealized) {
+                Parent.GdkWindow.InvalidateRect (Parent.Allocation, true);
+            }
+            
+            QueueResize ();
         }
         
         private void ClearSelection ()

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs	Wed Apr 23 22:58:38 2008
@@ -37,7 +37,7 @@
     {
         private ProfileComboBox combo;
         private ProfileConfigureButton button;
-        private TextViewLabel description;
+        private WrapLabel description;
         private string configuration_id;
         
         public ProfileComboBoxConfigurable(MediaProfileManager manager, string configurationId) 
@@ -62,14 +62,9 @@
             editor.PackStart(button, false, false, 0);
             editor.Show();
             
-            description = new TextViewLabel();
+            description = new WrapLabel();
             description.Show();
             
-            TextTag tag = new TextTag("small");
-            tag.Scale = Pango.Scale.Small;
-            tag.Style = Pango.Style.Italic;
-            description.Buffer.TagTable.Add(tag);
-            
             ProfileConfiguration config = manager.GetActiveProfileConfiguration (configurationId);
             
             if(config != null) {
@@ -98,8 +93,8 @@
         
         private void SetDescription()
         {
-            description.Text = Combo.ActiveProfile.Description;
-            description.Buffer.ApplyTag("small", description.Buffer.StartIter, description.Buffer.EndIter);
+            description.Markup = String.Format ("<small><i>{0}</i></small>", 
+                GLib.Markup.EscapeText (Combo.ActiveProfile.Description));
         }
         
         public ProfileComboBox Combo {

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs	Wed Apr 23 22:58:38 2008
@@ -66,7 +66,7 @@
         private Profile profile;
     
         private Label header_label = new Label();
-        private Hyena.Widgets.TextViewLabel description_label = new Hyena.Widgets.TextViewLabel();
+        private Hyena.Widgets.WrapLabel description_label = new Hyena.Widgets.WrapLabel();
         private Table normal_controls_table = new Table(1, 1, false);
         private Table advanced_controls_table = new Table(1, 1, false);
         private Expander advanced_expander = new Expander(Catalog.GetString("Advanced"));

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs	Wed Apr 23 22:58:38 2008
@@ -148,7 +148,7 @@
             }
         }
         
-        private class PatternDisplay : TextViewLabel
+        private class PatternDisplay : WrapLabel
         {
             private PatternComboBox folder;
             private PatternComboBox file;
@@ -163,11 +163,6 @@
                 folder.Changed += OnChanged;
                 file.Changed += OnChanged;
                 
-                Pango.FontDescription font = PangoContext.FontDescription.Copy ();
-                font.Style = Pango.Style.Italic;
-                font.Size = (int)(font.Size * Pango.Scale.Small);
-                ModifyFont (font);
-                
                 OnChanged (null, null);
             }
 
@@ -176,7 +171,8 @@
                 string display = FileNamePattern.CreateFromTrackInfo (FileNamePattern.CreateFolderFilePattern (
                     folder.ActiveValue, file.ActiveValue), track);
             
-                Text = String.IsNullOrEmpty (display) ? String.Empty : String.Format ("{0}.ogg", display);
+                Markup = String.IsNullOrEmpty (display) ? String.Empty : String.Format ("<small>{0}.ogg</small>", 
+                    GLib.Markup.EscapeText (display));
             }
         }
     }

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml	Wed Apr 23 22:58:38 2008
@@ -1,4 +1,12 @@
-<Addin id="Banshee.ThickClient" version="1.0">
+<?xml version="1.0" encoding="utf-8"?>
+<Addin 
+    id="Banshee.ThickClient"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    category="required:Core"
+    description="Provides GUI utilities and services."
+    defaultEnabled="true">
 
   <Dependencies>
     <Addin id="Banshee.Services" version="1.0" />

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp	Wed Apr 23 22:58:38 2008
@@ -105,6 +105,7 @@
     <File name="Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Gui.Widgets/AddinView.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Gui.Widgets/AddinTile.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Gui.Widgets/AddinDetailsDialog.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Project" localcopy="False" refto="Hyena.Gui" />
@@ -120,6 +121,8 @@
     <ProjectReference type="Gac" localcopy="True" refto="glib-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <ProjectReference type="Gac" localcopy="True" refto="pango-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+    <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins.Gui, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+    <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins.Setup, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
   </References>
   <Deployment.LinuxDeployData generateScript="False" />
   <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="Makefile.am">

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am	Wed Apr 23 22:58:38 2008
@@ -38,6 +38,7 @@
 	Banshee.Gui.DragDrop/DragDropList.cs \
 	Banshee.Gui.DragDrop/DragDropTarget.cs \
 	Banshee.Gui.DragDrop/DragDropUtilities.cs \
+	Banshee.Gui.Widgets/AddinDetailsDialog.cs \
 	Banshee.Gui.Widgets/AddinTile.cs \
 	Banshee.Gui.Widgets/AddinView.cs \
 	Banshee.Gui.Widgets/ArtworkPopup.cs \

Modified: trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml
==============================================================================
--- trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml	(original)
+++ trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,9 +4,9 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
-    name="Mass Storage Digital Audio Player Support"
+    name="Mass Storage Media Player Support"
     category="Hardware"
-    description="Provides support for Digital Audio Players that use USB Mass Storage."
+    description="Provides support for media players that use USB Mass Storage without keeping an internal database."
     author="Gabriel Burt"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml
==============================================================================
--- trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml	(original)
+++ trunk/banshee/src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,9 +4,9 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
-    name="MTP Audio Player Support"
+    name="MTP Media Player Support"
     category="Hardware"
-    description="Provides support for Digital Audio Players that use MTP for transfer."
+    description="Provides support for PlaysForSure digital media players that use MTP."
     author="Gabriel Burt"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap.addin.xml
==============================================================================
--- trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap.addin.xml	(original)
+++ trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,9 +4,9 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2007-2008 Novell Inc. Licensed under the MIT X11 license."
-    name="Digital Audio Player Support"
+    name="Digital Media Player Support"
     category="Hardware"
-    description="Provides support for Digital Audio Players."
+    description="Provides general support for many kinds of media player devices."
     author="Gabriel Burt, Aaron Bockover, Ruben Vermeersch"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml	Wed Apr 23 22:58:38 2008
@@ -6,7 +6,7 @@
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
     name="Audio CD Support"
     category="Hardware"
-    description="Provides support for listening to and ripping Audio CDs"
+    description="Provides support for listening to and ripping Audio CDs."
     author="Aaron Bockover"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,8 +4,10 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    category="User Interface"
     name="Bookmarks"
-    description="Bookmark your position in tracks."
+    description="Allows for saving specific positions in tracks so you can resume playback later."
+    author="Gabriel Burt"
     url="http://banshee-project.org/";
     defaultEnabled="true">
 

Modified: trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml	Wed Apr 23 22:58:38 2008
@@ -1,4 +1,15 @@
-<Addin id="Banshee.Lastfm">
+<?xml version="1.0" encoding="utf-8"?>
+<Addin 
+    id="Banshee.LastFm"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    name="Last.fm Radio and Scrobbling"
+    category="User Interface"
+    description="Provides tightly integrated Last.fm streaming radio and community features."
+    author="Gabriel Burt, Alexander Hixon"
+    url="http://banshee-project.org/";
+    defaultEnabled="true">
 
   <Dependencies>
     <Addin id="Banshee.Services" version="1.0"/>

Modified: trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml	Wed Apr 23 22:58:38 2008
@@ -1,8 +1,15 @@
-<Addin  id="Banshee.MultimediaKeys"
-        name="Multimedia Keys"
-        description="Provides support for handling playback through the use of keyboard controls."
-        url="http://www.banshee-project.org/";
-        version="1.0">
+<?xml version="1.0" encoding="utf-8"?>
+<Addin 
+    id="Banshee.MultimediaKeys"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+    name="Multimedia Keys"
+    category="User Interface"
+    description="Provides support for handling playback through the use of keyboard controls."
+    author="Aaron Bockover"
+    url="http://banshee-project.org/";
+    defaultEnabled="true">
 
   <Dependencies>
     <Addin id="Banshee.Services" version="1.0"/>

Modified: trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml	Wed Apr 23 22:58:38 2008
@@ -5,8 +5,8 @@
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
     name="Now Playing"
-    category="Sources"
-    description="Adds a source that displays video and visualizations, along with other aggregated data about the currently playing track."
+    category="User Interface"
+    description="Provides a source that displays embedded video and provides fullscreen video playback and controls."
     author="Aaron Bockover"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml	Wed Apr 23 22:58:38 2008
@@ -5,8 +5,8 @@
     compatVersion="1.0"
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
     name="Play Queue"
-    category="Sources"
-    description="Adds a source that acts as a queue of playing tracks. When the queue is populated, all playback happens from the queue in a forced order."
+    category="User Interface"
+    description="Provides a source that acts as a queue of playing tracks. When the queue is populated, all playback happens from the queue in a forced order."
     author="Aaron Bockover"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml	(original)
+++ trunk/banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml	Wed Apr 23 22:58:38 2008
@@ -4,9 +4,9 @@
     version="1.0"
     compatVersion="1.0"
     copyright="Â 2008 Mike Urbanski.  Licensed under the MIT X11 license."
-    name="Podcasting"
-    category="Awesome!"
-    description="."
+    name="Podcasts"
+    category="User Interface"
+    description="Allows subscribing to and managing of Podcasts."
     author="Michael C. Urbanski"
     url="http://banshee-project.org/";
     defaultEnabled="true">

Modified: trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp
==============================================================================
--- trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp	(original)
+++ trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp	Wed Apr 23 22:58:38 2008
@@ -67,7 +67,6 @@
     <File name="Hyena.Widgets/SmoothScrolledWindow.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Widgets/MenuButton.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Gui/CompositeUtils.cs" subtype="Code" buildaction="Compile" />
-    <File name="Hyena.Widgets/TextViewLabel.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Gui/TooltipSetter.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Widgets/WrapLabel.cs" subtype="Code" buildaction="Compile" />
   </Contents>

Modified: trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs
==============================================================================
--- trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs	(original)
+++ trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs	Wed Apr 23 22:58:38 2008
@@ -35,6 +35,7 @@
     {
         private string text;
         private bool use_markup = false;
+        private bool wrap = true;
         private Pango.Layout layout;
         
         public WrapLabel ()
@@ -57,6 +58,8 @@
                 CreateLayout ();
             }
             
+            layout.Ellipsize = wrap ? Pango.EllipsizeMode.None : Pango.EllipsizeMode.End;
+            
             if (use_markup) {
                 layout.SetMarkup (text);
             } else {
@@ -110,6 +113,30 @@
             return true;
         }
         
+        public void MarkupFormat (string format, params object [] args)
+        {
+            if (args == null || args.Length == 0) {
+                Markup = format;
+                return;
+            }
+            
+            for (int i = 0; i < args.Length; i++) {
+                if (args[i] is string) {
+                    args[i] = GLib.Markup.EscapeText ((string)args[i]);
+                }
+            }
+            
+            Markup = String.Format (format, args);
+        }
+        
+        public bool Wrap {
+            get { return wrap; }
+            set {
+                wrap = value;
+                UpdateLayout ();
+            }
+        }
+        
         public string Markup {
             get { return text; }
             set {

Modified: trunk/banshee/src/Libraries/Hyena.Gui/Makefile.am
==============================================================================
--- trunk/banshee/src/Libraries/Hyena.Gui/Makefile.am	(original)
+++ trunk/banshee/src/Libraries/Hyena.Gui/Makefile.am	Wed Apr 23 22:58:38 2008
@@ -62,7 +62,6 @@
 	Hyena.Widgets/RoundedFrame.cs \
 	Hyena.Widgets/ScrolledWindow.cs \
 	Hyena.Widgets/SmoothScrolledWindow.cs \
-	Hyena.Widgets/TextViewLabel.cs \
 	Hyena.Widgets/WrapLabel.cs
 
 include $(top_srcdir)/build/build.mk



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