annotate audacious/ui_fileinfo.c @ 1938:1d9c1026d9f8 trunk

[svn] - DoubleSize support. This has bugs, the most notable one being that DoubleSize only works right if you restart the player. The second bug is rather obvious too. No osmosis skinengine. No TinyPlayer. Classic-esque skinengine only. This is because the doublesize algorithm hates you and wants you to go die in a fire.
author nenolod
date Sun, 05 Nov 2006 04:43:16 -0800
parents 597bd579d9af
children fb61da4f4c23
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
1459
705d4c089fce [svn] Fix postal code.
chainsaw
parents: 1458
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1262
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 "urldecode.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
51 #include "util.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
52 #include "dnd.h"
1755
3434eb44b304 [svn] - version bump to 1.2.0-rc2
nenolod
parents: 1710
diff changeset
53 #include "titlestring.h"
3434eb44b304 [svn] - version bump to 1.2.0-rc2
nenolod
parents: 1710
diff changeset
54
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
55 #include "libaudacious/configdb.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 "build_stamp.h"
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
63 #include "ui_fileinfo.h"
1284
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
64 #include "ui_playlist.h"
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
65
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
66 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
67 GtkWidget *filepopup_win;
1341
981ffc1cc402 [svn] - properly cast the GDK_WINDOW()
nenolod
parents: 1331
diff changeset
68 GdkPixbuf *filepopup_pixbuf;
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
69
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
70 static void
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
71 fileinfo_entry_set_text(const char *entry, const char *text)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
72 {
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
73 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
74 GtkWidget *widget = glade_xml_get_widget(xml, entry);
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 if (xml == NULL || widget == NULL)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
77 return;
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 gtk_entry_set_text(GTK_ENTRY(widget), text);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
80 }
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 static void
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
83 fileinfo_entry_set_text_free(const char *entry, char *text)
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 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
86 GtkWidget *widget = glade_xml_get_widget(xml, entry);
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 if (xml == NULL || widget == NULL)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
89 return;
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 gtk_entry_set_text(GTK_ENTRY(widget), text);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
92
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
93 g_free(text);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
94 }
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
95
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
96 static void
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
97 fileinfo_entry_set_image(const char *entry, const char *text)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
98 {
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
99 GladeXML *xml = g_object_get_data(G_OBJECT(fileinfo_win), "glade-xml");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
100 GtkWidget *widget = glade_xml_get_widget(xml, entry);
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
101 GdkPixbuf *pixbuf;
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
102 int width, height;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
103 double aspect;
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
104
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
105 if (xml == NULL || widget == NULL)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
106 return;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
107
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
108 pixbuf = gdk_pixbuf_new_from_file(text, NULL);
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
109
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
110 if (pixbuf == NULL)
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
111 return;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
112
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
113 width = gdk_pixbuf_get_width(GDK_PIXBUF(pixbuf));
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
114 height = gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf));
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
115
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
116 if(strcmp(DATA_DIR "/images/audio.png", text))
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
117 {
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
118 if(width == 0)
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
119 width = 1;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
120 aspect = (double)height / (double)width;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
121 if(aspect > 1.0) {
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
122 height = (int)(cfg.filepopup_pixelsize * aspect);
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
123 width = cfg.filepopup_pixelsize;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
124 } else {
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
125 height = cfg.filepopup_pixelsize;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
126 width = (int)(cfg.filepopup_pixelsize / aspect);
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
127 }
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
128 GdkPixbuf *pixbuf2 = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), width, height, GDK_INTERP_BILINEAR);
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
129 g_object_unref(G_OBJECT(pixbuf));
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
130 pixbuf = pixbuf2;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
131 }
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
132
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
133 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf));
1326
41b498d5ae4b [svn] - avoid a memory leak with images
nenolod
parents: 1314
diff changeset
134 g_object_unref(G_OBJECT(pixbuf));
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
135 }
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
136
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
137 static void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
138 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
139 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
140 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
141 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
142
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
143 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
144 return;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
145
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
146 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
147 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
148
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
149 static void
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
150 filepopup_entry_set_image(const char *entry, const char *text)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
151 {
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
152 GladeXML *xml = g_object_get_data(G_OBJECT(filepopup_win), "glade-xml");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
153 GtkWidget *widget = glade_xml_get_widget(xml, entry);
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
154 GdkPixbuf *pixbuf;
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
155 int width, height;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
156 double aspect;
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
157
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
158 if (xml == NULL || widget == NULL)
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
159 return;
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
160
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
161 pixbuf = gdk_pixbuf_new_from_file(text, NULL);
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
162
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
163 if (pixbuf == NULL)
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
164 return;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
165
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
166 width = gdk_pixbuf_get_width(GDK_PIXBUF(pixbuf));
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
167 height = gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf));
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
168
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
169 if(strcmp(DATA_DIR "/images/audio.png", text))
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
170 {
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
171 if(width == 0)
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
172 width = 1;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
173 aspect = (double)height / (double)width;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
174 if(aspect > 1.0) {
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
175 height = (int)(cfg.filepopup_pixelsize * aspect);
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
176 width = cfg.filepopup_pixelsize;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
177 } else {
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
178 height = cfg.filepopup_pixelsize;
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
179 width = (int)(cfg.filepopup_pixelsize / aspect);
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
180 }
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
181 GdkPixbuf *pixbuf2 = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), width, height, GDK_INTERP_BILINEAR);
1299
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
182 g_object_unref(G_OBJECT(pixbuf));
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
183 pixbuf = pixbuf2;
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
184 }
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
185
ead95abdf9bc [svn] - downsize images larger than 150px
nenolod
parents: 1298
diff changeset
186 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf));
1326
41b498d5ae4b [svn] - avoid a memory leak with images
nenolod
parents: 1314
diff changeset
187 g_object_unref(G_OBJECT(pixbuf));
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
188 }
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
189
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
190 static void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
191 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
192 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
193 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
194 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
195
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
196 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
197 return;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
198
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
199 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
200
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
201 g_free(text);
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
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
204 static gboolean
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
205 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
206 {
1312
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
207 gint x, y, pos;
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
208 TitleInput *tuple;
1605
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
209 static gint prev_x = 0, prev_y = 0, ctr = 0, prev_pos = -1;
1775
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
210 static gint shaded_pos = -1, shaded_prev_pos = -1;
1300
a5c4e748d557 [svn] - don't call filepopup_show_for_tuple() more than once
nenolod
parents: 1299
diff changeset
211 gboolean skip = FALSE;
1605
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
212 GdkWindow *win;
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
213
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
214 win = gdk_window_at_pointer(NULL, NULL);
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
215 gdk_window_get_pointer(GDK_WINDOW(playlistwin->window), &x, &y, NULL);
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
216 pos = playlist_list_get_playlist_position(playlistwin_list, x, y);
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
217
1605
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
218 if (win == NULL
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
219 || cfg.show_filepopup_for_tuple == FALSE
1401
3bc53d7f9012 [svn] - now filepopup_pointer_check_iter() returns immediately if cfg.show_filepopup_for_tuple is FALSE.
yaz
parents: 1389
diff changeset
220 || playlistwin_list->pl_tooltips == FALSE
1605
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
221 || pos != prev_pos
1775
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
222 || win != GDK_WINDOW(playlistwin->window))
1284
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
223 {
1605
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
224 prev_pos = pos;
1284
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
225 ctr = 0;
1389
c19443be579d [svn] ensure that the fileinfo popup in playlist disappears when the cursor is moved again
giacomo
parents: 1371
diff changeset
226 if ( filepopup_win->window != NULL &&
c19443be579d [svn] ensure that the fileinfo popup in playlist disappears when the cursor is moved again
giacomo
parents: 1371
diff changeset
227 gdk_window_is_viewable(GDK_WINDOW(filepopup_win->window)) )
c19443be579d [svn] ensure that the fileinfo popup in playlist disappears when the cursor is moved again
giacomo
parents: 1371
diff changeset
228 filepopup_hide(NULL);
1284
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
229 return TRUE;
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
230 }
13d5b542f4fd [svn] - kludge
nenolod
parents: 1283
diff changeset
231
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
232 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
233 ctr++;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
234 else
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
235 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
236 ctr = 0;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
237 prev_x = x;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
238 prev_y = y;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
239 filepopup_hide(NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
240 return TRUE;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
241 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
242
1300
a5c4e748d557 [svn] - don't call filepopup_show_for_tuple() more than once
nenolod
parents: 1299
diff changeset
243 if (filepopup_win->window == NULL)
a5c4e748d557 [svn] - don't call filepopup_show_for_tuple() more than once
nenolod
parents: 1299
diff changeset
244 skip = TRUE;
a5c4e748d557 [svn] - don't call filepopup_show_for_tuple() more than once
nenolod
parents: 1299
diff changeset
245
1775
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
246 if (playlistwin_is_shaded()) {
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
247 shaded_pos = playlist_get_position();
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
248 if (shaded_prev_pos != shaded_pos)
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
249 skip = TRUE;
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
250 }
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
251
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
252 if (ctr >= cfg.filepopup_delay && (skip == TRUE || gdk_window_is_viewable(GDK_WINDOW(filepopup_win->window)) != TRUE)) {
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
253 if (pos == -1 && !playlistwin_is_shaded()) {
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
254 filepopup_hide(NULL);
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
255 return TRUE;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
256 }
1775
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
257 else { /* shaded mode */
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
258 tuple = playlist_get_tuple(shaded_pos);
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
259 filepopup_hide(NULL);
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
260 filepopup_show_for_tuple(tuple);
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
261 shaded_prev_pos = shaded_pos;
7d32dff734da [svn] improvement of shaded playlist window
yaz
parents: 1755
diff changeset
262 }
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
263
1605
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
264 prev_pos = pos;
ce3ce44d6814 [svn] - filepopup follows change of pointed song, i.e. it will hide while scrolling.
yaz
parents: 1588
diff changeset
265
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
266 tuple = playlist_get_tuple(pos);
1401
3bc53d7f9012 [svn] - now filepopup_pointer_check_iter() returns immediately if cfg.show_filepopup_for_tuple is FALSE.
yaz
parents: 1389
diff changeset
267 filepopup_show_for_tuple(tuple);
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
268 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
269
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
270 return TRUE;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
271 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
272
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
273 void fileinfo_hide(gpointer unused)
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
274 {
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
275 gtk_widget_hide(fileinfo_win);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
276
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
277 /* Clear it out. */
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
278 fileinfo_entry_set_text("entry_title", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
279 fileinfo_entry_set_text("entry_artist", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
280 fileinfo_entry_set_text("entry_album", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
281 fileinfo_entry_set_text("entry_comment", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
282 fileinfo_entry_set_text("entry_genre", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
283 fileinfo_entry_set_text("entry_year", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
284 fileinfo_entry_set_text("entry_track", "");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
285 fileinfo_entry_set_text("entry_location", "");
1307
63d30ae1db33 [svn] - reset the album art back to the default icon
nenolod
parents: 1306
diff changeset
286
63d30ae1db33 [svn] - reset the album art back to the default icon
nenolod
parents: 1306
diff changeset
287 fileinfo_entry_set_image("image_artwork", DATA_DIR "/images/audio.png");
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
288 }
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
289
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
290 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
291 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
292 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
293
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
294 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
295 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
296 filepopup_entry_set_text("label_album", "");
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
297 filepopup_entry_set_text("label_genre", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
298 filepopup_entry_set_text("label_track", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
299 filepopup_entry_set_text("label_year", "");
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
300 filepopup_entry_set_text("label_length", "");
1297
f2e1a954237f [svn] - la la la, resize
nenolod
parents: 1296
diff changeset
301
1307
63d30ae1db33 [svn] - reset the album art back to the default icon
nenolod
parents: 1306
diff changeset
302
1297
f2e1a954237f [svn] - la la la, resize
nenolod
parents: 1296
diff changeset
303 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
304 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
305
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
306 void
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
307 create_fileinfo_window(void)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
308 {
1263
ccf616f86fb4 [svn] some minor tweaks
nenolod
parents: 1262
diff changeset
309 const gchar *glade_file = DATA_DIR "/glade/fileinfo.glade";
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
310 GladeXML *xml;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
311 GtkWidget *widget;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
312
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
313 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
314
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
315 glade_xml_signal_autoconnect(xml);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
316
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
317 fileinfo_win = glade_xml_get_widget(xml, "fileinfo_win");
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
318 g_object_set_data(G_OBJECT(fileinfo_win), "glade-xml", xml);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
319 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
320
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
321 widget = glade_xml_get_widget(xml, "image_artwork");
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
322 gtk_image_set_from_file(GTK_IMAGE(widget), DATA_DIR "/images/audio.png");
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
323
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
324 widget = glade_xml_get_widget(xml, "btn_close");
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
325 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
326 }
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
327
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
328 void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
329 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
330 {
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
331 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
332 GladeXML *xml;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
333 GtkWidget *widget;
1287
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
334
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
335 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
336
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
337 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
338
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
339 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
340 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
341 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
342
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
343 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
344 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
345
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
346 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
347 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
348
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
349 void
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
350 fileinfo_show_for_tuple(TitleInput *tuple)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
351 {
1402
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
352 gchar *tmp = NULL;
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
353
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
354 if (tuple == NULL)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
355 return;
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
356
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
357 gtk_widget_realize(fileinfo_win);
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
358
1864
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
359 if (tuple->track_name)
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
360 fileinfo_entry_set_text("entry_title", tuple->track_name);
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
361 if (tuple->performer)
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
362 fileinfo_entry_set_text("entry_artist", tuple->performer);
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
363 if (tuple->album_name)
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
364 fileinfo_entry_set_text("entry_album", tuple->album_name);
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
365 if (tuple->comment)
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
366 fileinfo_entry_set_text("entry_comment", tuple->comment);
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
367 if (tuple->genre)
0f39dea9f26e [svn] - some fixes via alxorlov on the forums
nenolod
parents: 1775
diff changeset
368 fileinfo_entry_set_text("entry_genre", tuple->genre);
1402
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
369
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
370 tmp = g_strdup_printf("%s/%s", tuple->file_path, tuple->file_name);
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
371 if(tmp){
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
372 fileinfo_entry_set_text_free("entry_location", str_to_utf8(tmp));
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
373 g_free(tmp);
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
374 tmp = NULL;
1abfc389ecc6 [svn] fileinfo_show_for_tuple() sometimes causes "Invalid UTF-8 string"
yaz
parents: 1401
diff changeset
375 }
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
376
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
377 if (tuple->year != 0)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
378 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
379
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
380 if (tuple->track_number != 0)
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
381 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
382
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
383 tmp = fileinfo_recursive_get_image(tuple->file_path, tuple->file_name, 0);
1371
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
384
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
385 if(tmp)
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
386 {
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
387 fileinfo_entry_set_image("image_artwork", tmp);
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
388 g_free(tmp);
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
389 }
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
390
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
391 gtk_widget_show(fileinfo_win);
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
392 }
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
393
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
394 static gboolean
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
395 has_front_cover_extension(const gchar *name)
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
396 {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
397 char *ext;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
398
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
399 ext = strrchr(name, '.');
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
400 if (!ext) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
401 /* No file extension */
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
402 return FALSE;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
403 }
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
404
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
405 return g_strcasecmp(ext, ".jpg") == 0 ||
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
406 g_strcasecmp(ext, ".jpeg") == 0 ||
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
407 g_strcasecmp(ext, ".png") == 0;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
408 }
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
409
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
410 static gboolean
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
411 cover_name_filter(const gchar *name, const gchar *filter, const gboolean ret_on_empty)
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
412 {
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
413 gboolean result = FALSE;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
414 gchar **splitted;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
415 gchar *current;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
416 gchar *lname;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
417 gint i;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
418
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
419 if (!filter || strlen(filter) == 0) {
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
420 return ret_on_empty;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
421 }
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
422
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
423 splitted = g_strsplit(filter, ",", 0);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
424
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
425 lname = g_strdup(name);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
426 g_strdown(lname);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
427
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
428 for (i = 0; !result && (current = splitted[i]); i++) {
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
429 gchar *stripped = g_strstrip(g_strdup(current));
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
430 g_strdown(stripped);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
431
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
432 result = result || strstr(lname, stripped);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
433
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
434 g_free(stripped);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
435 }
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
436
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
437 g_free(lname);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
438 g_strfreev(splitted);
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
439
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
440 return result;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
441 }
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
442
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
443 /* Check wether it's an image we want */
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
444 static gboolean
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
445 is_front_cover_image(const gchar *imgfile)
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
446 {
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
447 return cover_name_filter(imgfile, cfg.cover_name_include, TRUE) &&
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
448 !cover_name_filter(imgfile, cfg.cover_name_exclude, FALSE);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
449 }
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
450
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
451 static gboolean
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
452 is_file_image(const gchar *imgfile, const gchar *file_name)
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
453 {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
454 char *imgfile_ext, *file_name_ext;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
455 size_t imgfile_len, file_name_len;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
456 gboolean matches;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
457
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
458 imgfile_ext = strrchr(imgfile, '.');
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
459 if (!imgfile_ext) {
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
460 /* No file extension */
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
461 return FALSE;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
462 }
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
463
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
464 file_name_ext = strrchr(file_name, '.');
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
465 if (!file_name_ext) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
466 /* No file extension */
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
467 return FALSE;
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
468 }
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
469
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
470 imgfile_len = (imgfile_ext - imgfile);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
471 file_name_len = (file_name_ext - file_name);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
472
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
473 if (imgfile_len == file_name_len) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
474 return (g_ascii_strncasecmp(imgfile, file_name, imgfile_len) == 0);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
475 } else {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
476 return FALSE;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
477 }
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
478 }
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
479
1371
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
480 gchar*
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
481 fileinfo_recursive_get_image(const gchar* path,
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
482 const gchar* file_name, gint depth)
1371
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
483 {
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
484 GDir *d;
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
485
1429
a360afd8df52 [svn] Make annoying recursion that consistently returns wrong art, optional.
nemo
parents: 1413
diff changeset
486 if (cfg.recurse_for_cover && depth > cfg.recurse_for_cover_depth)
1371
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
487 return NULL;
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
488
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
489 d = g_dir_open(path, 0, NULL);
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
490
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
491 if (d) {
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
492 const gchar *f;
1413
878c7f8d0a8c [svn] - filepopup albumart stuff, via hansmi
nenolod
parents: 1402
diff changeset
493
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
494 if (cfg.use_file_cover && file_name) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
495 /* Look for images matching file name */
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
496 while(f = g_dir_read_name(d)) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
497 gchar *newpath = g_strconcat(path, "/", f, NULL);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
498
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
499 if (!g_file_test(newpath, G_FILE_TEST_IS_DIR) &&
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
500 has_front_cover_extension(f) &&
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
501 is_file_image(f, file_name)) {
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
502 g_dir_close(d);
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
503 return newpath;
1371
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
504 }
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
505
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
506 g_free(newpath);
1306
d44e5df149dc [svn] - not sure what all of that cur_dir stuff was, but I think somebody was smoking crack
nenolod
parents: 1304
diff changeset
507 }
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
508 g_dir_rewind(d);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
509 }
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
510
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
511 /* Search for files using filter */
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
512 while (f = g_dir_read_name(d)) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
513 gchar *newpath = g_strconcat(path, "/", f, NULL);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
514
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
515 if (!g_file_test(newpath, G_FILE_TEST_IS_DIR) &&
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
516 has_front_cover_extension(f) &&
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
517 is_front_cover_image(f)) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
518 g_dir_close(d);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
519 return newpath;
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
520 }
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
521
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
522 g_free(newpath);
1303
a9aba74678fc [svn] - nemo's patch applied to fileinfo
nenolod
parents: 1302
diff changeset
523 }
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
524 g_dir_rewind(d);
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
525
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
526 /* checks whether recursive or not. */
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
527 if (!cfg.recurse_for_cover) {
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
528 g_dir_close(d);
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
529 return NULL;
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
530 }
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
531
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
532 /* Descend into directories recursively. */
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
533 while (f = g_dir_read_name(d)) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
534 gchar *newpath = g_strconcat(path, "/", f, NULL);
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
535
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
536 if(g_file_test(newpath, G_FILE_TEST_IS_DIR)) {
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
537 gchar *tmp = fileinfo_recursive_get_image(newpath,
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
538 NULL, depth + 1);
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
539 if(tmp) {
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
540 g_free(newpath);
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
541 g_dir_close(d);
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
542 return tmp;
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
543 }
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
544 }
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
545
1666
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
546 g_free(newpath);
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
547 }
77baac5f7439 [svn] - make fileinfo_recursive_get_image() breadth first search.
yaz
parents: 1611
diff changeset
548
1306
d44e5df149dc [svn] - not sure what all of that cur_dir stuff was, but I think somebody was smoking crack
nenolod
parents: 1304
diff changeset
549 g_dir_close(d);
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
550 }
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
551
1371
ca4f3115d33c [svn] - recursively locate album art, by external contributor Oliver Lumpton.
nenolod
parents: 1358
diff changeset
552 return NULL;
1262
186f774fa30b [svn] - ui_fileinfo goodness (not hooked up yet)
nenolod
parents:
diff changeset
553 }
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
554
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
555 void
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
556 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
557 {
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
558 gchar *tmp = NULL, *fullpath = NULL;
1312
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
559 gint x, y, x_off = 3, y_off = 3, h, w;
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
560
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
561 static gchar *last_artwork = NULL;
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
562
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
563 if (tuple == NULL)
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
564 return;
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
565
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
566 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
567
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
568 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
569 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
570 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
571 filepopup_entry_set_text("label_genre", tuple->genre);
1309
816ea8bbde1c [svn] - if tuple->length == -1 then don't show a length
nenolod
parents: 1307
diff changeset
572
816ea8bbde1c [svn] - if tuple->length == -1 then don't show a length
nenolod
parents: 1307
diff changeset
573 if (tuple->length != -1)
816ea8bbde1c [svn] - if tuple->length == -1 then don't show a length
nenolod
parents: 1307
diff changeset
574 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
575
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
576 if (tuple->year != 0)
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
577 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
578
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
579 if (tuple->track_number != 0)
e778f43a74fb [svn] - make tuples more verbose (they might be a bit big though)
nenolod
parents: 1286
diff changeset
580 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
581
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
582 if (cfg.use_file_cover) {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
583 /* Use the file name */
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
584 fullpath = g_strconcat(tuple->file_path, "/", tuple->file_name, NULL);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
585 } else {
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
586 fullpath = g_strconcat(tuple->file_path, "/", NULL);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
587 }
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
588
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
589 if (!last_artwork || strcmp(last_artwork, fullpath)){
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
590 g_free(last_artwork);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
591 last_artwork = g_strdup(fullpath);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
592
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
593 tmp = fileinfo_recursive_get_image(tuple->file_path, tuple->file_name, 0);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
594 if (tmp)
1710
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
595 {
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
596 filepopup_entry_set_image("image_artwork", tmp);
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
597 g_free(tmp);
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
598 } else {
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
599 filepopup_entry_set_image("image_artwork", DATA_DIR "/images/audio.png");
43ae2a1bfdee [svn] improvement of filepopup:
yaz
parents: 1666
diff changeset
600 }
1296
b7d8e6e77ba6 [svn] - initial album art support
nenolod
parents: 1292
diff changeset
601 }
1889
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
602
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
603 g_free(fullpath);
597bd579d9af [svn] Patch by Michael Hanselmann to fetch a per-song image file.
nemo
parents: 1864
diff changeset
604
1312
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
605 gdk_window_get_pointer(NULL, &x, &y, NULL);
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
606 gtk_window_get_size(GTK_WINDOW(filepopup_win), &w, &h);
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
607 if (gdk_screen_width()-(w+3) < x) x_off = (w*-1)-3;
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
608 if (gdk_screen_height()-(h+3) < y) y_off = (h*-1)-3;
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
609 gtk_window_move(GTK_WINDOW(filepopup_win), x + x_off, y + y_off);
f7244db08f40 [svn] - solve the blink issue
nenolod
parents: 1309
diff changeset
610
1283
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
611 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
612 }
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
613
19b1d3f22e10 [svn] - when hovering over a playlist tuple, describe the tuple via a tooltip-like popup
nenolod
parents: 1270
diff changeset
614 void
1269
681b629322c4 [svn] - hook up fileinfo box stuff
nenolod
parents: 1268
diff changeset
615 fileinfo_show_for_path(gchar *path)
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
616 {
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
617 TitleInput *tuple = input_get_song_tuple(path);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
618
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
619 if (tuple == NULL)
1268
97fd96ee4b84 [svn] - generic info box support
nenolod
parents: 1267
diff changeset
620 return input_file_info_box(path);
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
621
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
622 fileinfo_show_for_tuple(tuple);
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
623
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
624 bmp_title_input_free(tuple);
1588
15d92c51bde6 [svn] - modified time (mtime) has been introduced into tuple
yaz
parents: 1541
diff changeset
625 tuple = NULL;
1267
d5361c48bb18 [svn] - more fun
nenolod
parents: 1263
diff changeset
626 }