The same, but patch created with diff -u option (instead of -c)
C.
On 2/11/07, Christophe Dehais <[EMAIL PROTECTED]> wrote:
Sorry, updating the patch ...
This version fixes the plugin list appearance described previously and
also adapt the size of the plugin icon so that it fits correctly in
the description (useful for big svg icons)
Also didn't mention that it's against current SVN.
Christophe
On 2/11/07, Christophe Dehais <[EMAIL PROTECTED]> wrote:
> Hi!
>
> This patch makes the headers of the list of plugins fixed (don't
> scroll with the list itself) in the plugin configuration dialog.
>
> cheers,
> Christophe
>
>
--- rhythmbox/data/glade/plugins.glade 2007-02-15 22:29:28.000000000 +0100
+++ rb2/data/glade/plugins.glade 2007-02-11 17:32:25.000000000 +0100
@@ -33,31 +33,16 @@
<property name="spacing">12</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <widget class="GtkScrolledWindow" id="plugins_scrolledwindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkViewport" id="viewport1">
- <property name="visible">True</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
-
- <child>
- <widget class="GtkVBox" id="plugins_tree_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- </child>
- </widget>
+ <placeholder/>
</child>
</widget>
<packing>
@@ -74,8 +59,8 @@
<property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox4">
- <property name="height_request">50</property>
+ <widget class="GtkHBox" id="header_hbox">
+ <property name="height_request">64</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">6</property>
--- rhythmbox/plugins/rb-plugin-manager.c 2007-02-15 22:29:36.000000000 +0100
+++ rb2/plugins/rb-plugin-manager.c 2007-02-11 17:36:24.000000000 +0100
@@ -60,6 +60,7 @@
GtkWidget *copyright_label;
GtkWidget *authors_label;
GtkWidget *description_label;
+ GtkWidget *header_hbox;
GtkWidget *plugin_icon;
GtkWidget *site_text;
GtkWidget *copyright_text;
@@ -176,8 +177,29 @@
gtk_label_set_text (GTK_LABEL (pm->priv->authors_text), string);
g_free (string);
- gtk_image_set_from_pixbuf (GTK_IMAGE (pm->priv->plugin_icon),
- rb_plugins_engine_get_plugin_icon (info));
+ { /* plugin icon */
+ GdkPixbuf *icon = rb_plugins_engine_get_plugin_icon (info);
+ if (icon != NULL) {
+ GdkPixbuf *icon_scaled;
+ gint width, height, header_height;
+
+ width = gdk_pixbuf_get_width (icon);
+ height = gdk_pixbuf_get_height (icon);
+ header_height = pm->priv->header_hbox->allocation.height;
+ if (height > header_height) { /* resize to fit */
+ icon_scaled = gdk_pixbuf_scale_simple (icon,
+ (gfloat)width/height*header_height, header_height,
+ GDK_INTERP_BILINEAR);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (pm->priv->plugin_icon), icon_scaled);
+ g_object_unref (G_OBJECT (icon_scaled));
+ } else {
+ gtk_image_set_from_pixbuf (GTK_IMAGE (pm->priv->plugin_icon), icon);
+ }
+
+ } else {
+ gtk_image_set_from_pixbuf (GTK_IMAGE (pm->priv->plugin_icon), NULL);
+ }
+ }
gtk_widget_set_sensitive (GTK_WIDGET (pm->priv->configure_button),
(info != NULL) &&
@@ -445,7 +467,7 @@
rb_plugin_manager_init (RBPluginManager *pm)
{
GladeXML *xml;
- GtkWidget *plugins_tree_vbox;
+ GtkWidget *plugins_window;
pm->priv = RB_PLUGIN_MANAGER_GET_PRIVATE (pm);
@@ -457,8 +479,8 @@
gtk_box_set_spacing (GTK_BOX (pm), 6);
pm->priv->tree = gtk_tree_view_new ();
- plugins_tree_vbox = glade_xml_get_widget (xml, "plugins_tree_vbox");
- gtk_container_add (GTK_CONTAINER (plugins_tree_vbox), pm->priv->tree);
+ plugins_window = glade_xml_get_widget (xml, "plugins_scrolledwindow");
+ gtk_container_add (GTK_CONTAINER (plugins_window), pm->priv->tree);
pm->priv->configure_button = glade_xml_get_widget (xml, "configure_button");
g_signal_connect (pm->priv->configure_button,
@@ -466,6 +488,8 @@
G_CALLBACK (configure_button_cb),
pm);
+ pm->priv->header_hbox = glade_xml_get_widget (xml, "header_hbox");
+
pm->priv->plugin_title = glade_xml_get_widget (xml, "plugin_title");
pm->priv->site_label = glade_xml_get_widget (xml, "site_label");
_______________________________________________
rhythmbox-devel mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/rhythmbox-devel