Mercurial > audlegacy
annotate src/audacious/ui_fileinfo.c @ 4166:983e6b3e72f3
More cleanups.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Thu, 10 Jan 2008 06:43:58 -0600 |
parents | d4b13079f476 |
children | 7c6b3b6def1a |
rev | line source |
---|---|
2313 | 1 /* |
2 * Audacious: A cross-platform multimedia player | |
3 * Copyright (c) 2006 William Pitcock, Tony Vroon, George Averill, | |
4 * Giacomo Lozito, Derek Pomery and Yoshiki Yazawa. | |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
5 * Copyright (c) 2008 Eugene Zagidullin |
2313 | 6 * |
7 * This program is free software; you can redistribute it and/or modify | |
8 * it under the terms of the GNU General Public License as published by | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
3113
diff
changeset
|
9 * the Free Software Foundation; under version 3 of the License. |
2313 | 10 * |
11 * This program is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
3113
diff
changeset
|
17 * along with this program. If not, see <http://www.gnu.org/licenses>. |
3123
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
18 * |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
19 * The Audacious team does not consider modular code linking to |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
20 * Audacious or using our public API to be a derived work. |
2313 | 21 */ |
22 | |
23 #ifdef HAVE_CONFIG_H | |
24 # include "config.h" | |
25 #endif | |
26 | |
27 #include <glib.h> | |
28 #include <glib/gi18n.h> | |
29 #include <gtk/gtk.h> | |
30 #include <string.h> | |
31 #include <stddef.h> | |
32 #include <stdio.h> | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
33 #include <stdarg.h> |
2313 | 34 #include <sys/types.h> |
35 #include <dirent.h> | |
36 #include <unistd.h> | |
37 #include <errno.h> | |
38 #include <sys/types.h> | |
39 #include <sys/stat.h> | |
40 | |
41 #include "plugin.h" | |
42 #include "pluginenum.h" | |
43 #include "input.h" | |
44 #include "effect.h" | |
2385
ab2b1b6f6179
[svn] - add missing inclusion of strings.h where necessary, do not export main.h and export strings.h
giacomo
parents:
2348
diff
changeset
|
45 #include "strings.h" |
2313 | 46 #include "general.h" |
47 #include "output.h" | |
48 #include "visualization.h" | |
49 | |
50 #include "main.h" | |
51 #include "util.h" | |
52 #include "dnd.h" | |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3123
diff
changeset
|
53 #include "tuple.h" |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
54 #include "vfs.h" |
2313 | 55 |
56 #include "playlist.h" | |
57 | |
58 #include "ui_main.h" | |
59 #include "ui_playlist.h" | |
60 #include "build_stamp.h" | |
61 #include "ui_fileinfo.h" | |
62 #include "ui_playlist.h" | |
63 | |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
64 #define G_FREE_CLEAR(a) if(a != NULL) { g_free(a); a = NULL; } |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
65 #define STATUS_TIMEOUT 3*1000 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
66 |
2313 | 67 GtkWidget *fileinfo_win; |
68 | |
3986 | 69 GtkWidget *entry_location; |
70 GtkWidget *entry_title; | |
71 GtkWidget *entry_artist; | |
72 GtkWidget *entry_album; | |
73 GtkWidget *entry_comment; | |
74 GtkWidget *entry_year; | |
75 GtkWidget *entry_track; | |
76 GtkWidget *entry_genre; | |
77 | |
78 GtkWidget *image_artwork; | |
79 | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
80 GtkWidget *image_fileicon; |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
81 GtkWidget *label_format_name; |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
82 GtkWidget *label_quality; |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
83 GtkWidget *label_bitrate; |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
84 GtkWidget *btn_apply; |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
85 GtkWidget *label_mini_status; |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
86 GtkWidget *arrow_rawdata; |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
87 GtkWidget *treeview_rawdata; |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
88 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
89 static gchar *current_file = NULL; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
90 static InputPlugin *current_ip = NULL; |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
91 static gboolean something_changed = FALSE; |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
92 |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
93 /* stolen from Audacious 1.4 vorbis plugin. --nenolod */ |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
94 static const gchar *genre_table[] = { |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
95 N_("Blues"), N_("Classic Rock"), N_("Country"), N_("Dance"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
96 N_("Disco"), N_("Funk"), N_("Grunge"), N_("Hip-Hop"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
97 N_("Jazz"), N_("Metal"), N_("New Age"), N_("Oldies"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
98 N_("Other"), N_("Pop"), N_("R&B"), N_("Rap"), N_("Reggae"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
99 N_("Rock"), N_("Techno"), N_("Industrial"), N_("Alternative"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
100 N_("Ska"), N_("Death Metal"), N_("Pranks"), N_("Soundtrack"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
101 N_("Euro-Techno"), N_("Ambient"), N_("Trip-Hop"), N_("Vocal"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
102 N_("Jazz+Funk"), N_("Fusion"), N_("Trance"), N_("Classical"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
103 N_("Instrumental"), N_("Acid"), N_("House"), N_("Game"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
104 N_("Sound Clip"), N_("Gospel"), N_("Noise"), N_("AlternRock"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
105 N_("Bass"), N_("Soul"), N_("Punk"), N_("Space"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
106 N_("Meditative"), N_("Instrumental Pop"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
107 N_("Instrumental Rock"), N_("Ethnic"), N_("Gothic"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
108 N_("Darkwave"), N_("Techno-Industrial"), N_("Electronic"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
109 N_("Pop-Folk"), N_("Eurodance"), N_("Dream"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
110 N_("Southern Rock"), N_("Comedy"), N_("Cult"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
111 N_("Gangsta Rap"), N_("Top 40"), N_("Christian Rap"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
112 N_("Pop/Funk"), N_("Jungle"), N_("Native American"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
113 N_("Cabaret"), N_("New Wave"), N_("Psychedelic"), N_("Rave"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
114 N_("Showtunes"), N_("Trailer"), N_("Lo-Fi"), N_("Tribal"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
115 N_("Acid Punk"), N_("Acid Jazz"), N_("Polka"), N_("Retro"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
116 N_("Musical"), N_("Rock & Roll"), N_("Hard Rock"), N_("Folk"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
117 N_("Folk/Rock"), N_("National Folk"), N_("Swing"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
118 N_("Fast-Fusion"), N_("Bebob"), N_("Latin"), N_("Revival"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
119 N_("Celtic"), N_("Bluegrass"), N_("Avantgarde"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
120 N_("Gothic Rock"), N_("Progressive Rock"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
121 N_("Psychedelic Rock"), N_("Symphonic Rock"), N_("Slow Rock"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
122 N_("Big Band"), N_("Chorus"), N_("Easy Listening"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
123 N_("Acoustic"), N_("Humour"), N_("Speech"), N_("Chanson"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
124 N_("Opera"), N_("Chamber Music"), N_("Sonata"), N_("Symphony"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
125 N_("Booty Bass"), N_("Primus"), N_("Porn Groove"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
126 N_("Satire"), N_("Slow Jam"), N_("Club"), N_("Tango"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
127 N_("Samba"), N_("Folklore"), N_("Ballad"), N_("Power Ballad"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
128 N_("Satire"), N_("Slow Jam"), N_("Club"), N_("Tango"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
129 N_("Samba"), N_("Folklore"), N_("Ballad"), N_("Power Ballad"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
130 N_("Rhythmic Soul"), N_("Freestyle"), N_("Duet"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
131 N_("Punk Rock"), N_("Drum Solo"), N_("A Cappella"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
132 N_("Euro-House"), N_("Dance Hall"), N_("Goa"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
133 N_("Drum & Bass"), N_("Club-House"), N_("Hardcore"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
134 N_("Terror"), N_("Indie"), N_("BritPop"), N_("Negerpunk"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
135 N_("Polsk Punk"), N_("Beat"), N_("Christian Gangsta Rap"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
136 N_("Heavy Metal"), N_("Black Metal"), N_("Crossover"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
137 N_("Contemporary Christian"), N_("Christian Rock"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
138 N_("Merengue"), N_("Salsa"), N_("Thrash Metal"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
139 N_("Anime"), N_("JPop"), N_("Synthpop") |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
140 }; |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
141 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
142 static GList *genre_list = NULL; |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
143 |
2313 | 144 static void |
3986 | 145 fileinfo_entry_set_text(GtkWidget *widget, const char *text) |
2313 | 146 { |
3986 | 147 if (widget == NULL) |
148 return; | |
2313 | 149 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
150 gtk_entry_set_text(GTK_ENTRY(widget), text != NULL ? text : ""); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
151 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
152 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
153 static void |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
154 set_entry_str_from_field(GtkWidget *widget, Tuple *tuple, gint fieldn, gboolean editable) |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
155 { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
156 gchar *text; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
157 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
158 if(widget != NULL) { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
159 text = (gchar*)tuple_get_string(tuple, fieldn, NULL); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
160 gtk_entry_set_text(GTK_ENTRY(widget), text != NULL ? text : ""); |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
161 gtk_editable_set_editable(GTK_EDITABLE(widget), editable); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
162 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
163 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
164 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
165 static void |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
166 set_entry_int_from_field(GtkWidget *widget, Tuple *tuple, gint fieldn, gboolean editable) |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
167 { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
168 gchar *text; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
169 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
170 if(widget == NULL) return; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
171 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
172 if(tuple_get_value_type(tuple, fieldn, NULL) == TUPLE_INT) { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
173 text = g_strdup_printf("%d", tuple_get_int(tuple, fieldn, NULL)); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
174 gtk_entry_set_text(GTK_ENTRY(widget), text); |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
175 gtk_editable_set_editable(GTK_EDITABLE(widget), editable); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
176 g_free(text); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
177 } else { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
178 gtk_entry_set_text(GTK_ENTRY(widget), ""); |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
179 gtk_editable_set_editable(GTK_EDITABLE(widget), editable); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
180 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
181 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
182 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
183 static void |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
184 set_field_str_from_entry(Tuple *tuple, gint fieldn, GtkWidget *widget) |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
185 { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
186 if(widget == NULL) return; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
187 tuple_associate_string(tuple, fieldn, NULL, gtk_entry_get_text(GTK_ENTRY(widget))); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
188 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
189 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
190 static void |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
191 set_field_int_from_entry(Tuple *tuple, gint fieldn, GtkWidget *widget) |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
192 { |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
193 gchar *tmp; |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
194 if(widget == NULL) return; |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
195 |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
196 tmp = (gchar*)gtk_entry_get_text(GTK_ENTRY(widget)); |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
197 if(*tmp != '\0') |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
198 tuple_associate_int(tuple, fieldn, NULL, atoi(tmp)); |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
199 else |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
200 tuple_associate_int(tuple, fieldn, NULL, -1); |
2313 | 201 } |
202 | |
203 static void | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
204 fileinfo_label_set_text(GtkWidget *widget, const char *text) |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
205 { |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
206 gchar *tmp; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
207 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
208 if (widget == NULL) |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
209 return; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
210 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
211 if (text) { |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
212 tmp = g_strdup_printf("<span size=\"small\">%s</span>", text); |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
213 gtk_label_set_text(GTK_LABEL(widget), tmp); |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
214 gtk_label_set_use_markup(GTK_LABEL(widget), TRUE); |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
215 g_free(tmp); |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
216 } else { |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
217 gtk_label_set_text(GTK_LABEL(widget), _("<span size=\"small\">n/a</span>")); |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
218 gtk_label_set_use_markup(GTK_LABEL(widget), TRUE); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
219 } |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
220 } |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
221 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
222 static void |
3986 | 223 fileinfo_entry_set_image(GtkWidget *widget, const char *text) |
2313 | 224 { |
4164 | 225 GdkPixbuf *pixbuf; |
226 int width, height; | |
227 double aspect; | |
228 GdkPixbuf *pixbuf2; | |
2313 | 229 |
4164 | 230 if (widget == NULL) |
231 return; | |
2313 | 232 |
4164 | 233 pixbuf = gdk_pixbuf_new_from_file(text, NULL); |
2313 | 234 |
4164 | 235 if (pixbuf == NULL) |
236 return; | |
2313 | 237 |
4164 | 238 width = gdk_pixbuf_get_width(GDK_PIXBUF(pixbuf)); |
239 height = gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf)); | |
240 | |
241 if (strcmp(DATA_DIR "/images/audio.png", text)) { | |
242 if (width == 0) | |
243 width = 1; | |
244 aspect = (double)height / (double)width; | |
245 | |
246 if (aspect > 1.0) { | |
247 height = (int)(cfg.filepopup_pixelsize * aspect); | |
248 width = cfg.filepopup_pixelsize; | |
249 } else { | |
250 height = cfg.filepopup_pixelsize; | |
251 width = (int)(cfg.filepopup_pixelsize / aspect); | |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
252 } |
2313 | 253 |
4164 | 254 pixbuf2 = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), width, height, GDK_INTERP_BILINEAR); |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
255 g_object_unref(G_OBJECT(pixbuf)); |
4164 | 256 pixbuf = pixbuf2; |
257 } | |
258 | |
259 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf)); | |
260 g_object_unref(G_OBJECT(pixbuf)); | |
2313 | 261 } |
262 | |
263 void fileinfo_hide(gpointer unused) | |
264 { | |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
265 if(GTK_WIDGET_VISIBLE(fileinfo_win)) gtk_widget_hide(fileinfo_win); |
2313 | 266 |
3986 | 267 /* Clear it out. */ |
268 fileinfo_entry_set_text(entry_title, ""); | |
269 fileinfo_entry_set_text(entry_artist, ""); | |
270 fileinfo_entry_set_text(entry_album, ""); | |
271 fileinfo_entry_set_text(entry_comment, ""); | |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
272 fileinfo_entry_set_text(gtk_bin_get_child(GTK_BIN(entry_genre)), ""); |
3986 | 273 fileinfo_entry_set_text(entry_year, ""); |
274 fileinfo_entry_set_text(entry_track, ""); | |
275 fileinfo_entry_set_text(entry_location, ""); | |
2313 | 276 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
277 fileinfo_label_set_text(label_format_name, NULL); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
278 fileinfo_label_set_text(label_quality, NULL); |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
279 fileinfo_label_set_text(label_bitrate, NULL); |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
280 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
281 if (label_mini_status != NULL) { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
282 gtk_label_set_text(GTK_LABEL(label_mini_status), "<span size=\"small\"></span>"); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
283 gtk_label_set_use_markup(GTK_LABEL(label_mini_status), TRUE); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
284 } |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
285 |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
286 something_changed = FALSE; |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
287 gtk_widget_set_sensitive(btn_apply, FALSE); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
288 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
289 current_ip = NULL; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
290 G_FREE_CLEAR(current_file); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
291 |
3986 | 292 fileinfo_entry_set_image(image_artwork, DATA_DIR "/images/audio.png"); |
2313 | 293 } |
294 | |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
295 static void entry_changed (GtkEditable *editable, gpointer user_data) |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
296 { |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
297 if(current_file != NULL && current_ip != NULL && current_ip->update_song_tuple != NULL) { |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
298 something_changed = TRUE; |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
299 gtk_widget_set_sensitive(btn_apply, TRUE); |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
300 } |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
301 } |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
302 |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
303 static gboolean |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
304 ministatus_timeout_proc (gpointer data) |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
305 { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
306 GtkLabel *status = GTK_LABEL(data); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
307 gtk_label_set_text(status, "<span size=\"small\"></span>"); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
308 gtk_label_set_use_markup(status, TRUE); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
309 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
310 return FALSE; |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
311 } |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
312 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
313 static void |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
314 ministatus_display_message(gchar *text) |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
315 { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
316 if(label_mini_status != NULL) { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
317 gchar *tmp = g_strdup_printf("<span size=\"small\">%s</span>", text); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
318 gtk_label_set_text(GTK_LABEL(label_mini_status), tmp); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
319 g_free(tmp); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
320 gtk_label_set_use_markup(GTK_LABEL(label_mini_status), TRUE); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
321 g_timeout_add (STATUS_TIMEOUT, (GSourceFunc) ministatus_timeout_proc, (gpointer) label_mini_status); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
322 } |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
323 } |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
324 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
325 static void |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
326 message_update_successfull() |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
327 { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
328 ministatus_display_message(_("Metadata updated successfully")); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
329 } |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
330 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
331 static void |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
332 message_update_failed() |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
333 { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
334 ministatus_display_message(_("Metadata updating failed")); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
335 } |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
336 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
337 static void |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
338 fileinfo_update_tuple(gpointer data) |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
339 { |
4164 | 340 Tuple *tuple; |
341 VFSFile *fd; | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
342 |
4164 | 343 if (current_file != NULL && current_ip != NULL && current_ip->update_song_tuple != NULL && something_changed) { |
344 tuple = tuple_new(); | |
345 fd = vfs_fopen(current_file, "r+b"); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
346 |
4164 | 347 if (fd != NULL) { |
348 set_field_str_from_entry(tuple, FIELD_TITLE, entry_title); | |
349 set_field_str_from_entry(tuple, FIELD_ARTIST, entry_artist); | |
350 set_field_str_from_entry(tuple, FIELD_ALBUM, entry_album); | |
351 set_field_str_from_entry(tuple, FIELD_COMMENT, entry_comment); | |
352 set_field_str_from_entry(tuple, FIELD_GENRE, gtk_bin_get_child(GTK_BIN(entry_genre))); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
353 |
4164 | 354 set_field_int_from_entry(tuple, FIELD_YEAR, entry_year); |
355 set_field_int_from_entry(tuple, FIELD_TRACK_NUMBER, entry_track); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
356 |
4164 | 357 if (current_ip->update_song_tuple(tuple, fd)) { |
358 message_update_successfull(); | |
359 something_changed = FALSE; | |
360 gtk_widget_set_sensitive(btn_apply, FALSE); | |
361 } else | |
362 message_update_failed(); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
363 |
4164 | 364 vfs_fclose(fd); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
365 |
4164 | 366 } else |
367 message_update_failed(); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
368 |
4164 | 369 mowgli_object_unref(tuple); |
370 } | |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
371 } |
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
372 |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
373 /** |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
374 * Looks up an icon from a NULL-terminated list of icon names. |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
375 * |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
376 * size: the requested size |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
377 * name: the default name |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
378 * ... : a NULL-terminated list of alternates |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
379 */ |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
380 GdkPixbuf * |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
381 themed_icon_lookup(gint size, const gchar *name, ...) |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
382 { |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
383 GtkIconTheme *icon_theme; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
384 GdkPixbuf *pixbuf; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
385 GError *error = NULL; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
386 gchar *n; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
387 va_list par; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
388 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
389 icon_theme = gtk_icon_theme_get_default (); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
390 pixbuf = gtk_icon_theme_load_icon (icon_theme, name, size, 0, &error); |
4164 | 391 |
392 if (pixbuf != NULL) | |
393 return pixbuf; | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
394 |
4164 | 395 if (error != NULL) |
396 g_error_free(error); | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
397 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
398 /* fallback */ |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
399 va_start(par, name); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
400 while((n = (gchar*)va_arg(par, gchar *)) != NULL) { |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
401 error = NULL; |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
402 pixbuf = gtk_icon_theme_load_icon (icon_theme, n, size, 0, &error); |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
403 |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
404 if (pixbuf) { |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
405 va_end(par); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
406 return pixbuf; |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
407 } |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
408 |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
409 if (error != NULL) |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
410 g_error_free(error); |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
411 } |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
412 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
413 return NULL; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
414 } |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
415 |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
416 /** |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
417 * Intelligently looks up an icon for a mimetype. Supports |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
418 * HIDEOUSLY BROKEN gnome icon naming scheme too. |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
419 * |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
420 * size : the requested size |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
421 * mime_type: the mime type. |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
422 */ |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
423 GdkPixbuf * |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
424 mime_icon_lookup(gint size, const gchar *mime_type) /* smart icon resolving routine :) */ |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
425 { |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
426 gchar *mime_as_is; /* audio-x-mp3 */ |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
427 gchar *mime_gnome; /* gnome-mime-audio-x-mp3 */ |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
428 gchar *mime_generic; /* audio-x-generic */ |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
429 gchar *mime_gnome_generic; /* gnome-mime-audio */ |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
430 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
431 GdkPixbuf *icon = NULL; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
432 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
433 gchar **s = g_strsplit(mime_type, "/", 2); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
434 if(s[1] != NULL) { |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
435 mime_as_is = g_strdup_printf("%s-%s", s[0], s[1]); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
436 mime_gnome = g_strdup_printf("gnome-mime-%s-%s", s[0], s[1]); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
437 mime_generic = g_strdup_printf("%s-x-generic", s[0]); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
438 mime_gnome_generic = g_strdup_printf("gnome-mime-%s", s[0]); |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
439 icon = themed_icon_lookup(size, mime_as_is, mime_gnome, mime_generic, mime_gnome_generic, s[0], NULL); /* s[0] is category */ |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
440 g_free(mime_gnome_generic); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
441 g_free(mime_generic); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
442 g_free(mime_gnome); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
443 g_free(mime_as_is); |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
444 } |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
445 g_strfreev(s); |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
446 |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
447 return icon; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
448 } |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
449 |
2313 | 450 void |
451 create_fileinfo_window(void) | |
452 { | |
3986 | 453 GtkWidget *hbox; |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
454 GtkWidget *hbox_status_and_bbox; |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
455 GtkWidget *vbox0; |
3986 | 456 GtkWidget *vbox1; |
457 GtkWidget *vbox2; | |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
458 GtkWidget *vbox3; |
3986 | 459 GtkWidget *label_title; |
460 GtkWidget *label_artist; | |
461 GtkWidget *label_album; | |
462 GtkWidget *label_comment; | |
463 GtkWidget *label_genre; | |
464 GtkWidget *label_year; | |
465 GtkWidget *label_track; | |
466 GtkWidget *label_location; | |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
467 GtkWidget *label_general; |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
468 GtkWidget *label_format; |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
469 GtkWidget *label_quality_label; |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
470 GtkWidget *label_bitrate_label; |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
471 GtkWidget *codec_hbox; |
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
472 GtkWidget *codec_table; |
3986 | 473 GtkWidget *table1; |
474 GtkWidget *bbox_close; | |
475 GtkWidget *btn_close; | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
476 GtkWidget *alignment; |
4011
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
477 GtkWidget *separator; |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
478 GtkWidget *scrolledwindow; |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
479 gint i; |
3986 | 480 |
481 fileinfo_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
482 gtk_container_set_border_width(GTK_CONTAINER(fileinfo_win), 6); | |
483 gtk_window_set_title(GTK_WINDOW(fileinfo_win), _("Track Information")); | |
484 gtk_window_set_position(GTK_WINDOW(fileinfo_win), GTK_WIN_POS_CENTER); | |
485 gtk_window_set_resizable(GTK_WINDOW(fileinfo_win), FALSE); | |
486 gtk_window_set_type_hint(GTK_WINDOW(fileinfo_win), GDK_WINDOW_TYPE_HINT_DIALOG); | |
487 gtk_window_set_transient_for(GTK_WINDOW(fileinfo_win), GTK_WINDOW(mainwin)); | |
488 | |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
489 vbox0 = gtk_vbox_new(FALSE, 0); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
490 gtk_container_add(GTK_CONTAINER(fileinfo_win), vbox0); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
491 |
4011
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
492 hbox = gtk_hbox_new(FALSE, 6); |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
493 gtk_box_pack_start(GTK_BOX(vbox0), hbox, TRUE, TRUE, 0); |
2313 | 494 |
3986 | 495 image_artwork = gtk_image_new(); |
496 gtk_box_pack_start(GTK_BOX(hbox), image_artwork, FALSE, FALSE, 0); | |
497 gtk_misc_set_alignment(GTK_MISC(image_artwork), 0.5, 0); | |
498 gtk_image_set_from_file(GTK_IMAGE(image_artwork), DATA_DIR "/images/audio.png"); | |
4011
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
499 separator = gtk_vseparator_new(); |
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
500 gtk_box_pack_start(GTK_BOX(hbox), separator, FALSE, FALSE, 0); |
3986 | 501 |
502 vbox1 = gtk_vbox_new(FALSE, 0); | |
503 gtk_box_pack_start(GTK_BOX(hbox), vbox1, TRUE, TRUE, 0); | |
504 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
505 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
506 gtk_box_pack_start(GTK_BOX(vbox1), alignment, TRUE, TRUE, 0); |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
507 |
3986 | 508 vbox2 = gtk_vbox_new(FALSE, 0); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
509 gtk_container_add(GTK_CONTAINER(alignment), vbox2); |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
510 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
511 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
512 gtk_box_pack_start(GTK_BOX(vbox1), alignment, TRUE, TRUE, 0); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
513 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
514 vbox3 = gtk_vbox_new(FALSE, 0); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
515 gtk_container_add(GTK_CONTAINER(alignment), vbox3); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
516 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
517 label_general = gtk_label_new(_("<span size=\"small\">General</span>")); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
518 gtk_box_pack_start (GTK_BOX (vbox2), label_general, FALSE, FALSE, 0); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
519 gtk_label_set_use_markup(GTK_LABEL(label_general), TRUE); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
520 gtk_misc_set_alignment(GTK_MISC(label_general), 0, 0.5); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
521 |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
522 alignment = gtk_alignment_new (0.5, 0.5, 1, 1); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
523 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 6, 0, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
524 gtk_box_pack_start (GTK_BOX (vbox2), alignment, FALSE, FALSE, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
525 |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
526 codec_hbox = gtk_hbox_new(FALSE, 6); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
527 gtk_container_add (GTK_CONTAINER(alignment), codec_hbox); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
528 |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
529 image_fileicon = gtk_image_new_from_stock (GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_DIALOG); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
530 gtk_box_pack_start (GTK_BOX (codec_hbox), image_fileicon, FALSE, FALSE, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
531 |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
532 codec_table = gtk_table_new(3, 2, FALSE); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
533 gtk_table_set_row_spacings (GTK_TABLE(codec_table), 6); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
534 gtk_table_set_col_spacings (GTK_TABLE(codec_table), 12); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
535 gtk_box_pack_start (GTK_BOX (codec_hbox), codec_table, FALSE, FALSE, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
536 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
537 label_format = gtk_label_new(_("<span size=\"small\">Format:</span>")); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
538 gtk_label_set_use_markup(GTK_LABEL(label_format), TRUE); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
539 gtk_misc_set_alignment(GTK_MISC(label_format), 0, 0.5); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
540 label_quality_label = gtk_label_new(_("<span size=\"small\">Quality:</span>")); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
541 gtk_label_set_use_markup(GTK_LABEL(label_quality_label), TRUE); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
542 gtk_misc_set_alignment(GTK_MISC(label_quality_label), 0, 0.5); |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
543 label_bitrate_label = gtk_label_new(_("<span size=\"small\">Bitrate:</span>")); |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
544 gtk_label_set_use_markup(GTK_LABEL(label_bitrate_label), TRUE); |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
545 gtk_misc_set_alignment(GTK_MISC(label_bitrate_label), 0, 0.5); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
546 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
547 label_format_name = gtk_label_new(_("<span size=\"small\">n/a</span>")); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
548 gtk_label_set_use_markup(GTK_LABEL(label_format_name), TRUE); |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
549 gtk_misc_set_alignment(GTK_MISC(label_format_name), 0, 0.5); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
550 label_quality = gtk_label_new(_("<span size=\"small\">n/a</span>")); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
551 gtk_label_set_use_markup(GTK_LABEL(label_quality), TRUE); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
552 gtk_misc_set_alignment(GTK_MISC(label_quality), 0, 0.5); |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
553 label_bitrate = gtk_label_new(_("<span size=\"small\">n/a</span>")); |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
554 gtk_label_set_use_markup(GTK_LABEL(label_bitrate), TRUE); |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
555 gtk_misc_set_alignment(GTK_MISC(label_bitrate), 0, 0.5); |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
556 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
557 gtk_table_attach(GTK_TABLE(codec_table), label_format, 0, 1, 0, 1, |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
558 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
559 (GtkAttachOptions) (0), 0, 0); |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
560 gtk_table_attach(GTK_TABLE(codec_table), label_format_name, 1, 2, 0, 1, |
4010
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
561 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
562 (GtkAttachOptions) (0), 0, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
563 gtk_table_attach(GTK_TABLE(codec_table), label_quality_label, 0, 1, 1, 2, |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
564 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
565 (GtkAttachOptions) (0), 0, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
566 gtk_table_attach(GTK_TABLE(codec_table), label_quality, 1, 2, 1, 2, |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
567 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
568 (GtkAttachOptions) (0), 0, 0); |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
569 gtk_table_attach(GTK_TABLE(codec_table), label_bitrate_label, 0, 1, 2, 3, |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
570 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
571 (GtkAttachOptions) (0), 0, 0); |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
572 gtk_table_attach(GTK_TABLE(codec_table), label_bitrate, 1, 2, 2, 3, |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
573 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
574 (GtkAttachOptions) (0), 0, 0); |
3986 | 575 |
576 label_title = gtk_label_new(_("<span size=\"small\">Title</span>")); | |
577 gtk_box_pack_start(GTK_BOX(vbox2), label_title, FALSE, FALSE, 0); | |
578 gtk_label_set_use_markup(GTK_LABEL(label_title), TRUE); | |
579 gtk_misc_set_alignment(GTK_MISC(label_title), 0, 0); | |
2313 | 580 |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
581 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
582 gtk_box_pack_start(GTK_BOX(vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
583 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 584 entry_title = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
585 gtk_container_add(GTK_CONTAINER(alignment), entry_title); |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
586 g_signal_connect(G_OBJECT(entry_title), "changed", (GCallback) entry_changed, NULL); |
3986 | 587 |
588 label_artist = gtk_label_new(_("<span size=\"small\">Artist</span>")); | |
589 gtk_box_pack_start(GTK_BOX(vbox2), label_artist, FALSE, FALSE, 0); | |
590 gtk_label_set_use_markup(GTK_LABEL(label_artist), TRUE); | |
591 gtk_misc_set_alignment(GTK_MISC(label_artist), 0, 0.5); | |
592 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
593 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
594 gtk_box_pack_start(GTK_BOX(vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
595 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 596 entry_artist = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
597 gtk_container_add(GTK_CONTAINER(alignment), entry_artist); |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
598 g_signal_connect(G_OBJECT(entry_artist), "changed", (GCallback) entry_changed, NULL); |
3986 | 599 |
600 label_album = gtk_label_new(_("<span size=\"small\">Album</span>")); | |
601 gtk_box_pack_start(GTK_BOX(vbox2), label_album, FALSE, FALSE, 0); | |
602 gtk_label_set_use_markup(GTK_LABEL(label_album), TRUE); | |
603 gtk_misc_set_alignment(GTK_MISC(label_album), 0, 0.5); | |
604 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
605 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
606 gtk_box_pack_start(GTK_BOX(vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
607 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 608 entry_album = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
609 gtk_container_add(GTK_CONTAINER(alignment), entry_album); |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
610 g_signal_connect(G_OBJECT(entry_album), "changed", (GCallback) entry_changed, NULL); |
2313 | 611 |
3986 | 612 label_comment = gtk_label_new(_("<span size=\"small\">Comment</span>")); |
613 gtk_box_pack_start(GTK_BOX(vbox2), label_comment, FALSE, FALSE, 0); | |
614 gtk_label_set_use_markup(GTK_LABEL(label_comment), TRUE); | |
615 gtk_misc_set_alignment(GTK_MISC(label_comment), 0, 0.5); | |
616 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
617 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
618 gtk_box_pack_start(GTK_BOX(vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
619 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 620 entry_comment = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
621 gtk_container_add (GTK_CONTAINER(alignment), entry_comment); |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
622 g_signal_connect(G_OBJECT(entry_comment), "changed", (GCallback) entry_changed, NULL); |
3986 | 623 |
624 label_genre = gtk_label_new(_("<span size=\"small\">Genre</span>")); | |
625 gtk_box_pack_start(GTK_BOX(vbox2), label_genre, FALSE, FALSE, 0); | |
626 gtk_label_set_use_markup(GTK_LABEL(label_genre), TRUE); | |
627 gtk_misc_set_alignment(GTK_MISC(label_genre), 0, 0.5); | |
628 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
629 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
630 gtk_box_pack_start(GTK_BOX(vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
631 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
632 entry_genre = gtk_combo_box_entry_new_text(); |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
633 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
634 if (!genre_list) { |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
635 GList *iter; |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
636 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
637 for (i = 0; i < G_N_ELEMENTS(genre_table); i++) |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
638 genre_list = g_list_prepend(genre_list, _(genre_table[i])); |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
639 genre_list = g_list_sort(genre_list, (GCompareFunc) g_ascii_strcasecmp); |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
640 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
641 MOWGLI_ITER_FOREACH(iter, genre_list) |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
642 gtk_combo_box_append_text(GTK_COMBO_BOX(entry_genre), iter->data); |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
643 } |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
644 |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
645 gtk_container_add(GTK_CONTAINER(alignment), entry_genre); |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
646 g_signal_connect(G_OBJECT(entry_genre), "changed", (GCallback) entry_changed, NULL); |
3986 | 647 |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
648 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
649 gtk_box_pack_start(GTK_BOX(vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
650 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 651 table1 = gtk_table_new(2, 2, FALSE); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
652 gtk_container_add(GTK_CONTAINER(alignment), table1); |
3986 | 653 gtk_table_set_col_spacings(GTK_TABLE(table1), 6); |
654 | |
655 label_year = gtk_label_new(_("<span size=\"small\">Year</span>")); | |
656 gtk_table_attach(GTK_TABLE(table1), label_year, 0, 1, 0, 1, | |
657 (GtkAttachOptions) (GTK_FILL), | |
658 (GtkAttachOptions) (0), 0, 0); | |
659 gtk_label_set_use_markup(GTK_LABEL(label_year), TRUE); | |
660 gtk_misc_set_alignment(GTK_MISC(label_year), 0, 0.5); | |
2313 | 661 |
3986 | 662 entry_year = gtk_entry_new(); |
663 gtk_table_attach(GTK_TABLE(table1), entry_year, 0, 1, 1, 2, | |
664 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
665 (GtkAttachOptions) (0), 0, 0); | |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
666 g_signal_connect(G_OBJECT(entry_year), "changed", (GCallback) entry_changed, NULL); |
3986 | 667 |
668 label_track = gtk_label_new(_("<span size=\"small\">Track Number</span>")); | |
669 gtk_table_attach(GTK_TABLE(table1), label_track, 1, 2, 0, 1, | |
670 (GtkAttachOptions) (GTK_FILL), | |
671 (GtkAttachOptions) (0), 0, 0); | |
672 gtk_label_set_use_markup(GTK_LABEL(label_track), TRUE); | |
673 gtk_misc_set_alignment(GTK_MISC(label_track), 0, 0.5); | |
674 | |
675 entry_track = gtk_entry_new(); | |
676 gtk_table_attach(GTK_TABLE(table1), entry_track, 1, 2, 1, 2, | |
677 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
678 (GtkAttachOptions) (0), 0, 0); | |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
679 g_signal_connect(G_OBJECT(entry_track), "changed", (GCallback) entry_changed, NULL); |
2313 | 680 |
3986 | 681 label_location = gtk_label_new(_("<span size=\"small\">Location</span>")); |
682 gtk_box_pack_start(GTK_BOX(vbox2), label_location, FALSE, FALSE, 0); | |
683 gtk_label_set_use_markup(GTK_LABEL(label_location), TRUE); | |
684 gtk_misc_set_alignment(GTK_MISC(label_location), 0, 0.5); | |
685 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
686 alignment = gtk_alignment_new (0.5, 0.5, 1, 1); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
687 gtk_box_pack_start (GTK_BOX (vbox2), alignment, FALSE, FALSE, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
688 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 6, 0, 0); |
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
689 |
3986 | 690 entry_location = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
691 gtk_container_add(GTK_CONTAINER(alignment), entry_location); |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
692 gtk_editable_set_editable(GTK_EDITABLE(entry_location), FALSE); |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
693 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
694 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
695 hbox = gtk_hbox_new(FALSE, 0); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
696 gtk_container_add(GTK_CONTAINER(alignment), hbox); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
697 gtk_box_pack_start(GTK_BOX(vbox3), alignment, TRUE, TRUE, 0); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
698 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
699 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
700 arrow_rawdata = gtk_expander_new(_("<span size=\"small\">Raw Metadata</span>")); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
701 gtk_expander_set_use_markup(GTK_EXPANDER(arrow_rawdata), TRUE); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
702 gtk_container_add(GTK_CONTAINER(alignment), arrow_rawdata); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
703 gtk_box_pack_start(GTK_BOX(hbox), alignment, TRUE, TRUE, 0); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
704 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
705 scrolledwindow = gtk_scrolled_window_new (NULL, NULL); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
706 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
707 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_IN); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
708 gtk_container_add(GTK_CONTAINER(arrow_rawdata), scrolledwindow); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
709 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
710 treeview_rawdata = gtk_tree_view_new(); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
711 gtk_container_add(GTK_CONTAINER(scrolledwindow), treeview_rawdata); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
712 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview_rawdata), TRUE); |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
713 gtk_tree_view_set_reorderable(GTK_TREE_VIEW(treeview_rawdata), TRUE); |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
714 |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
715 hbox_status_and_bbox = gtk_hbox_new(FALSE, 0); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
716 gtk_box_pack_start (GTK_BOX (vbox0), hbox_status_and_bbox, FALSE, FALSE, 0); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
717 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
718 label_mini_status = gtk_label_new("<span size=\"small\"></span>"); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
719 gtk_label_set_use_markup(GTK_LABEL(label_mini_status), TRUE); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
720 gtk_misc_set_alignment(GTK_MISC(label_mini_status), 0, 0.5); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
721 gtk_box_pack_start (GTK_BOX (hbox_status_and_bbox), label_mini_status, TRUE, TRUE, 0); |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
722 |
3986 | 723 bbox_close = gtk_hbutton_box_new(); |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
724 gtk_box_set_spacing(GTK_BOX(bbox_close), 6); |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
725 gtk_box_pack_start(GTK_BOX(hbox_status_and_bbox), bbox_close, FALSE, FALSE, 0); |
3986 | 726 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox_close), GTK_BUTTONBOX_END); |
727 | |
4035
db2e900fdb62
"Apply" button in fileinfo changed to "Save"
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4023
diff
changeset
|
728 btn_apply = gtk_button_new_from_stock("gtk-save"); |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
729 gtk_container_add(GTK_CONTAINER(bbox_close), btn_apply); |
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
730 g_signal_connect(G_OBJECT(btn_apply), "clicked", (GCallback) fileinfo_update_tuple, NULL); |
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
731 gtk_widget_set_sensitive(btn_apply, FALSE); |
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
732 |
3986 | 733 btn_close = gtk_button_new_from_stock("gtk-close"); |
734 gtk_container_add(GTK_CONTAINER(bbox_close), btn_close); | |
735 GTK_WIDGET_SET_FLAGS(btn_close, GTK_CAN_DEFAULT); | |
736 g_signal_connect(G_OBJECT(btn_close), "clicked", (GCallback) fileinfo_hide, NULL); | |
737 | |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
738 gtk_widget_show_all (vbox0); |
2313 | 739 } |
740 | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
741 void |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
742 fileinfo_show_for_tuple(Tuple *tuple, gboolean updating_enabled) |
2313 | 743 { |
4166 | 744 gchar *tmp, *tmp_utf = NULL; |
745 GdkPixbuf *icon = NULL; | |
2313 | 746 |
4166 | 747 if (tuple == NULL) |
748 return; | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
749 |
4166 | 750 if(!updating_enabled) { |
751 current_ip = NULL; | |
752 G_FREE_CLEAR(current_file); | |
753 } | |
2313 | 754 |
4166 | 755 something_changed = FALSE; |
2313 | 756 |
4166 | 757 if (!GTK_WIDGET_REALIZED(fileinfo_win)) |
758 gtk_widget_realize(fileinfo_win); | |
2313 | 759 |
4166 | 760 set_entry_str_from_field(entry_title, tuple, FIELD_TITLE, updating_enabled); |
761 set_entry_str_from_field(entry_artist, tuple, FIELD_ARTIST, updating_enabled); | |
762 set_entry_str_from_field(entry_album, tuple, FIELD_ALBUM, updating_enabled); | |
763 set_entry_str_from_field(entry_comment, tuple, FIELD_COMMENT, updating_enabled); | |
764 set_entry_str_from_field(gtk_bin_get_child(GTK_BIN(entry_genre)), tuple, FIELD_GENRE, updating_enabled); | |
765 | |
766 tmp = g_strdup_printf("%s/%s", | |
767 tuple_get_string(tuple, FIELD_FILE_PATH, NULL), | |
768 tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); | |
2313 | 769 |
4166 | 770 if (tmp) { |
771 tmp_utf = str_to_utf8(tmp); | |
772 fileinfo_entry_set_text(entry_location, tmp_utf); | |
773 g_free(tmp_utf); | |
774 g_free(tmp); | |
775 tmp = NULL; | |
776 } | |
777 | |
778 /* set empty string if field not availaible. --eugene */ | |
779 set_entry_int_from_field(entry_year, tuple, FIELD_YEAR, updating_enabled); | |
780 set_entry_int_from_field(entry_track, tuple, FIELD_TRACK_NUMBER, updating_enabled); | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
781 |
4166 | 782 fileinfo_label_set_text(label_format_name, tuple_get_string(tuple, FIELD_CODEC, NULL)); |
783 fileinfo_label_set_text(label_quality, tuple_get_string(tuple, FIELD_QUALITY, NULL)); | |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
784 |
4166 | 785 if (tuple_get_value_type(tuple, FIELD_BITRATE, NULL) == TUPLE_INT) { |
786 tmp = g_strdup_printf(_("%d kb/s"), tuple_get_int(tuple, FIELD_BITRATE, NULL)); | |
787 fileinfo_label_set_text(label_bitrate, tmp); | |
788 g_free(tmp); | |
789 } else | |
790 fileinfo_label_set_text(label_bitrate, NULL); | |
4009
ba6258a39662
icon, codec and quality info added to file info box. Added new tuple field FIELD_MIMETYPE used for icon resolving
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
3988
diff
changeset
|
791 |
4166 | 792 tmp = (gchar *)tuple_get_string(tuple, FIELD_MIMETYPE, NULL); |
793 icon = mime_icon_lookup(48, tmp ? tmp : "audio/x-generic"); | |
794 if (icon) { | |
795 if (image_fileicon) gtk_image_set_from_pixbuf (GTK_IMAGE(image_fileicon), icon); | |
796 g_object_unref(icon); | |
797 } | |
798 | |
799 tmp = fileinfo_recursive_get_image( | |
800 tuple_get_string(tuple, FIELD_FILE_PATH, NULL), | |
801 tuple_get_string(tuple, FIELD_FILE_NAME, NULL), 0); | |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
802 |
4166 | 803 if (tmp) { |
804 fileinfo_entry_set_image(image_artwork, tmp); | |
805 g_free(tmp); | |
806 } | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
807 |
4166 | 808 gtk_widget_set_sensitive(btn_apply, FALSE); |
4021
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
809 |
4166 | 810 if (label_mini_status != NULL) { |
811 gtk_label_set_text(GTK_LABEL(label_mini_status), "<span size=\"small\"></span>"); | |
812 gtk_label_set_use_markup(GTK_LABEL(label_mini_status), TRUE); | |
813 } | |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
814 |
4166 | 815 if (!GTK_WIDGET_VISIBLE(fileinfo_win)) |
816 gtk_widget_show(fileinfo_win); | |
2313 | 817 } |
818 | |
819 void | |
820 fileinfo_show_for_path(gchar *path) | |
821 { | |
4166 | 822 Tuple *tuple = input_get_song_tuple(path); |
2313 | 823 |
4166 | 824 if (tuple == NULL) { |
825 input_file_info_box(path); | |
826 return; | |
827 } | |
2313 | 828 |
4166 | 829 fileinfo_show_for_tuple(tuple, FALSE); |
2313 | 830 |
4166 | 831 mowgli_object_unref(tuple); |
2313 | 832 } |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
833 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
834 void |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
835 fileinfo_show_editor_for_path(gchar *path, InputPlugin *ip) |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
836 { |
4166 | 837 G_FREE_CLEAR(current_file); |
838 current_file = g_strdup(path); | |
839 current_ip = ip; | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
840 |
4166 | 841 Tuple *tuple = input_get_song_tuple(path); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
842 |
4166 | 843 if (tuple == NULL) { |
844 input_file_info_box(path); | |
845 return; | |
846 } | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
847 |
4166 | 848 fileinfo_show_for_tuple(tuple, TRUE); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
849 |
4166 | 850 mowgli_object_unref(tuple); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
851 } |