Mercurial > audlegacy
changeset 2355:f03beaca8e81 trunk
[svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
author | giacomo |
---|---|
date | Wed, 17 Jan 2007 08:13:07 -0800 |
parents | fea1b8594cd8 |
children | 4b2c7d9523e7 |
files | ChangeLog src/audacious/glade/Makefile src/audacious/glade/fileinfo_popup.glade src/audacious/ui_fileinfopopup.c |
diffstat | 4 files changed, 149 insertions(+), 500 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Jan 17 04:09:20 2007 -0800 +++ b/ChangeLog Wed Jan 17 08:13:07 2007 -0800 @@ -1,3 +1,10 @@ +2007-01-17 12:09:20 +0000 Giacomo Lozito <james@develia.org> + revision [3718] + - removed other obsolete (and annoying) gdk_window_set_hints calls + trunk/src/audacious/ui_main.c | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + + 2007-01-17 11:11:48 +0000 Giacomo Lozito <james@develia.org> revision [3716] - added audacious_menu_main_show(x,y,button,time) in util.h, convenience function to display the audacious main popup menu
--- a/src/audacious/glade/Makefile Wed Jan 17 04:09:20 2007 -0800 +++ b/src/audacious/glade/Makefile Wed Jan 17 08:13:07 2007 -0800 @@ -5,7 +5,6 @@ OBJECTIVE_DATA = \ fileinfo.glade:$(gladexmldir) \ - fileinfo_popup.glade:$(gladexmldir) \ prefswin.glade:$(gladexmldir) \ addfiles.glade:$(gladexmldir)
--- a/src/audacious/glade/fileinfo_popup.glade Wed Jan 17 04:09:20 2007 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,465 +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="win_pl_popup"> - <property name="border_width">6</property> - <property name="title" translatable="yes">Artist Popup</property> - <property name="type">GTK_WINDOW_POPUP</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - <property name="decorated">False</property> - <property name="skip_taskbar_hint">False</property> - <property name="skip_pager_hint">False</property> - <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> - <property name="gravity">GDK_GRAVITY_CENTER</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">6</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkTable" id="table1"> - <property name="visible">True</property> - <property name="n_rows">7</property> - <property name="n_columns">2</property> - <property name="homogeneous">False</property> - <property name="row_spacing">6</property> - <property name="column_spacing">6</property> - - <child> - <widget class="GtkLabel" id="d_label_title"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Title</i></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="GtkLabel" id="d_label_artist"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Artist</i></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">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="d_label_album"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Album</i></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">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label_title"> - <property name="visible">True</property> - <property name="label" translatable="yes"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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="GtkLabel" id="label_artist"> - <property name="visible">True</property> - <property name="label" translatable="yes"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label_album"> - <property name="visible">True</property> - <property name="label" translatable="yes"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="d_label_genre"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Genre</i></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">3</property> - <property name="bottom_attach">4</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label_genre"> - <property name="visible">True</property> - <property name="label" translatable="yes"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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">3</property> - <property name="bottom_attach">4</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="d_label_year"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Year</i></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">4</property> - <property name="bottom_attach">5</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="d_label_track"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Track Number</i></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">5</property> - <property name="bottom_attach">6</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="d_label_length"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Track Length</i></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">6</property> - <property name="bottom_attach">7</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label_year"> - <property name="visible">True</property> - <property name="label" translatable="yes"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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">4</property> - <property name="bottom_attach">5</property> - <property name="x_options">fill</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"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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">5</property> - <property name="bottom_attach">6</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label_length"> - <property name="visible">True</property> - <property name="label" translatable="yes"></property> - <property name="use_underline">False</property> - <property name="use_markup">False</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">6</property> - <property name="bottom_attach">7</property> - <property name="x_options">fill</property> - <property name="y_options"></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_fileinfopopup.c Wed Jan 17 04:09:20 2007 -0800 +++ b/src/audacious/ui_fileinfopopup.c Wed Jan 17 08:13:07 2007 -0800 @@ -25,10 +25,8 @@ #include <glib.h> #include <glib/gi18n.h> #include <gtk/gtk.h> -#include <glade/glade.h> #include <string.h> -#include "glade.h" #include "titlestring.h" #include "ui_fileinfopopup.h" #include "main.h" @@ -36,28 +34,26 @@ static void -filepopup_entry_set_text(GtkWidget *filepopup_win, const char *entry, const char *text) +filepopup_entry_set_text(GtkWidget *filepopup_win, const char *entry_name, const char *text) { - GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml"); - GtkWidget *widget = glade_xml_get_widget(xml, entry); + GtkWidget *widget = g_object_get_data(G_OBJECT(filepopup_win), entry_name); - if (xml == NULL || widget == NULL) - return; + if (widget == NULL) + return; - gtk_label_set_text(GTK_LABEL(widget), text); + gtk_label_set_text( GTK_LABEL(widget) , text ); } static void -filepopup_entry_set_image(GtkWidget *filepopup_win, const char *entry, const char *text) +filepopup_entry_set_image(GtkWidget *filepopup_win, const char *entry_name, const char *text) { - GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml"); - GtkWidget *widget = glade_xml_get_widget(xml, entry); + GtkWidget *widget = g_object_get_data(G_OBJECT(filepopup_win), entry_name); 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); @@ -90,12 +86,11 @@ } static void -filepopup_entry_set_text_free(GtkWidget *filepopup_win, const char *entry, char *text) +filepopup_entry_set_text_free(GtkWidget *filepopup_win, const char *entry_name, char *text) { - GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml"); - GtkWidget *widget = glade_xml_get_widget(xml, entry); + GtkWidget *widget = g_object_get_data(G_OBJECT(filepopup_win), entry_name); - if (xml == NULL || widget == NULL) + if (widget == NULL) return; gtk_label_set_text(GTK_LABEL(widget), text); @@ -268,34 +263,147 @@ GtkWidget * audacious_fileinfopopup_create(void) { - const gchar *glade_file = DATA_DIR "/glade/fileinfo_popup.glade"; - GladeXML *xml; - GtkWidget *widget; - GtkWidget *filepopup_win; + GtkWidget *filepopup_win; + GtkWidget *filepopup_hbox; + GtkWidget *filepopup_data_image; + GtkWidget *filepopup_data_table; + GtkWidget *filepopup_data_info_header[7]; + GtkWidget *filepopup_data_info_label[7]; + gchar *markup; + + filepopup_win = gtk_window_new( GTK_WINDOW_POPUP ); + gtk_window_set_decorated( GTK_WINDOW(filepopup_win), FALSE ); + gtk_container_set_border_width( GTK_CONTAINER(filepopup_win) , 6 ); + gtk_window_set_transient_for( GTK_WINDOW(filepopup_win) , GTK_WINDOW(mainwin) ); + + filepopup_hbox = gtk_hbox_new( FALSE , 0 ); + gtk_container_add( GTK_CONTAINER(filepopup_win) , filepopup_hbox ); + + filepopup_data_image = gtk_image_new(); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_image) , 0.5 , 0 ); + gtk_image_set_from_file( GTK_IMAGE(filepopup_data_image) , DATA_DIR "/images/audio.png" ); + g_object_set_data( G_OBJECT(filepopup_win) , "image_artwork" , filepopup_data_image ); + g_object_set_data( G_OBJECT(filepopup_win) , "last_artwork" , NULL ); + gtk_box_pack_start( GTK_BOX(filepopup_hbox) , filepopup_data_image , FALSE , FALSE , 0 ); + + gtk_box_pack_start( GTK_BOX(filepopup_hbox) , gtk_vseparator_new() , FALSE , FALSE , 6 ); - xml = glade_xml_new_or_die(_("Track Information Popup"), glade_file, NULL, NULL); + filepopup_data_table = gtk_table_new( 7 , 2 , FALSE ); + gtk_table_set_row_spacings( GTK_TABLE(filepopup_data_table) , 6 ); + gtk_table_set_col_spacings( GTK_TABLE(filepopup_data_table) , 6 ); + gtk_box_pack_start( GTK_BOX(filepopup_hbox) , filepopup_data_table , TRUE , TRUE , 0 ); - glade_xml_signal_autoconnect(xml); + /* title */ + filepopup_data_info_header[0] = gtk_label_new(""); + filepopup_data_info_label[0] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[0]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[0]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Title") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[0]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_title" , filepopup_data_info_label[0] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[0] , + 0 , 1 , 0 , 1 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[0] , + 1 , 2 , 0 , 1 , GTK_FILL , 0 , 0 , 0 ); + + /* artist */ + filepopup_data_info_header[1] = gtk_label_new(""); + filepopup_data_info_label[1] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[1]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[1]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Artist") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[1]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_artist" , filepopup_data_info_label[1] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[1] , + 0 , 1 , 1 , 2 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[1] , + 1 , 2 , 1 , 2 , GTK_FILL , 0 , 0 , 0 ); - filepopup_win = glade_xml_get_widget(xml, "win_pl_popup"); - g_object_set_data(G_OBJECT(filepopup_win), "glade-xml", xml); - gtk_window_set_transient_for(GTK_WINDOW(filepopup_win), GTK_WINDOW(mainwin)); + /* album */ + filepopup_data_info_header[2] = gtk_label_new(""); + filepopup_data_info_label[2] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[2]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[2]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Album") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[2]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_album" , filepopup_data_info_label[2] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[2] , + 0 , 1 , 2 , 3 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[2] , + 1 , 2 , 2 , 3 , GTK_FILL , 0 , 0 , 0 ); + + /* genre */ + filepopup_data_info_header[3] = gtk_label_new(""); + filepopup_data_info_label[3] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[3]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[3]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Genre") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[3]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_genre" , filepopup_data_info_label[3] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[3] , + 0 , 1 , 3 , 4 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[3] , + 1 , 2 , 3 , 4 , GTK_FILL , 0 , 0 , 0 ); - widget = glade_xml_get_widget(xml, "image_artwork"); - gtk_image_set_from_file(GTK_IMAGE(widget), DATA_DIR "/images/audio.png"); - g_object_set_data( G_OBJECT(filepopup_win) , "last_artwork" , NULL ); + /* year */ + filepopup_data_info_header[4] = gtk_label_new(""); + filepopup_data_info_label[4] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[4]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[4]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Year") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[4]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_year" , filepopup_data_info_label[4] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[4] , + 0 , 1 , 4 , 5 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[4] , + 1 , 2 , 4 , 5 , GTK_FILL , 0 , 0 , 0 ); - return filepopup_win; + /* Track Number */ + filepopup_data_info_header[5] = gtk_label_new(""); + filepopup_data_info_label[5] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[5]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[5]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Track Number") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[5]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_tracknum" , filepopup_data_info_label[5] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[5] , + 0 , 1 , 5 , 6 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[5] , + 1 , 2 , 5 , 6 , GTK_FILL , 0 , 0 , 0 ); + + /* Track Length */ + filepopup_data_info_header[6] = gtk_label_new(""); + filepopup_data_info_label[6] = gtk_label_new(""); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[6]) , 0 , 0.5 ); + gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[6]) , 0 , 0.5 ); + markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Track Length") ); + gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[6]) , markup ); + g_free( markup ); + g_object_set_data( G_OBJECT(filepopup_win) , "label_tracklen" , filepopup_data_info_label[6] ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[6] , + 0 , 1 , 6 , 7 , GTK_FILL , 0 , 0 , 0 ); + gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[6] , + 1 , 2 , 6 , 7 , GTK_FILL , 0 , 0 , 0 ); + + /* this will realize all widgets contained in filepopup_hbox */ + gtk_widget_show_all(filepopup_hbox); + + return filepopup_win; } void audacious_fileinfopopup_destroy(GtkWidget *filepopup_win) { - gchar *last_artwork = g_object_get_data( G_OBJECT(filepopup_win) , "last_artwork" ); - if ( last_artwork != NULL ) g_free(last_artwork); - g_object_unref( g_object_get_data(G_OBJECT(filepopup_win), "glade-xml") ); - gtk_widget_destroy( filepopup_win ); - return; + gchar *last_artwork = g_object_get_data( G_OBJECT(filepopup_win) , "last_artwork" ); + if ( last_artwork != NULL ) g_free(last_artwork); + gtk_widget_destroy( filepopup_win ); + return; } void