[banshee] [QueueableSourceComboBox] Use CellRendererText



commit 4f752d146ac2fd2206f82398767db88849fdf45a
Author: Aaron Bockover <abockover novell com>
Date:   Mon Oct 12 10:34:53 2009 -0400

    [QueueableSourceComboBox] Use CellRendererText
    
    The SourceRowRenderer cell renderer has a bug where
    width reporting does not work correctly, so it's fixed
    to 200px wide. This causes the QueueableSourceComboBox
    to also be 200+px wide, regardless of the text width
    of the sources in the box, causing problems with UI
    like Muinshee and the Moblin Media Panel.
    
    Revert to just using a stock CellRendererText for now.

 .../Banshee.PlayQueue/QueueableSourceComboBox.cs   |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/QueueableSourceComboBox.cs b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/QueueableSourceComboBox.cs
index 83d8362..1ae0725 100644
--- a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/QueueableSourceComboBox.cs
+++ b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/QueueableSourceComboBox.cs
@@ -40,10 +40,20 @@ namespace Banshee.PlayQueue
 
         public QueueableSourceComboBox (string source_name)
         {
-            SourceRowRenderer renderer = new SourceRowRenderer ();
-            renderer.ParentWidget = this;
+            // FIXME: Would probably be nice to use this, but variable
+            // width reporting in SourceRowRenderer does not work as
+            // I would expect, so currently it's forced to 200px wide
+            // which causes quite a problem with a UI like Muinshee
+            // and the Moblin Media Panel
+            //
+            // SourceRowRenderer renderer = new SourceRowRenderer ();
+            // renderer.ParentWidget = this;
+
+            var renderer = new CellRendererText ();
             PackStart (renderer, true);
-            SetCellDataFunc (renderer, new CellLayoutDataFunc (SourceRowRenderer.CellDataHandler));
+            SetCellDataFunc (renderer, new CellLayoutDataFunc (
+                (layout, cell, model, iter) => renderer.Text = ((Source)model.GetValue (iter, 0)).Name
+            ));
 
             var store = new SourceModel ();
             filter = new TreeModelFilter (store, null);



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