changeset 3986:a77a1b3f493f

drop glade on fileinfo
author Tomasz Mon <desowin@gmail.com>
date Fri, 23 Nov 2007 20:32:25 +0100
parents ba5af8e85857
children 4a981580bf49
files src/audacious/glade/fileinfo.glade src/audacious/ui_fileinfo.c
diffstat 2 files changed, 160 insertions(+), 652 deletions(-) [+]
line wrap: on
line diff
--- a/src/audacious/glade/fileinfo.glade	Fri Nov 23 19:26:35 2007 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,598 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkWindow" id="fileinfo_win">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">Track Information</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">False</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child>
-    <widget class="GtkHBox" id="hbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-	<widget class="GtkImage" id="image_artwork">
-	  <property name="visible">True</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVSeparator" id="vseparator1">
-	  <property name="visible">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">12</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox1">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkAlignment" id="alignment7">
-	      <property name="visible">True</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xscale">1</property>
-	      <property name="yscale">1</property>
-	      <property name="top_padding">0</property>
-	      <property name="bottom_padding">0</property>
-	      <property name="left_padding">0</property>
-	      <property name="right_padding">0</property>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox2">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label_title">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Title&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment1">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkEntry" id="entry_title">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label_artist">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Artist&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment2">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkEntry" id="entry_artist">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label_album">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Album&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment3">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkEntry" id="entry_album">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label_comment">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Comment&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment4">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkEntry" id="entry_comment">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label_genre">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Genre&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment5">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkEntry" id="entry_genre">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment6">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkTable" id="table1">
-			  <property name="visible">True</property>
-			  <property name="n_rows">2</property>
-			  <property name="n_columns">2</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">6</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label_year">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Year&lt;/span&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkEntry" id="entry_year">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char">*</property>
-			      <property name="activates_default">False</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label_track">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Track Number&lt;/span&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkEntry" id="entry_track">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char">*</property>
-			      <property name="activates_default">False</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label_location">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Location&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment8">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">6</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkEntry" id="entry_location">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHButtonBox" id="bbox_close">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkButton" id="btn_close">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-close</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
--- a/src/audacious/ui_fileinfo.c	Fri Nov 23 19:26:35 2007 +0100
+++ b/src/audacious/ui_fileinfo.c	Fri Nov 23 20:32:25 2007 +0100
@@ -26,7 +26,6 @@
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include <string.h>
 #include <stddef.h>
 #include <stdio.h>
@@ -37,8 +36,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
-#include "glade.h"
-
 #include "plugin.h"
 #include "pluginenum.h"
 #include "input.h"
@@ -63,43 +60,46 @@
 
 GtkWidget *fileinfo_win;
 
+GtkWidget *entry_location;
+GtkWidget *entry_title;
+GtkWidget *entry_artist;
+GtkWidget *entry_album;
+GtkWidget *entry_comment;
+GtkWidget *entry_year;
+GtkWidget *entry_track;
+GtkWidget *entry_genre;
+
+GtkWidget *image_artwork;
+
 static void
-fileinfo_entry_set_text(const char *entry, const char *text)
+fileinfo_entry_set_text(GtkWidget *widget, const char *text)
 {
-	GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
-	GtkWidget *widget = glade_xml_get_widget(xml, entry);
+    if (widget == NULL)
+        return;
 
-	if (xml == NULL || widget == NULL)
-		return;
-
-	gtk_entry_set_text(GTK_ENTRY(widget), text);
+    gtk_entry_set_text(GTK_ENTRY(widget), text);
 }
 
 static void
-fileinfo_entry_set_text_free(const char *entry, char *text)
+fileinfo_entry_set_text_free(GtkWidget *widget, char *text)
 {
-	GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
-	GtkWidget *widget = glade_xml_get_widget(xml, entry);
+    if (widget == NULL)
+        return;
 
-	if (xml == NULL || widget == NULL)
-		return;
+    gtk_entry_set_text(GTK_ENTRY(widget), text);
 
-	gtk_entry_set_text(GTK_ENTRY(widget), text);
-
-	g_free(text);
+    g_free(text);
 }
 
 static void
-fileinfo_entry_set_image(const char *entry, const char *text)
+fileinfo_entry_set_image(GtkWidget *widget, const char *text)
 {
-	GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
-	GtkWidget *widget = glade_xml_get_widget(xml, entry);
 	GdkPixbuf *pixbuf;
 	int width, height;
 	double aspect;
 	GdkPixbuf *pixbuf2;
 
-	if (xml == NULL || widget == NULL)
+	if (widget == NULL)
 		return;
 
 	pixbuf = gdk_pixbuf_new_from_file(text, NULL);
@@ -133,41 +133,147 @@
 
 void fileinfo_hide(gpointer unused)
 {
-	gtk_widget_hide(fileinfo_win);
+    gtk_widget_hide(fileinfo_win);
 
-	/* Clear it out. */
-	fileinfo_entry_set_text("entry_title", "");
-	fileinfo_entry_set_text("entry_artist", "");
-	fileinfo_entry_set_text("entry_album", "");
-	fileinfo_entry_set_text("entry_comment", "");
-	fileinfo_entry_set_text("entry_genre", "");
-	fileinfo_entry_set_text("entry_year", "");
-	fileinfo_entry_set_text("entry_track", "");
-	fileinfo_entry_set_text("entry_location", "");
+    /* Clear it out. */
+    fileinfo_entry_set_text(entry_title, "");
+    fileinfo_entry_set_text(entry_artist, "");
+    fileinfo_entry_set_text(entry_album, "");
+    fileinfo_entry_set_text(entry_comment, "");
+    fileinfo_entry_set_text(entry_genre, "");
+    fileinfo_entry_set_text(entry_year, "");
+    fileinfo_entry_set_text(entry_track, "");
+    fileinfo_entry_set_text(entry_location, "");
 
-	fileinfo_entry_set_image("image_artwork", DATA_DIR "/images/audio.png");
+    fileinfo_entry_set_image(image_artwork, DATA_DIR "/images/audio.png");
 }
 
 void
 create_fileinfo_window(void)
 {
-	const gchar *glade_file = DATA_DIR "/glade/fileinfo.glade";
-	GladeXML *xml;
-	GtkWidget *widget;
+    GtkWidget *hbox;
+    GtkWidget *vbox1;
+    GtkWidget *vbox2;
+    GtkWidget *label_title;
+    GtkWidget *label_artist;
+    GtkWidget *label_album;
+    GtkWidget *label_comment;
+    GtkWidget *label_genre;
+    GtkWidget *label_year;
+    GtkWidget *label_track;
+    GtkWidget *label_location;
+    GtkWidget *table1;
+    GtkWidget *bbox_close;
+    GtkWidget *btn_close;
+
+    fileinfo_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+    gtk_container_set_border_width(GTK_CONTAINER(fileinfo_win), 6);
+    gtk_window_set_title(GTK_WINDOW(fileinfo_win), _("Track Information"));
+    gtk_window_set_position(GTK_WINDOW(fileinfo_win), GTK_WIN_POS_CENTER);
+    gtk_window_set_resizable(GTK_WINDOW(fileinfo_win), FALSE);
+    gtk_window_set_type_hint(GTK_WINDOW(fileinfo_win), GDK_WINDOW_TYPE_HINT_DIALOG);
+    gtk_window_set_transient_for(GTK_WINDOW(fileinfo_win), GTK_WINDOW(mainwin));
+
+    hbox = gtk_hbox_new(FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(fileinfo_win), hbox);
 
-	xml = glade_xml_new_or_die(_("Track Information Window"), glade_file, NULL, NULL);
+    image_artwork = gtk_image_new();
+    gtk_box_pack_start(GTK_BOX(hbox), image_artwork, FALSE, FALSE, 0);
+    gtk_misc_set_alignment(GTK_MISC(image_artwork), 0.5, 0);
+    gtk_image_set_from_file(GTK_IMAGE(image_artwork), DATA_DIR "/images/audio.png");
+
+    vbox1 = gtk_vbox_new(FALSE, 0);
+    gtk_box_pack_start(GTK_BOX(hbox), vbox1, TRUE, TRUE, 0);
+
+    vbox2 = gtk_vbox_new(FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(vbox1), vbox2);
+
+    label_title = gtk_label_new(_("<span size=\"small\">Title</span>"));
+    gtk_box_pack_start(GTK_BOX(vbox2), label_title, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_title), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_title), 0, 0);
 
-	glade_xml_signal_autoconnect(xml);
+    entry_title = gtk_entry_new();
+    gtk_container_add(GTK_CONTAINER(vbox2), entry_title);
+
+    label_artist = gtk_label_new(_("<span size=\"small\">Artist</span>"));
+    gtk_box_pack_start(GTK_BOX(vbox2), label_artist, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_artist), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_artist), 0, 0.5);
+
+    entry_artist = gtk_entry_new();
+    gtk_container_add(GTK_CONTAINER(vbox2), entry_artist);
+
+    label_album = gtk_label_new(_("<span size=\"small\">Album</span>"));
+    gtk_box_pack_start(GTK_BOX(vbox2), label_album, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_album), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_album), 0, 0.5);
+
+    entry_album = gtk_entry_new();
+    gtk_container_add(GTK_CONTAINER(vbox2), entry_album);
 
-	fileinfo_win = glade_xml_get_widget(xml, "fileinfo_win");
-	g_object_set_data(G_OBJECT(fileinfo_win), "glade-xml", xml);
-	gtk_window_set_transient_for(GTK_WINDOW(fileinfo_win), GTK_WINDOW(mainwin));
+    label_comment = gtk_label_new(_("<span size=\"small\">Comment</span>"));
+    gtk_box_pack_start(GTK_BOX(vbox2), label_comment, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_comment), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_comment), 0, 0.5);
+
+    entry_comment = gtk_entry_new();
+    gtk_container_add (GTK_CONTAINER(vbox2), entry_comment);
+
+    label_genre = gtk_label_new(_("<span size=\"small\">Genre</span>"));
+    gtk_box_pack_start(GTK_BOX(vbox2), label_genre, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_genre), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_genre), 0, 0.5);
+
+    entry_genre = gtk_entry_new();
+    gtk_container_add(GTK_CONTAINER(vbox2), entry_genre);
+
+    table1 = gtk_table_new(2, 2, FALSE);
+    gtk_container_add(GTK_CONTAINER(vbox2), table1);
+    gtk_table_set_col_spacings(GTK_TABLE(table1), 6);
+
+    label_year = gtk_label_new(_("<span size=\"small\">Year</span>"));
+    gtk_table_attach(GTK_TABLE(table1), label_year, 0, 1, 0, 1,
+                     (GtkAttachOptions) (GTK_FILL),
+                     (GtkAttachOptions) (0), 0, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_year), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_year), 0, 0.5);
 
-	widget = glade_xml_get_widget(xml, "image_artwork");
-	gtk_image_set_from_file(GTK_IMAGE(widget), DATA_DIR "/images/audio.png");
+    entry_year = gtk_entry_new();
+    gtk_table_attach(GTK_TABLE(table1), entry_year, 0, 1, 1, 2,
+                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                     (GtkAttachOptions) (0), 0, 0);
+
+    label_track = gtk_label_new(_("<span size=\"small\">Track Number</span>"));
+    gtk_table_attach(GTK_TABLE(table1), label_track, 1, 2, 0, 1,
+                     (GtkAttachOptions) (GTK_FILL),
+                     (GtkAttachOptions) (0), 0, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_track), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_track), 0, 0.5);
+
+    entry_track = gtk_entry_new();
+    gtk_table_attach(GTK_TABLE(table1), entry_track, 1, 2, 1, 2,
+                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                     (GtkAttachOptions) (0), 0, 0);
 
-	widget = glade_xml_get_widget(xml, "btn_close");
-	g_signal_connect(G_OBJECT(widget), "clicked", (GCallback) fileinfo_hide, NULL);
+    label_location = gtk_label_new(_("<span size=\"small\">Location</span>"));
+    gtk_box_pack_start(GTK_BOX(vbox2), label_location, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_location), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_location), 0, 0.5);
+
+    entry_location = gtk_entry_new();
+    gtk_container_add(GTK_CONTAINER(vbox2), entry_location);
+
+    bbox_close = gtk_hbutton_box_new();
+    gtk_box_pack_start(GTK_BOX(vbox1), bbox_close, FALSE, FALSE, 0);
+    gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox_close), GTK_BUTTONBOX_END);
+
+    btn_close = gtk_button_new_from_stock("gtk-close");
+    gtk_container_add(GTK_CONTAINER(bbox_close), btn_close);
+    GTK_WIDGET_SET_FLAGS(btn_close, GTK_CAN_DEFAULT);
+    g_signal_connect(G_OBJECT(btn_close), "clicked", (GCallback) fileinfo_hide, NULL);
+
+    gtk_widget_show_all (hbox);
 }
 
 void
@@ -180,27 +286,27 @@
 
 	gtk_widget_realize(fileinfo_win);
 
-	fileinfo_entry_set_text("entry_title", tuple_get_string(tuple, FIELD_TITLE, NULL));
-	fileinfo_entry_set_text("entry_artist", tuple_get_string(tuple, FIELD_ARTIST, NULL));
-	fileinfo_entry_set_text("entry_album", tuple_get_string(tuple, FIELD_ALBUM, NULL));
-	fileinfo_entry_set_text("entry_comment", tuple_get_string(tuple, FIELD_COMMENT, NULL));
-	fileinfo_entry_set_text("entry_genre", tuple_get_string(tuple, FIELD_GENRE, NULL));
+	fileinfo_entry_set_text(entry_title, tuple_get_string(tuple, FIELD_TITLE, NULL));
+	fileinfo_entry_set_text(entry_artist, tuple_get_string(tuple, FIELD_ARTIST, NULL));
+	fileinfo_entry_set_text(entry_album, tuple_get_string(tuple, FIELD_ALBUM, NULL));
+	fileinfo_entry_set_text(entry_comment, tuple_get_string(tuple, FIELD_COMMENT, NULL));
+	fileinfo_entry_set_text(entry_genre, tuple_get_string(tuple, FIELD_GENRE, NULL));
 
 	tmp = g_strdup_printf("%s/%s",
 		tuple_get_string(tuple, FIELD_FILE_PATH, NULL),
 		tuple_get_string(tuple, FIELD_FILE_NAME, NULL));
 	if(tmp){
-		fileinfo_entry_set_text_free("entry_location", str_to_utf8(tmp));
+		fileinfo_entry_set_text_free(entry_location, str_to_utf8(tmp));
 		g_free(tmp);
 		tmp = NULL;
 	}
 
 	if (tuple_get_int(tuple, FIELD_YEAR, NULL))
-		fileinfo_entry_set_text_free("entry_year",
+		fileinfo_entry_set_text_free(entry_year,
 			g_strdup_printf("%d", tuple_get_int(tuple, FIELD_YEAR, NULL)));
 
 	if (tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL))
-		fileinfo_entry_set_text_free("entry_track",
+		fileinfo_entry_set_text_free(entry_track,
 			g_strdup_printf("%d", tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)));
 
 	tmp = fileinfo_recursive_get_image(
@@ -209,7 +315,7 @@
 	
 	if(tmp)
 	{
-		fileinfo_entry_set_image("image_artwork", tmp);
+		fileinfo_entry_set_image(image_artwork, tmp);
 		g_free(tmp);
 	}