annotate src/audacious/ui_fileinfopopup.c @ 2395:b047268eec32 trunk

[svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
author giacomo
date Tue, 23 Jan 2007 16:43:13 -0800
parents 424bc51df918
children 15fc0d852633
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
1 /*
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
2 * Audacious: A cross-platform multimedia player
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
3 * Copyright (c) 2006 William Pitcock, Tony Vroon, George Averill,
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
4 * Giacomo Lozito, Derek Pomery and Yoshiki Yazawa.
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
5 *
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
8 * the Free Software Foundation; under version 2 of the License.
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
9 *
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
13 * GNU General Public License for more details.
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
14 *
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
16 * along with this program; if not, write to the Free Software
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
18 * 02110-1301, USA.
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
19 */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
20
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
21 #ifdef HAVE_CONFIG_H
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
22 # include "config.h"
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
23 #endif
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
24
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
25 #include <glib.h>
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
26 #include <glib/gi18n.h>
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
27 #include <gtk/gtk.h>
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
28 #include <string.h>
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
29
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
30 #include "titlestring.h"
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
31 #include "ui_fileinfopopup.h"
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
32 #include "main.h"
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
33 #include "ui_main.h"
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
34 #include "playlist.h"
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
35 #include "playback.h"
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
36
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
37
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
38 static void
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
39 filepopup_entry_set_text(GtkWidget *filepopup_win, const char *entry_name, const char *text)
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
40 {
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
41 GtkWidget *widget = g_object_get_data(G_OBJECT(filepopup_win), entry_name);
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
42
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
43 if (widget == NULL)
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
44 return;
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
45
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
46 gtk_label_set_text( GTK_LABEL(widget) , text );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
47 return;
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
48 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
49
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
50 static void
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
51 filepopup_entry_set_image(GtkWidget *filepopup_win, const char *entry_name, const char *text)
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
52 {
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
53 GtkWidget *widget = g_object_get_data(G_OBJECT(filepopup_win), entry_name);
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
54 GdkPixbuf *pixbuf;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
55 int width, height;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
56 double aspect;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
57 GdkPixbuf *pixbuf2;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
58
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
59 if (widget == NULL)
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
60 return;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
61
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
62 pixbuf = gdk_pixbuf_new_from_file(text, NULL);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
63
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
64 if (pixbuf == NULL)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
65 return;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
66
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
67 width = gdk_pixbuf_get_width(GDK_PIXBUF(pixbuf));
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
68 height = gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf));
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
69
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
70 if(strcmp(DATA_DIR "/images/audio.png", text))
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
71 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
72 if(width == 0)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
73 width = 1;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
74 aspect = (double)height / (double)width;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
75 if(aspect > 1.0) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
76 height = (int)(cfg.filepopup_pixelsize * aspect);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
77 width = cfg.filepopup_pixelsize;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
78 } else {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
79 height = cfg.filepopup_pixelsize;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
80 width = (int)(cfg.filepopup_pixelsize / aspect);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
81 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
82 pixbuf2 = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), width, height, GDK_INTERP_BILINEAR);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
83 g_object_unref(G_OBJECT(pixbuf));
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
84 pixbuf = pixbuf2;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
85 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
86
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
87 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf));
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
88 g_object_unref(G_OBJECT(pixbuf));
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
89 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
90
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
91 static void
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
92 filepopup_entry_set_text_free(GtkWidget *filepopup_win, const char *entry_name, char *text)
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
93 {
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
94 GtkWidget *widget = g_object_get_data(G_OBJECT(filepopup_win), entry_name);
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
95
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
96 if (widget == NULL)
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
97 return;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
98
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
99 gtk_label_set_text(GTK_LABEL(widget), text);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
100
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
101 g_free(text);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
102 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
103
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
104 static gboolean
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
105 has_front_cover_extension(const gchar *name)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
106 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
107 char *ext;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
108
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
109 ext = strrchr(name, '.');
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
110 if (!ext) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
111 /* No file extension */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
112 return FALSE;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
113 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
114
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
115 return g_strcasecmp(ext, ".jpg") == 0 ||
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
116 g_strcasecmp(ext, ".jpeg") == 0 ||
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
117 g_strcasecmp(ext, ".png") == 0;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
118 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
119
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
120 static gboolean
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
121 cover_name_filter(const gchar *name, const gchar *filter, const gboolean ret_on_empty)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
122 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
123 gboolean result = FALSE;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
124 gchar **splitted;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
125 gchar *current;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
126 gchar *lname;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
127 gint i;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
128
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
129 if (!filter || strlen(filter) == 0) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
130 return ret_on_empty;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
131 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
132
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
133 splitted = g_strsplit(filter, ",", 0);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
134
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
135 lname = g_strdup(name);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
136 g_strdown(lname);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
137
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
138 for (i = 0; !result && (current = splitted[i]); i++) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
139 gchar *stripped = g_strstrip(g_strdup(current));
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
140 g_strdown(stripped);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
141
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
142 result = result || strstr(lname, stripped);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
143
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
144 g_free(stripped);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
145 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
146
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
147 g_free(lname);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
148 g_strfreev(splitted);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
149
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
150 return result;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
151 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
152
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
153 /* Check wether it's an image we want */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
154 static gboolean
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
155 is_front_cover_image(const gchar *imgfile)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
156 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
157 return cover_name_filter(imgfile, cfg.cover_name_include, TRUE) &&
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
158 !cover_name_filter(imgfile, cfg.cover_name_exclude, FALSE);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
159 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
160
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
161 static gboolean
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
162 is_file_image(const gchar *imgfile, const gchar *file_name)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
163 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
164 char *imgfile_ext, *file_name_ext;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
165 size_t imgfile_len, file_name_len;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
166
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
167 imgfile_ext = strrchr(imgfile, '.');
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
168 if (!imgfile_ext) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
169 /* No file extension */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
170 return FALSE;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
171 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
172
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
173 file_name_ext = strrchr(file_name, '.');
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
174 if (!file_name_ext) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
175 /* No file extension */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
176 return FALSE;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
177 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
178
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
179 imgfile_len = (imgfile_ext - imgfile);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
180 file_name_len = (file_name_ext - file_name);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
181
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
182 if (imgfile_len == file_name_len) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
183 return (g_ascii_strncasecmp(imgfile, file_name, imgfile_len) == 0);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
184 } else {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
185 return FALSE;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
186 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
187 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
188
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
189 static gchar*
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
190 fileinfo_recursive_get_image(const gchar* path,
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
191 const gchar* file_name, gint depth)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
192 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
193 GDir *d;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
194
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
195 if (cfg.recurse_for_cover && depth > cfg.recurse_for_cover_depth)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
196 return NULL;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
197
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
198 d = g_dir_open(path, 0, NULL);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
199
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
200 if (d) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
201 const gchar *f;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
202
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
203 if (cfg.use_file_cover && file_name) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
204 /* Look for images matching file name */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
205 while((f = g_dir_read_name(d))) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
206 gchar *newpath = g_strconcat(path, "/", f, NULL);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
207
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
208 if (!g_file_test(newpath, G_FILE_TEST_IS_DIR) &&
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
209 has_front_cover_extension(f) &&
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
210 is_file_image(f, file_name)) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
211 g_dir_close(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
212 return newpath;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
213 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
214
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
215 g_free(newpath);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
216 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
217 g_dir_rewind(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
218 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
219
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
220 /* Search for files using filter */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
221 while ((f = g_dir_read_name(d))) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
222 gchar *newpath = g_strconcat(path, "/", f, NULL);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
223
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
224 if (!g_file_test(newpath, G_FILE_TEST_IS_DIR) &&
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
225 has_front_cover_extension(f) &&
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
226 is_front_cover_image(f)) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
227 g_dir_close(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
228 return newpath;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
229 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
230
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
231 g_free(newpath);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
232 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
233 g_dir_rewind(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
234
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
235 /* checks whether recursive or not. */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
236 if (!cfg.recurse_for_cover) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
237 g_dir_close(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
238 return NULL;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
239 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
240
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
241 /* Descend into directories recursively. */
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
242 while ((f = g_dir_read_name(d))) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
243 gchar *newpath = g_strconcat(path, "/", f, NULL);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
244
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
245 if(g_file_test(newpath, G_FILE_TEST_IS_DIR)) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
246 gchar *tmp = fileinfo_recursive_get_image(newpath,
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
247 NULL, depth + 1);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
248 if(tmp) {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
249 g_free(newpath);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
250 g_dir_close(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
251 return tmp;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
252 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
253 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
254
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
255 g_free(newpath);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
256 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
257
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
258 g_dir_close(d);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
259 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
260
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
261 return NULL;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
262 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
263
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
264
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
265 static gboolean
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
266 audacious_fileinfopopup_progress_cb ( gpointer filepopup_win )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
267 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
268 GtkWidget *progressbar = g_object_get_data( G_OBJECT(filepopup_win) , "progressbar" );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
269 gchar *tooltip_file = g_object_get_data( G_OBJECT(filepopup_win) , "file" );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
270 gchar *current_file;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
271 Playlist *pl;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
272 gint length = GPOINTER_TO_INT(g_object_get_data( G_OBJECT(filepopup_win) , "length" ));
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
273 gint pos;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
274 gint time;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
275
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
276 pl = playlist_get_active();
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
277 pos = playlist_get_position(pl);
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
278
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
279 current_file = playlist_get_filename( pl , pos );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
280 time = playback_get_time();
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
281
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
282 if ( ( time != -1 ) &&
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
283 ( length != -1 ) &&
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
284 ( ( current_file != NULL ) && ( !strcmp(tooltip_file,current_file) ) ) )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
285 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
286 gchar *progress_time = g_strdup_printf("%d:%02d", time / 60000, (time / 1000) % 60);
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
287 gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(progressbar) , (gdouble)time / (gdouble)length );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
288 gtk_progress_bar_set_text( GTK_PROGRESS_BAR(progressbar) , progress_time );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
289 g_free( progress_time );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
290 if ( GTK_WIDGET_VISIBLE(progressbar) != TRUE )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
291 gtk_widget_show(progressbar);
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
292 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
293 else
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
294 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
295 /* tooltip opened, but song is not the same,
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
296 or playback is stopped, or length is not applicabile */
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
297 if ( GTK_WIDGET_VISIBLE(progressbar) == TRUE )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
298 gtk_widget_hide(progressbar);
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
299 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
300
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
301 return TRUE;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
302 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
303
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
304 static gboolean
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
305 audacious_fileinfopopup_progress_check_active ( GtkWidget * filepopup_win )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
306 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
307 if ( GPOINTER_TO_INT(g_object_get_data(G_OBJECT(filepopup_win),"progress_sid")) == 0 )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
308 return FALSE;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
309 else
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
310 return TRUE;
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
311 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
312
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
313 static void
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
314 audacious_fileinfopopup_progress_init ( GtkWidget * filepopup_win )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
315 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
316 g_object_set_data( G_OBJECT(filepopup_win) , "progress_sid" , GINT_TO_POINTER(0) );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
317 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
318
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
319 static void
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
320 audacious_fileinfopopup_progress_start ( GtkWidget * filepopup_win )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
321 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
322 gint sid = g_timeout_add( 500 , (GSourceFunc)audacious_fileinfopopup_progress_cb , filepopup_win );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
323 g_object_set_data( G_OBJECT(filepopup_win) , "progress_sid" , GINT_TO_POINTER(sid) );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
324 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
325
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
326 static void
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
327 audacious_fileinfopopup_progress_stop ( GtkWidget * filepopup_win )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
328 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
329 gint sid = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(filepopup_win),"progress_sid"));
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
330 if ( sid != 0 )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
331 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
332 g_source_remove( sid );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
333 g_object_set_data(G_OBJECT(filepopup_win),"progress_sid",GINT_TO_POINTER(0));
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
334 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
335 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
336
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
337
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
338
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
339 GtkWidget *
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
340 audacious_fileinfopopup_create(void)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
341 {
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
342 GtkWidget *filepopup_win;
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
343 GtkWidget *filepopup_hbox;
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
344 GtkWidget *filepopup_data_image;
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
345 GtkWidget *filepopup_data_table;
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
346 GtkWidget *filepopup_data_info_header[7];
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
347 GtkWidget *filepopup_data_info_label[7];
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
348 GtkWidget *filepopup_progress;
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
349 gchar *markup;
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
350
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
351 filepopup_win = gtk_window_new( GTK_WINDOW_POPUP );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
352 gtk_window_set_decorated( GTK_WINDOW(filepopup_win), FALSE );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
353 gtk_container_set_border_width( GTK_CONTAINER(filepopup_win) , 6 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
354 gtk_window_set_transient_for( GTK_WINDOW(filepopup_win) , GTK_WINDOW(mainwin) );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
356 filepopup_hbox = gtk_hbox_new( FALSE , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
357 gtk_container_add( GTK_CONTAINER(filepopup_win) , filepopup_hbox );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
358
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
359 filepopup_data_image = gtk_image_new();
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
360 gtk_misc_set_alignment( GTK_MISC(filepopup_data_image) , 0.5 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
361 gtk_image_set_from_file( GTK_IMAGE(filepopup_data_image) , DATA_DIR "/images/audio.png" );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
362 g_object_set_data( G_OBJECT(filepopup_win) , "image_artwork" , filepopup_data_image );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
363 g_object_set_data( G_OBJECT(filepopup_win) , "last_artwork" , NULL );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
364 gtk_box_pack_start( GTK_BOX(filepopup_hbox) , filepopup_data_image , FALSE , FALSE , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
365
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
366 gtk_box_pack_start( GTK_BOX(filepopup_hbox) , gtk_vseparator_new() , FALSE , FALSE , 6 );
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
367
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
368 filepopup_data_table = gtk_table_new( 8 , 2 , FALSE );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
369 gtk_table_set_row_spacings( GTK_TABLE(filepopup_data_table) , 0 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
370 gtk_table_set_col_spacings( GTK_TABLE(filepopup_data_table) , 6 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
371 gtk_box_pack_start( GTK_BOX(filepopup_hbox) , filepopup_data_table , TRUE , TRUE , 0 );
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
372
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
373 /* title */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
374 filepopup_data_info_header[0] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
375 filepopup_data_info_label[0] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
376 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[0]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
377 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[0]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
378 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[0]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
379 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[0]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
380 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Title") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
381 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[0]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
382 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
383 g_object_set_data( G_OBJECT(filepopup_win) , "header_title" , filepopup_data_info_header[0] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
384 g_object_set_data( G_OBJECT(filepopup_win) , "label_title" , filepopup_data_info_label[0] );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
385 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[0] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
386 0 , 1 , 0 , 1 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
387 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[0] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
388 1 , 2 , 0 , 1 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
389
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
390 /* artist */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
391 filepopup_data_info_header[1] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
392 filepopup_data_info_label[1] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
393 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[1]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
394 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[1]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
395 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[1]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
396 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[1]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
397 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Artist") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
398 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[1]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
399 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
400 g_object_set_data( G_OBJECT(filepopup_win) , "header_artist" , filepopup_data_info_header[1] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
401 g_object_set_data( G_OBJECT(filepopup_win) , "label_artist" , filepopup_data_info_label[1] );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
402 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[1] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
403 0 , 1 , 1 , 2 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
404 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[1] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
405 1 , 2 , 1 , 2 , GTK_FILL , 0 , 0 , 0 );
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
406
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
407 /* album */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
408 filepopup_data_info_header[2] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
409 filepopup_data_info_label[2] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
410 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[2]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
411 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[2]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
412 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[2]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
413 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[2]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
414 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Album") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
415 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[2]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
416 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
417 g_object_set_data( G_OBJECT(filepopup_win) , "header_album" , filepopup_data_info_header[2] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
418 g_object_set_data( G_OBJECT(filepopup_win) , "label_album" , filepopup_data_info_label[2] );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
419 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[2] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
420 0 , 1 , 2 , 3 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
421 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[2] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
422 1 , 2 , 2 , 3 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
423
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
424 /* genre */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
425 filepopup_data_info_header[3] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
426 filepopup_data_info_label[3] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
427 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[3]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
428 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[3]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
429 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[3]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
430 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[3]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
431 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Genre") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
432 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[3]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
433 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
434 g_object_set_data( G_OBJECT(filepopup_win) , "header_genre" , filepopup_data_info_header[3] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
435 g_object_set_data( G_OBJECT(filepopup_win) , "label_genre" , filepopup_data_info_label[3] );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
436 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[3] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
437 0 , 1 , 3 , 4 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
438 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[3] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
439 1 , 2 , 3 , 4 , GTK_FILL , 0 , 0 , 0 );
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
440
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
441 /* year */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
442 filepopup_data_info_header[4] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
443 filepopup_data_info_label[4] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
444 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[4]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
445 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[4]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
446 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[4]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
447 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[4]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
448 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Year") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
449 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[4]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
450 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
451 g_object_set_data( G_OBJECT(filepopup_win) , "header_year" , filepopup_data_info_header[4] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
452 g_object_set_data( G_OBJECT(filepopup_win) , "label_year" , filepopup_data_info_label[4] );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
453 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[4] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
454 0 , 1 , 4 , 5 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
455 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[4] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
456 1 , 2 , 4 , 5 , GTK_FILL , 0 , 0 , 0 );
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
457
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
458 /* Track Number */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
459 filepopup_data_info_header[5] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
460 filepopup_data_info_label[5] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
461 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[5]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
462 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[5]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
463 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[5]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
464 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[5]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
465 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Track Number") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
466 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[5]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
467 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
468 g_object_set_data( G_OBJECT(filepopup_win) , "header_tracknum" , filepopup_data_info_header[5] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
469 g_object_set_data( G_OBJECT(filepopup_win) , "label_tracknum" , filepopup_data_info_label[5] );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
470 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[5] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
471 0 , 1 , 5 , 6 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
472 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[5] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
473 1 , 2 , 5 , 6 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
474
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
475 /* Track Length */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
476 filepopup_data_info_header[6] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
477 filepopup_data_info_label[6] = gtk_label_new("");
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
478 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_header[6]) , 0 , 0.5 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
479 gtk_misc_set_alignment( GTK_MISC(filepopup_data_info_label[6]) , 0 , 0.5 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
480 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_header[6]) , 0 , 3 );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
481 gtk_misc_set_padding( GTK_MISC(filepopup_data_info_label[6]) , 0 , 3 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
482 markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Track Length") );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
483 gtk_label_set_markup( GTK_LABEL(filepopup_data_info_header[6]) , markup );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
484 g_free( markup );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
485 g_object_set_data( G_OBJECT(filepopup_win) , "header_tracklen" , filepopup_data_info_header[6] );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
486 g_object_set_data( G_OBJECT(filepopup_win) , "label_tracklen" , filepopup_data_info_label[6] );
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
487 g_object_set_data( G_OBJECT(filepopup_win), "length" , GINT_TO_POINTER(-1) );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
488 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_header[6] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
489 0 , 1 , 6 , 7 , GTK_FILL , 0 , 0 , 0 );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
490 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_data_info_label[6] ,
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
491 1 , 2 , 6 , 7 , GTK_FILL , 0 , 0 , 0 );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
492 gtk_table_set_row_spacing( GTK_TABLE(filepopup_data_table) , 6 , 6 );
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
493
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
494 /* Track Progress */
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
495 filepopup_progress = gtk_progress_bar_new();
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
496 gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(filepopup_progress) , GTK_PROGRESS_LEFT_TO_RIGHT );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
497 gtk_progress_bar_set_text( GTK_PROGRESS_BAR(filepopup_progress) , "" );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
498 gtk_table_attach( GTK_TABLE(filepopup_data_table) , filepopup_progress ,
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
499 0 , 2 , 7 , 8 , GTK_FILL , 0 , 0 , 0 );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
500 g_object_set_data( G_OBJECT(filepopup_win) , "file" , NULL );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
501 g_object_set_data( G_OBJECT(filepopup_win) , "progressbar" , filepopup_progress );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
502 audacious_fileinfopopup_progress_init( filepopup_win );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
503
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
504 /* this will realize all widgets contained in filepopup_hbox */
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
505 gtk_widget_show_all(filepopup_hbox);
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
506
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
507 /* do not show the track progress */
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
508 gtk_widget_hide( filepopup_progress );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
509
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
510 return filepopup_win;
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
511 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
512
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
513 void
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
514 audacious_fileinfopopup_destroy(GtkWidget *filepopup_win)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
515 {
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
516 audacious_fileinfopopup_progress_stop( filepopup_win );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
517
2355
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
518 gchar *last_artwork = g_object_get_data( G_OBJECT(filepopup_win) , "last_artwork" );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
519 if ( last_artwork != NULL ) g_free(last_artwork);
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
520 gtk_widget_destroy( filepopup_win );
f03beaca8e81 [svn] - ui_fileinfopopup.c uses gtk code, no more glade in it
giacomo
parents: 2351
diff changeset
521 return;
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
522 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
523
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
524 void
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
525 audacious_fileinfopopup_show_from_tuple(GtkWidget *filepopup_win, TitleInput *tuple)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
526 {
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
527 gchar *tmp = NULL;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
528 gint x, y, x_off = 3, y_off = 3, h, w;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
529
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
530 gchar *last_artwork = g_object_get_data( G_OBJECT(filepopup_win) , "last_artwork" );
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
531 const static char default_artwork[] = DATA_DIR "/images/audio.png";
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
532
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
533 if (tuple == NULL)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
534 return;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
535
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
536 if ( g_object_get_data( G_OBJECT(filepopup_win) , "file" ) != NULL )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
537 g_free( g_object_get_data( G_OBJECT(filepopup_win) , "file" ) );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
538 if ( ( tuple->file_path ) && ( tuple->file_name ) )
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
539 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
540 g_object_set_data( G_OBJECT(filepopup_win) , "file" ,
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
541 g_build_filename( tuple->file_path , tuple->file_name , NULL ) );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
542 }
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
543
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
544 gtk_widget_realize(filepopup_win);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
545
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
546 if ( tuple->track_name != NULL )
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
547 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
548 gchar *markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Title") );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
549 gtk_label_set_markup( GTK_LABEL(g_object_get_data(G_OBJECT(filepopup_win),"header_title")), markup );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
550 g_free( markup );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
551 filepopup_entry_set_text(filepopup_win, "label_title", tuple->track_name);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
552 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
553 else
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
554 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
555 /* display the filename if track_name is not available */
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
556 gchar *markup = g_markup_printf_escaped( "<span style=\"italic\">%s</span>" , _("Filename") );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
557 gtk_label_set_markup( GTK_LABEL(g_object_get_data(G_OBJECT(filepopup_win),"header_title")), markup );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
558 g_free( markup );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
559 filepopup_entry_set_text(filepopup_win, "label_title", tuple->file_name);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
560 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
561
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
562 if ( tuple->performer != NULL )
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
563 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
564 filepopup_entry_set_text(filepopup_win, "label_artist", tuple->performer);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
565 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_artist")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
566 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_artist")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
567 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
568 else
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
569 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
570 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_artist")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
571 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_artist")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
572 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
573
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
574 if ( tuple->album_name != NULL )
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
575 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
576 filepopup_entry_set_text(filepopup_win, "label_album", tuple->album_name);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
577 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_album")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
578 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_album")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
579 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
580 else
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
581 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
582 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_album")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
583 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_album")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
584 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
585
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
586 if ( tuple->genre != NULL )
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
587 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
588 filepopup_entry_set_text(filepopup_win, "label_genre", tuple->genre);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
589 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_genre")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
590 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_genre")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
591 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
592 else
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
593 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
594 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_genre")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
595 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_genre")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
596 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
597
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
598 if (tuple->length > 0)
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
599 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
600 filepopup_entry_set_text_free(filepopup_win, "label_tracklen", g_strdup_printf("%d:%02d", tuple->length / 60000, (tuple->length / 1000) % 60));
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
601 g_object_set_data( G_OBJECT(filepopup_win), "length" , GINT_TO_POINTER(tuple->length) );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
602 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_tracklen")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
603 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_tracklen")));
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
604 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
605 else
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
606 {
2362
424bc51df918 [svn] - ensure that year/tracknumber/length fields are cleared if necessary
giacomo
parents: 2357
diff changeset
607 filepopup_entry_set_text(filepopup_win, "label_tracklen", "");
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
608 g_object_set_data( G_OBJECT(filepopup_win), "length" , GINT_TO_POINTER(-1) );
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
609 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_tracklen")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
610 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_tracklen")));
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
611 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
612
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
613 if (tuple->year != 0)
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
614 {
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
615 filepopup_entry_set_text_free(filepopup_win, "label_year", g_strdup_printf("%d", tuple->year));
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
616 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_year")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
617 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_year")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
618 }
2362
424bc51df918 [svn] - ensure that year/tracknumber/length fields are cleared if necessary
giacomo
parents: 2357
diff changeset
619 else
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
620 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
621 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_year")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
622 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_year")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
623 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
624
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
625 if (tuple->track_number != 0)
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
626 {
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
627 filepopup_entry_set_text_free(filepopup_win, "label_tracknum", g_strdup_printf("%d", tuple->track_number));
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
628 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_tracknum")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
629 gtk_widget_show(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_tracknum")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
630 }
2362
424bc51df918 [svn] - ensure that year/tracknumber/length fields are cleared if necessary
giacomo
parents: 2357
diff changeset
631 else
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
632 {
2362
424bc51df918 [svn] - ensure that year/tracknumber/length fields are cleared if necessary
giacomo
parents: 2357
diff changeset
633 filepopup_entry_set_text(filepopup_win, "label_tracknum", "");
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
634 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"header_tracknum")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
635 gtk_widget_hide(GTK_WIDGET(g_object_get_data(G_OBJECT(filepopup_win),"label_tracknum")));
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
636 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
637
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
638 if ( ( tuple->file_path ) && ( tuple->file_name ) )
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
639 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
640 tmp = fileinfo_recursive_get_image(tuple->file_path, tuple->file_name, 0);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
641 if (tmp) { // picture found
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
642 if (!last_artwork || strcmp(last_artwork, tmp)) { // new picture
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
643 filepopup_entry_set_image(filepopup_win, "image_artwork", tmp);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
644 if (last_artwork) g_free(last_artwork);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
645 last_artwork = tmp;
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
646 g_object_set_data( G_OBJECT(filepopup_win) , "last_artwork" , last_artwork );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
647 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
648 else { // same picture
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
649 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
650 }
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
651 else { // no picture found
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
652 if (!last_artwork || strcmp(last_artwork, default_artwork)) {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
653 filepopup_entry_set_image(filepopup_win, "image_artwork", default_artwork);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
654 if (last_artwork) g_free(last_artwork);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
655 last_artwork = g_strdup(default_artwork);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
656 g_object_set_data( G_OBJECT(filepopup_win) , "last_artwork" , last_artwork );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
657 }
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
658 else {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
659 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
660 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
661 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
662
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
663 /* start a timer that updates a progress bar if the tooltip
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
664 is shown for the song that is being currently played */
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
665 if ( audacious_fileinfopopup_progress_check_active( filepopup_win ) == FALSE )
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
666 {
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
667 audacious_fileinfopopup_progress_start( filepopup_win );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
668 /* also run immediately the callback once, to update progressbar status */
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
669 audacious_fileinfopopup_progress_cb( filepopup_win );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
670 }
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
671
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
672 gdk_window_get_pointer(NULL, &x, &y, NULL);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
673 gtk_window_get_size(GTK_WINDOW(filepopup_win), &w, &h);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
674 if (gdk_screen_width()-(w+3) < x) x_off = (w*-1)-3;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
675 if (gdk_screen_height()-(h+3) < y) y_off = (h*-1)-3;
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
676 gtk_window_move(GTK_WINDOW(filepopup_win), x + x_off, y + y_off);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
677
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
678 gtk_widget_show(filepopup_win);
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
679 }
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
680
2395
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
681 void
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
682 audacious_fileinfopopup_show_from_title(GtkWidget *filepopup_win, gchar *title)
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
683 {
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
684 TitleInput * tuple = bmp_title_input_new();
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
685 tuple->track_name = g_strdup(title);
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
686 audacious_fileinfopopup_show_from_tuple( filepopup_win , tuple );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
687 bmp_title_input_free( tuple );
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
688 return;
b047268eec32 [svn] - made the song info popup window a bit smarter; do not display missing information, display filename if title is missing; also, added a audacious_fileinfopopup_show_from_title to show a popup using a generic string (i.e. the one picked from playlist_get_songtitle when a tuple is not available, useful for http streams)
giacomo
parents: 2362
diff changeset
689 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
690
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
691 void
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
692 audacious_fileinfopopup_hide(GtkWidget *filepopup_win, gpointer unused)
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
693 {
2351
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
694 if ( GTK_WIDGET_VISIBLE(filepopup_win) == TRUE )
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
695 {
2357
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
696 audacious_fileinfopopup_progress_stop( filepopup_win );
139d2358f617 [svn] - added progressbar with display of elapsed time for metadata tooltip
giacomo
parents: 2355
diff changeset
697
2351
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
698 gtk_widget_hide(filepopup_win);
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
699
2351
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
700 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_title", "");
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
701 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_artist", "");
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
702 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_album", "");
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
703 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_genre", "");
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
704 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_track", "");
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
705 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_year", "");
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
706 filepopup_entry_set_text(GTK_WIDGET(filepopup_win), "label_length", "");
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
707
2351
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
708 gtk_window_resize(GTK_WINDOW(filepopup_win), 1, 1);
911743d27aba [svn] - simplify and optimize the metadata tooltip trigger function
giacomo
parents: 2348
diff changeset
709 }
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents:
diff changeset
710 }