annotate audacious/ui_fileinfo.c @ 1299:ead95abdf9bc trunk

[svn] - downsize images larger than 150px
author nenolod
date Sun, 18 Jun 2006 22:14:56 -0700
parents 61b576d80cbb
children a5c4e748d557
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
1 /*
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
2 * Audacious: A cross-platform multimedia player
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
3 * Copyright (c) 2006 William Pitcock, Tony Vroon, George Averill,
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
4 * Giacomo Lozito, Derek Pomery and Yoshiki Yazawa.
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
5 *
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
9 * (at your option) any later version.
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
10 *
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
14 * GNU General Public License for more details.
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
15 *
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
19 */
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
20
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
21 #ifdef HAVE_CONFIG_H
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
22 # include "config.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
23 #endif
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
24
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
25 #include <glib.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
26 #include <glib/gi18n.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
27 #include <gtk/gtk.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
28 #include <glade/glade.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
29 #include <string.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
30 #include <stddef.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
31 #include <stdio.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
32 #include <sys/types.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
33 #include <dirent.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
34 #include <unistd.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
35 #include <errno.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
36 #include <sys/types.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
37 #include <sys/stat.h>
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
38
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
39 #include "glade.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
40
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
41 #include "plugin.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
42 #include "pluginenum.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
43 #include "input.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
44 #include "effect.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
45 #include "general.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
46 #include "output.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
47 #include "visualization.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
48
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
49 #include "main.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
50 #include "skin.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
51 #include "urldecode.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
52 #include "util.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
53 #include "dnd.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
54 #include "libaudacious/configdb.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
55 #include "libaudacious/titlestring.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
56
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
57 #include "playlist.h"
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
58
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
59 #include "mainwin.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
60 #include "ui_playlist.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
61 #include "skinwin.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
62 #include "playlist_list.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
63 #include "build_stamp.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
64 #include "ui_fileinfo.h"
1284
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
65 #include "ui_playlist.h"
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
66
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
67 GtkWidget *fileinfo_win;
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
68 GtkWidget *filepopup_win;
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
69
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
70 /* XXX: possible cover names, we need a better solution than this */
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
71 static gchar *artwork_fn[] = { "cover.jpg", "Cover.jpg", "cover.JPG", "Cover.JPG", NULL };
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
72
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
73 static void
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
74 fileinfo_entry_set_text(const char *entry, const char *text)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
75 {
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
76 GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
77 GtkWidget *widget = glade_xml_get_widget(xml, entry);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
78
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
79 if (xml == NULL || widget == NULL)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
80 return;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
81
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
82 gtk_entry_set_text(GTK_ENTRY(widget), text);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
83 }
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
84
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
85 static void
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
86 fileinfo_entry_set_text_free(const char *entry, char *text)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
87 {
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
88 GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
89 GtkWidget *widget = glade_xml_get_widget(xml, entry);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
90
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
91 if (xml == NULL || widget == NULL)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
92 return;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
93
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
94 gtk_entry_set_text(GTK_ENTRY(widget), text);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
95
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
96 g_free(text);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
97 }
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
98
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
99 static void
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
100 fileinfo_entry_set_image(const char *entry, const char *text)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
101 {
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
102 GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
103 GtkWidget *widget = glade_xml_get_widget(xml, entry);
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
104 GdkPixbuf *pixbuf;
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
105
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
106 if (xml == NULL || widget == NULL)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
107 return;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
108
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
109 pixbuf = gdk_pixbuf_new_from_file(text, NULL);
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
110
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
111 if (pixbuf == NULL)
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
112 return;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
113
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
114 if (gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf)) > 150)
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
115 {
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
116 GdkPixbuf *pixbuf2 = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), 150, 150, GDK_INTERP_BILINEAR);
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
117 g_object_unref(G_OBJECT(pixbuf));
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
118 pixbuf = pixbuf2;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
119 }
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
120
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
121 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf));
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
122 }
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
123
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
124 static void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
125 filepopup_entry_set_text(const char *entry, const char *text)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
126 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
127 GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
128 GtkWidget *widget = glade_xml_get_widget(xml, entry);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
129
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
130 if (xml == NULL || widget == NULL)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
131 return;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
132
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
133 gtk_label_set_text(GTK_LABEL(widget), text);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
134 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
135
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
136 static void
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
137 filepopup_entry_set_image(const char *entry, const char *text)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
138 {
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
139 GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
140 GtkWidget *widget = glade_xml_get_widget(xml, entry);
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
141 GdkPixbuf *pixbuf;
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
142
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
143 if (xml == NULL || widget == NULL)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
144 return;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
145
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
146 pixbuf = gdk_pixbuf_new_from_file(text, NULL);
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
147
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
148 if (pixbuf == NULL)
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
149 return;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
150
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
151 if (gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf)) > 150)
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
152 {
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
153 GdkPixbuf *pixbuf2 = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), 150, 150, GDK_INTERP_BILINEAR);
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
154 g_object_unref(G_OBJECT(pixbuf));
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
155 pixbuf = pixbuf2;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
156 }
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
157
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
158 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf));
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
159 }
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
160
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
161 static void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
162 filepopup_entry_set_text_free(const char *entry, char *text)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
163 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
164 GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
165 GtkWidget *widget = glade_xml_get_widget(xml, entry);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
166
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
167 if (xml == NULL || widget == NULL)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
168 return;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
169
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
170 gtk_label_set_text(GTK_LABEL(widget), text);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
171
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
172 g_free(text);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
173 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
174
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
175 static gboolean
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
176 filepopup_pointer_check_iter(gpointer unused)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
177 {
1298
61b576d80cbb [svn] nitpicks, whee! just so I can see the popup when snapped against screen edge.
nemo
parents: 1297
diff changeset
178 gint x, y, x_off = 3, y_off = 3, h, w, pos;
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
179 TitleInput *tuple;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
180 static gint prev_x = 0, prev_y = 0, ctr = 0;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
181
1292
3137c50451e2 [svn] - entirely unwire tooltips if the playlist is shaded
nenolod
parents: 1288
diff changeset
182 if (playlistwin_is_shaded() || playlistwin_list->pl_tooltips == FALSE)
1284
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
183 {
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
184 ctr = 0;
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
185 return TRUE;
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
186 }
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
187
1286
f8c976466f60 [svn] - proper X11 way of fixing this
nenolod
parents: 1285
diff changeset
188 gdk_window_get_pointer(playlistwin->window, &x, &y, NULL);
f8c976466f60 [svn] - proper X11 way of fixing this
nenolod
parents: 1285
diff changeset
189
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
190 if (prev_x == x && prev_y == y)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
191 ctr++;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
192 else
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
193 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
194 ctr = 0;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
195 prev_x = x;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
196 prev_y = y;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
197 filepopup_hide(NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
198 return TRUE;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
199 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
200
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
201 if (ctr >= 20)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
202 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
203 pos = playlist_list_get_playlist_position(playlistwin_list, x, y);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
204
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
205 if (pos == -1)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
206 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
207 filepopup_hide(NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
208 return TRUE;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
209 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
210
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
211 tuple = playlist_get_tuple(pos);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
212
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
213 gdk_window_get_pointer(NULL, &x, &y, NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
214 filepopup_show_for_tuple(tuple);
1298
61b576d80cbb [svn] nitpicks, whee! just so I can see the popup when snapped against screen edge.
nemo
parents: 1297
diff changeset
215 gtk_window_get_size(GTK_WINDOW(filepopup_win), &w, &h);
61b576d80cbb [svn] nitpicks, whee! just so I can see the popup when snapped against screen edge.
nemo
parents: 1297
diff changeset
216 if (gdk_screen_width()-(w+3) < x) x_off = (w*-1)-3;
61b576d80cbb [svn] nitpicks, whee! just so I can see the popup when snapped against screen edge.
nemo
parents: 1297
diff changeset
217 if (gdk_screen_height()-(h+3) < y) y_off = (h*-1)-3;
61b576d80cbb [svn] nitpicks, whee! just so I can see the popup when snapped against screen edge.
nemo
parents: 1297
diff changeset
218 gtk_window_move(GTK_WINDOW(filepopup_win), x + x_off, y + y_off);
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
219 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
220
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
221 return TRUE;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
222 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
223
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
224 void fileinfo_hide(gpointer unused)
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
225 {
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
226 gtk_widget_hide(fileinfo_win);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
227
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
228 /* Clear it out. */
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
229 fileinfo_entry_set_text("entry_title", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
230 fileinfo_entry_set_text("entry_artist", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
231 fileinfo_entry_set_text("entry_album", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
232 fileinfo_entry_set_text("entry_comment", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
233 fileinfo_entry_set_text("entry_genre", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
234 fileinfo_entry_set_text("entry_year", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
235 fileinfo_entry_set_text("entry_track", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
236 fileinfo_entry_set_text("entry_location", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
237 }
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
238
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
239 void filepopup_hide(gpointer unused)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
240 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
241 gtk_widget_hide(filepopup_win);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
242
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
243 filepopup_entry_set_text("label_title", "");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
244 filepopup_entry_set_text("label_artist", "");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
245 filepopup_entry_set_text("label_album", "");
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
246 filepopup_entry_set_text("label_genre", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
247 filepopup_entry_set_text("label_track", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
248 filepopup_entry_set_text("label_year", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
249 filepopup_entry_set_text("label_length", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
250 filepopup_entry_set_image("image_artwork", DATA_DIR "/images/audio.png");
1297
f2e1a954237f [svn] - la la la, resize
nenolod
parents: 1296
diff changeset
251
f2e1a954237f [svn] - la la la, resize
nenolod
parents: 1296
diff changeset
252 gtk_window_resize(GTK_WINDOW(filepopup_win), 1, 1);
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
253 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
254
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
255 void
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
256 create_fileinfo_window(void)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
257 {
1263
ccf616f86fb4 [svn] some minor tweaks
nenolod
parents: 1262
diff changeset
258 const gchar *glade_file = DATA_DIR "/glade/fileinfo.glade";
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
259 GladeXML *xml;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
260 GtkWidget *widget;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
261
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
262 xml = glade_xml_new_or_die(_("Track Information Window"), glade_file, NULL, NULL);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
263
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
264 glade_xml_signal_autoconnect(xml);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
265
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
266 fileinfo_win = glade_xml_get_widget(xml, "fileinfo_win");
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
267 g_object_set_data(G_OBJECT(fileinfo_win), "glade-xml", xml);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
268 gtk_window_set_transient_for(GTK_WINDOW(fileinfo_win), GTK_WINDOW(mainwin));
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
269
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
270 widget = glade_xml_get_widget(xml, "image_artwork");
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
271 gtk_image_set_from_file(GTK_IMAGE(widget), DATA_DIR "/images/audio.png");
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
272
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
273 widget = glade_xml_get_widget(xml, "btn_close");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
274 g_signal_connect(G_OBJECT(widget), "clicked", (GCallback) fileinfo_hide, NULL);
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
275 }
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
276
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
277 void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
278 create_filepopup_window(void)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
279 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
280 const gchar *glade_file = DATA_DIR "/glade/fileinfo_popup.glade";
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
281 GladeXML *xml;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
282 GtkWidget *widget;
1287
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
283
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
284 xml = glade_xml_new_or_die(_("Track Information Popup"), glade_file, NULL, NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
285
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
286 glade_xml_signal_autoconnect(xml);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
287
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
288 filepopup_win = glade_xml_get_widget(xml, "win_pl_popup");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
289 g_object_set_data(G_OBJECT(filepopup_win), "glade-xml", xml);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
290 gtk_window_set_transient_for(GTK_WINDOW(filepopup_win), GTK_WINDOW(mainwin));
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
291
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
292 widget = glade_xml_get_widget(xml, "image_artwork");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
293 gtk_image_set_from_file(GTK_IMAGE(widget), DATA_DIR "/images/audio.png");
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
294
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
295 g_timeout_add(50, filepopup_pointer_check_iter, NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
296 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
297
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
298 void
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
299 fileinfo_show_for_tuple(TitleInput *tuple)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
300 {
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
301 gchar *tmp;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
302 gint i;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
303
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
304 if (tuple == NULL)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
305 return;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
306
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
307 gtk_widget_realize(fileinfo_win);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
308
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
309 fileinfo_entry_set_text("entry_title", tuple->track_name);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
310 fileinfo_entry_set_text("entry_artist", tuple->performer);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
311 fileinfo_entry_set_text("entry_album", tuple->album_name);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
312 fileinfo_entry_set_text("entry_comment", tuple->comment);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
313 fileinfo_entry_set_text("entry_genre", tuple->genre);
1270
feff5a622f06 [svn] - improvements
nenolod
parents: 1269
diff changeset
314 fileinfo_entry_set_text_free("entry_location", g_strdup_printf("%s/%s", tuple->file_path, tuple->file_name));
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
315
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
316 if (tuple->year != 0)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
317 fileinfo_entry_set_text_free("entry_year", g_strdup_printf("%d", tuple->year));
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
318
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
319 if (tuple->track_number != 0)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
320 fileinfo_entry_set_text_free("entry_track", g_strdup_printf("%d", tuple->track_number));
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
321
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
322 for (i = 0; artwork_fn[i] != NULL; i++)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
323 {
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
324 tmp = g_strdup_printf("%s/%s", tuple->file_path, artwork_fn[i]);
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
325
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
326 if (g_file_test(tmp, G_FILE_TEST_EXISTS))
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
327 fileinfo_entry_set_image("image_artwork", tmp);
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
328
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
329 g_free(tmp);
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
330 }
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
331
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
332 gtk_widget_show(fileinfo_win);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
333 }
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
334
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
335 void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
336 filepopup_show_for_tuple(TitleInput *tuple)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
337 {
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
338 gchar *tmp;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
339 gint i;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
340
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
341 if (tuple == NULL)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
342 return;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
343
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
344 gtk_widget_realize(filepopup_win);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
345
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
346 filepopup_entry_set_text("label_title", tuple->track_name);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
347 filepopup_entry_set_text("label_artist", tuple->performer);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
348 filepopup_entry_set_text("label_album", tuple->album_name);
1287
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
349 filepopup_entry_set_text("label_genre", tuple->genre);
1288
8de636dfee7a [svn] - improvements to the tuple popup
nenolod
parents: 1287
diff changeset
350 filepopup_entry_set_text_free("label_length", g_strdup_printf("%d:%02d", tuple->length / 60000, (tuple->length / 1000) % 60));
1287
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
351
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
352 if (tuple->year != 0)
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
353 filepopup_entry_set_text_free("label_year", g_strdup_printf("%d", tuple->year));
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
354
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
355 if (tuple->track_number != 0)
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
356 filepopup_entry_set_text_free("label_track", g_strdup_printf("%d", tuple->track_number));
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
357
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
358 for (i = 0; artwork_fn[i] != NULL; i++)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
359 {
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
360 tmp = g_strdup_printf("%s/%s", tuple->file_path, artwork_fn[i]);
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
361
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
362 if (g_file_test(tmp, G_FILE_TEST_EXISTS))
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
363 filepopup_entry_set_image("image_artwork", tmp);
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
364
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
365 g_free(tmp);
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
366 }
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
367
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
368 gtk_widget_show(filepopup_win);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
369 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
370
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
371 void
1269
681b629322c4 [svn] - hook up fileinfo box stuff
nenolod
parents: 1268
diff changeset
372 fileinfo_show_for_path(gchar *path)
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
373 {
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
374 TitleInput *tuple = input_get_song_tuple(path);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
375
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
376 if (tuple == NULL)
1268
97fd96ee4b84 [svn] - generic info box support
nenolod
parents: 1267
diff changeset
377 return input_file_info_box(path);
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
378
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
379 fileinfo_show_for_tuple(tuple);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
380
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
381 bmp_title_input_free(tuple);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
382 }