Mercurial > audlegacy
annotate src/audacious/ui_fileinfo.c @ 4520:917112233875
remove some redundant code
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Mon, 28 Apr 2008 00:14:46 +0200 |
parents | 0fe46317167f |
children | 6cf91e97c6d5 |
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 |
4167
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
89 enum { |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
90 RAWDATA_KEY, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
91 RAWDATA_VALUE, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
92 RAWDATA_N_COLS |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
93 }; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
94 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
95 static gchar *current_file = NULL; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
96 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
|
97 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
|
98 |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
99 /* 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
|
100 static const gchar *genre_table[] = { |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
101 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
|
102 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
|
103 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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 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
|
109 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
|
110 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
|
111 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
|
112 N_("Meditative"), N_("Instrumental Pop"), |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 }; |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
145 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
146 static GList *genre_list = NULL; |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
147 |
2313 | 148 static void |
3986 | 149 fileinfo_entry_set_text(GtkWidget *widget, const char *text) |
2313 | 150 { |
3986 | 151 if (widget == NULL) |
152 return; | |
2313 | 153 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
154 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
|
155 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
156 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
157 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
|
158 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
|
159 { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
160 gchar *text; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
161 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
162 if(widget != NULL) { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
163 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
|
164 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
|
165 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
|
166 } |
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 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
169 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
|
170 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
|
171 { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
172 gchar *text; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
173 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
174 if(widget == NULL) return; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
175 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
176 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
|
177 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
|
178 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
|
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 g_free(text); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
181 } else { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
182 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
|
183 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
|
184 } |
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 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
187 static void |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
188 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
|
189 { |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
190 if(widget == NULL) return; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
191 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
|
192 } |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
193 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
194 static void |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
195 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
|
196 { |
4022
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
197 gchar *tmp; |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
198 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
|
199 |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
200 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
|
201 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
|
202 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
|
203 else |
85315c67252d
fields in fileinfo dialog now non-editable when tag updating is impossible
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4021
diff
changeset
|
204 tuple_associate_int(tuple, fieldn, NULL, -1); |
2313 | 205 } |
206 | |
207 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
|
208 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
|
209 { |
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 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
|
211 |
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 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
|
213 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
|
214 |
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
|
215 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
|
216 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
|
217 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
|
218 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
|
219 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
|
220 } else { |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
221 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
|
222 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
|
223 } |
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
|
224 } |
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
|
225 |
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
|
226 static void |
3986 | 227 fileinfo_entry_set_image(GtkWidget *widget, const char *text) |
2313 | 228 { |
4164 | 229 GdkPixbuf *pixbuf; |
230 int width, height; | |
231 double aspect; | |
232 GdkPixbuf *pixbuf2; | |
2313 | 233 |
4164 | 234 if (widget == NULL) |
235 return; | |
2313 | 236 |
4164 | 237 pixbuf = gdk_pixbuf_new_from_file(text, NULL); |
2313 | 238 |
4164 | 239 if (pixbuf == NULL) |
240 return; | |
2313 | 241 |
4164 | 242 width = gdk_pixbuf_get_width(GDK_PIXBUF(pixbuf)); |
243 height = gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf)); | |
244 | |
245 if (strcmp(DATA_DIR "/images/audio.png", text)) { | |
246 if (width == 0) | |
247 width = 1; | |
248 aspect = (double)height / (double)width; | |
249 | |
250 if (aspect > 1.0) { | |
251 height = (int)(cfg.filepopup_pixelsize * aspect); | |
252 width = cfg.filepopup_pixelsize; | |
253 } else { | |
254 height = cfg.filepopup_pixelsize; | |
255 width = (int)(cfg.filepopup_pixelsize / aspect); | |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
256 } |
2313 | 257 |
4164 | 258 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
|
259 g_object_unref(G_OBJECT(pixbuf)); |
4164 | 260 pixbuf = pixbuf2; |
261 } | |
262 | |
263 gtk_image_set_from_pixbuf(GTK_IMAGE(widget), GDK_PIXBUF(pixbuf)); | |
264 g_object_unref(G_OBJECT(pixbuf)); | |
2313 | 265 } |
266 | |
4514
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
267 static void |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
268 fileinfo_hide(gpointer unused) |
2313 | 269 { |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
270 if(GTK_WIDGET_VISIBLE(fileinfo_win)) gtk_widget_hide(fileinfo_win); |
2313 | 271 |
3986 | 272 /* Clear it out. */ |
273 fileinfo_entry_set_text(entry_title, ""); | |
274 fileinfo_entry_set_text(entry_artist, ""); | |
275 fileinfo_entry_set_text(entry_album, ""); | |
276 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
|
277 fileinfo_entry_set_text(gtk_bin_get_child(GTK_BIN(entry_genre)), ""); |
3986 | 278 fileinfo_entry_set_text(entry_year, ""); |
279 fileinfo_entry_set_text(entry_track, ""); | |
280 fileinfo_entry_set_text(entry_location, ""); | |
2313 | 281 |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
282 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
|
283 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
|
284 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
|
285 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
286 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
|
287 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
|
288 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
|
289 } |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
290 |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
291 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
|
292 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
|
293 |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
294 current_ip = NULL; |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
295 G_FREE_CLEAR(current_file); |
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
296 |
3986 | 297 fileinfo_entry_set_image(image_artwork, DATA_DIR "/images/audio.png"); |
2313 | 298 } |
299 | |
4514
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
300 static void |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
301 entry_changed (GtkEditable *editable, gpointer user_data) |
4023
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
302 { |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
303 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
|
304 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
|
305 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
|
306 } |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
307 } |
0f3cd542f23a
be more robust: tag updating enabled only if some field changed
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4022
diff
changeset
|
308 |
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
|
309 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
|
310 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
|
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 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
|
313 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
|
314 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
|
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 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
|
317 } |
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 |
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 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
|
320 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
|
321 { |
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 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
|
323 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
|
324 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
|
325 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
|
326 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
|
327 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
|
328 } |
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_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
|
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 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
|
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 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
|
339 { |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
340 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
|
341 } |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
342 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
343 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
|
344 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
|
345 { |
4164 | 346 Tuple *tuple; |
347 VFSFile *fd; | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
348 |
4164 | 349 if (current_file != NULL && current_ip != NULL && current_ip->update_song_tuple != NULL && something_changed) { |
350 tuple = tuple_new(); | |
351 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
|
352 |
4164 | 353 if (fd != NULL) { |
354 set_field_str_from_entry(tuple, FIELD_TITLE, entry_title); | |
355 set_field_str_from_entry(tuple, FIELD_ARTIST, entry_artist); | |
356 set_field_str_from_entry(tuple, FIELD_ALBUM, entry_album); | |
357 set_field_str_from_entry(tuple, FIELD_COMMENT, entry_comment); | |
358 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
|
359 |
4164 | 360 set_field_int_from_entry(tuple, FIELD_YEAR, entry_year); |
361 set_field_int_from_entry(tuple, FIELD_TRACK_NUMBER, entry_track); | |
4266
2b7a74fce100
Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents:
4226
diff
changeset
|
362 |
2b7a74fce100
Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents:
4226
diff
changeset
|
363 plugin_set_current((Plugin *)current_ip); |
4164 | 364 if (current_ip->update_song_tuple(tuple, fd)) { |
365 message_update_successfull(); | |
366 something_changed = FALSE; | |
367 gtk_widget_set_sensitive(btn_apply, FALSE); | |
368 } else | |
369 message_update_failed(); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
370 |
4164 | 371 vfs_fclose(fd); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
372 |
4164 | 373 } else |
374 message_update_failed(); | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
375 |
4164 | 376 mowgli_object_unref(tuple); |
377 } | |
4019
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
378 } |
29650db2d5f2
added update button (currently disabled) to file info dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4013
diff
changeset
|
379 |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
380 /** |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
381 * 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
|
382 * |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
383 * size: the requested size |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
384 * name: the default name |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
385 * ... : a NULL-terminated list of alternates |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
386 */ |
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
|
387 GdkPixbuf * |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
388 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
|
389 { |
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 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
|
391 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
|
392 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
|
393 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
|
394 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
|
395 |
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
|
396 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
|
397 pixbuf = gtk_icon_theme_load_icon (icon_theme, name, size, 0, &error); |
4164 | 398 |
399 if (pixbuf != NULL) | |
400 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
|
401 |
4164 | 402 if (error != NULL) |
403 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
|
404 |
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
|
405 /* 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
|
406 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
|
407 while((n = (gchar*)va_arg(par, gchar *)) != NULL) { |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
408 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
|
409 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
|
410 |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
411 if (pixbuf) { |
4012
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
412 va_end(par); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
413 return pixbuf; |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
414 } |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
415 |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
416 if (error != NULL) |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
417 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
|
418 } |
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
|
419 |
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
|
420 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
|
421 } |
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
|
422 |
4162
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
423 /** |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
424 * Intelligently looks up an icon for a mimetype. Supports |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
425 * HIDEOUSLY BROKEN gnome icon naming scheme too. |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
426 * |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
427 * size : the requested size |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
428 * mime_type: the mime type. |
0b00f1d21270
Prettify theme-icon util functions.
William Pitcock <nenolod@atheme.org>
parents:
4061
diff
changeset
|
429 */ |
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
|
430 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
|
431 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
|
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 *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
|
434 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
|
435 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
|
436 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
|
437 |
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 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
|
439 |
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
|
440 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
|
441 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
|
442 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
|
443 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
|
444 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
|
445 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
|
446 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
|
447 g_free(mime_gnome_generic); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
448 g_free(mime_generic); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
449 g_free(mime_gnome); |
197352fd6b3e
Replaced tabs with spaces
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4011
diff
changeset
|
450 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
|
451 } |
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
|
452 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
|
453 |
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
|
454 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
|
455 } |
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
|
456 |
2313 | 457 void |
458 create_fileinfo_window(void) | |
459 { | |
3986 | 460 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
|
461 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
|
462 GtkWidget *vbox0; |
3986 | 463 GtkWidget *vbox1; |
464 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
|
465 GtkWidget *vbox3; |
3986 | 466 GtkWidget *label_title; |
467 GtkWidget *label_artist; | |
468 GtkWidget *label_album; | |
469 GtkWidget *label_comment; | |
470 GtkWidget *label_genre; | |
471 GtkWidget *label_year; | |
472 GtkWidget *label_track; | |
473 GtkWidget *label_location; | |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
474 GtkWidget *label_general; |
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
475 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
|
476 GtkWidget *label_quality_label; |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
477 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
|
478 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
|
479 GtkWidget *codec_table; |
3986 | 480 GtkWidget *table1; |
481 GtkWidget *bbox_close; | |
482 GtkWidget *btn_close; | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
483 GtkWidget *alignment; |
4011
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
484 GtkWidget *separator; |
4169
b99639969b32
Backed out changeset 6c07ce72ab94
William Pitcock <nenolod@atheme.org>
parents:
4168
diff
changeset
|
485 GtkWidget *scrolledwindow; |
4167
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
486 GtkTreeViewColumn *column; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
487 GtkCellRenderer *renderer; |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
488 gint i; |
3986 | 489 |
490 fileinfo_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
491 gtk_container_set_border_width(GTK_CONTAINER(fileinfo_win), 6); | |
492 gtk_window_set_title(GTK_WINDOW(fileinfo_win), _("Track Information")); | |
493 gtk_window_set_position(GTK_WINDOW(fileinfo_win), GTK_WIN_POS_CENTER); | |
494 gtk_window_set_resizable(GTK_WINDOW(fileinfo_win), FALSE); | |
495 gtk_window_set_type_hint(GTK_WINDOW(fileinfo_win), GDK_WINDOW_TYPE_HINT_DIALOG); | |
496 gtk_window_set_transient_for(GTK_WINDOW(fileinfo_win), GTK_WINDOW(mainwin)); | |
497 | |
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
|
498 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
|
499 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
|
500 |
4011
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
501 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
|
502 gtk_box_pack_start(GTK_BOX(vbox0), hbox, TRUE, TRUE, 0); |
2313 | 503 |
3986 | 504 image_artwork = gtk_image_new(); |
505 gtk_box_pack_start(GTK_BOX(hbox), image_artwork, FALSE, FALSE, 0); | |
506 gtk_misc_set_alignment(GTK_MISC(image_artwork), 0.5, 0); | |
507 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
|
508 separator = gtk_vseparator_new(); |
c19c8d47e221
vseparator in fileinfo came back
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4010
diff
changeset
|
509 gtk_box_pack_start(GTK_BOX(hbox), separator, FALSE, FALSE, 0); |
3986 | 510 |
511 vbox1 = gtk_vbox_new(FALSE, 0); | |
512 gtk_box_pack_start(GTK_BOX(hbox), vbox1, TRUE, TRUE, 0); | |
513 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
514 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
|
515 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
|
516 |
3986 | 517 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
|
518 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
|
519 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
520 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
|
521 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
|
522 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
523 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
|
524 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
|
525 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
526 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
|
527 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
|
528 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
|
529 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
|
530 |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
531 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
|
532 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
|
533 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
|
534 |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
535 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
|
536 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
|
537 |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
538 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
|
539 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
|
540 |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
541 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
|
542 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
|
543 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
|
544 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
|
545 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
546 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
|
547 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
|
548 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
|
549 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
|
550 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
|
551 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
|
552 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
|
553 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
|
554 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
|
555 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
556 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
|
557 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
|
558 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
|
559 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
|
560 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
|
561 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
|
562 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
|
563 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
|
564 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
|
565 |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
566 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
|
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); |
4013
2e80ee28c7cc
Changed lables in file info box
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4012
diff
changeset
|
569 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
|
570 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
571 (GtkAttachOptions) (0), 0, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
572 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
|
573 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
574 (GtkAttachOptions) (0), 0, 0); |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
575 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
|
576 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
ce791ae274aa
Codec info in fileinfo box moved to top
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4009
diff
changeset
|
577 (GtkAttachOptions) (0), 0, 0); |
4061
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
578 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
|
579 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
580 (GtkAttachOptions) (0), 0, 0); |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
581 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
|
582 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
450581e58761
added new tuple field FIELD_BITRATE
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4057
diff
changeset
|
583 (GtkAttachOptions) (0), 0, 0); |
3986 | 584 |
585 label_title = gtk_label_new(_("<span size=\"small\">Title</span>")); | |
586 gtk_box_pack_start(GTK_BOX(vbox2), label_title, FALSE, FALSE, 0); | |
587 gtk_label_set_use_markup(GTK_LABEL(label_title), TRUE); | |
588 gtk_misc_set_alignment(GTK_MISC(label_title), 0, 0); | |
2313 | 589 |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
590 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
|
591 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
|
592 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 593 entry_title = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
594 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
|
595 g_signal_connect(G_OBJECT(entry_title), "changed", (GCallback) entry_changed, NULL); |
3986 | 596 |
597 label_artist = gtk_label_new(_("<span size=\"small\">Artist</span>")); | |
598 gtk_box_pack_start(GTK_BOX(vbox2), label_artist, FALSE, FALSE, 0); | |
599 gtk_label_set_use_markup(GTK_LABEL(label_artist), TRUE); | |
600 gtk_misc_set_alignment(GTK_MISC(label_artist), 0, 0.5); | |
601 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
602 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
|
603 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
|
604 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 605 entry_artist = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
606 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
|
607 g_signal_connect(G_OBJECT(entry_artist), "changed", (GCallback) entry_changed, NULL); |
3986 | 608 |
609 label_album = gtk_label_new(_("<span size=\"small\">Album</span>")); | |
610 gtk_box_pack_start(GTK_BOX(vbox2), label_album, FALSE, FALSE, 0); | |
611 gtk_label_set_use_markup(GTK_LABEL(label_album), TRUE); | |
612 gtk_misc_set_alignment(GTK_MISC(label_album), 0, 0.5); | |
613 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
614 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
|
615 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
|
616 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 617 entry_album = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
618 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
|
619 g_signal_connect(G_OBJECT(entry_album), "changed", (GCallback) entry_changed, NULL); |
2313 | 620 |
3986 | 621 label_comment = gtk_label_new(_("<span size=\"small\">Comment</span>")); |
622 gtk_box_pack_start(GTK_BOX(vbox2), label_comment, FALSE, FALSE, 0); | |
623 gtk_label_set_use_markup(GTK_LABEL(label_comment), TRUE); | |
624 gtk_misc_set_alignment(GTK_MISC(label_comment), 0, 0.5); | |
625 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
626 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
|
627 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
|
628 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 629 entry_comment = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
630 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
|
631 g_signal_connect(G_OBJECT(entry_comment), "changed", (GCallback) entry_changed, NULL); |
3986 | 632 |
633 label_genre = gtk_label_new(_("<span size=\"small\">Genre</span>")); | |
634 gtk_box_pack_start(GTK_BOX(vbox2), label_genre, FALSE, FALSE, 0); | |
635 gtk_label_set_use_markup(GTK_LABEL(label_genre), TRUE); | |
636 gtk_misc_set_alignment(GTK_MISC(label_genre), 0, 0.5); | |
637 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
638 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
|
639 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
|
640 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
|
641 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
|
642 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
643 if (!genre_list) { |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
644 GList *iter; |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
645 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
646 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
|
647 genre_list = g_list_prepend(genre_list, _(genre_table[i])); |
4434
35d5b1b8aa1e
When sorting, use g_utf8_collate instead of g_ascii_strcasecmp (Bugzilla #205)
Tomasz Mon <desowin@gmail.com>
parents:
4266
diff
changeset
|
648 genre_list = g_list_sort(genre_list, (GCompareFunc) g_utf8_collate); |
4163
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
649 |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
650 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
|
651 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
|
652 } |
a12876b41f01
Turn the genre box into an editable dropdown list.
William Pitcock <nenolod@atheme.org>
parents:
4162
diff
changeset
|
653 |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
654 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
|
655 g_signal_connect(G_OBJECT(entry_genre), "changed", (GCallback) entry_changed, NULL); |
3986 | 656 |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
657 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
|
658 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
|
659 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 0, 0); |
3986 | 660 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
|
661 gtk_container_add(GTK_CONTAINER(alignment), table1); |
3986 | 662 gtk_table_set_col_spacings(GTK_TABLE(table1), 6); |
663 | |
664 label_year = gtk_label_new(_("<span size=\"small\">Year</span>")); | |
665 gtk_table_attach(GTK_TABLE(table1), label_year, 0, 1, 0, 1, | |
666 (GtkAttachOptions) (GTK_FILL), | |
667 (GtkAttachOptions) (0), 0, 0); | |
668 gtk_label_set_use_markup(GTK_LABEL(label_year), TRUE); | |
669 gtk_misc_set_alignment(GTK_MISC(label_year), 0, 0.5); | |
2313 | 670 |
3986 | 671 entry_year = gtk_entry_new(); |
672 gtk_table_attach(GTK_TABLE(table1), entry_year, 0, 1, 1, 2, | |
673 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
674 (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
|
675 g_signal_connect(G_OBJECT(entry_year), "changed", (GCallback) entry_changed, NULL); |
3986 | 676 |
677 label_track = gtk_label_new(_("<span size=\"small\">Track Number</span>")); | |
678 gtk_table_attach(GTK_TABLE(table1), label_track, 1, 2, 0, 1, | |
679 (GtkAttachOptions) (GTK_FILL), | |
680 (GtkAttachOptions) (0), 0, 0); | |
681 gtk_label_set_use_markup(GTK_LABEL(label_track), TRUE); | |
682 gtk_misc_set_alignment(GTK_MISC(label_track), 0, 0.5); | |
683 | |
684 entry_track = gtk_entry_new(); | |
685 gtk_table_attach(GTK_TABLE(table1), entry_track, 1, 2, 1, 2, | |
686 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
687 (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
|
688 g_signal_connect(G_OBJECT(entry_track), "changed", (GCallback) entry_changed, NULL); |
2313 | 689 |
3986 | 690 label_location = gtk_label_new(_("<span size=\"small\">Location</span>")); |
691 gtk_box_pack_start(GTK_BOX(vbox2), label_location, FALSE, FALSE, 0); | |
692 gtk_label_set_use_markup(GTK_LABEL(label_location), TRUE); | |
693 gtk_misc_set_alignment(GTK_MISC(label_location), 0, 0.5); | |
694 | |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
695 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
|
696 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
|
697 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
|
698 |
3986 | 699 entry_location = gtk_entry_new(); |
3988
ce1ce0a6cc74
bring back alignments - it looks nicer with those
Tomasz Mon <desowin@gmail.com>
parents:
3986
diff
changeset
|
700 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
|
701 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
|
702 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
703 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
|
704 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
|
705 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
|
706 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
|
707 |
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
708 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
4226 | 709 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 6, 0, 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
|
710 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
|
711 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
|
712 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
|
713 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
|
714 |
4169
b99639969b32
Backed out changeset 6c07ce72ab94
William Pitcock <nenolod@atheme.org>
parents:
4168
diff
changeset
|
715 scrolledwindow = gtk_scrolled_window_new (NULL, NULL); |
4170
5b5c1472b0cf
A better approach to the fileinfo issue.
William Pitcock <nenolod@atheme.org>
parents:
4169
diff
changeset
|
716 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); |
4169
b99639969b32
Backed out changeset 6c07ce72ab94
William Pitcock <nenolod@atheme.org>
parents:
4168
diff
changeset
|
717 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_IN); |
b99639969b32
Backed out changeset 6c07ce72ab94
William Pitcock <nenolod@atheme.org>
parents:
4168
diff
changeset
|
718 gtk_container_add(GTK_CONTAINER(arrow_rawdata), scrolledwindow); |
b99639969b32
Backed out changeset 6c07ce72ab94
William Pitcock <nenolod@atheme.org>
parents:
4168
diff
changeset
|
719 |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
720 treeview_rawdata = gtk_tree_view_new(); |
4169
b99639969b32
Backed out changeset 6c07ce72ab94
William Pitcock <nenolod@atheme.org>
parents:
4168
diff
changeset
|
721 gtk_container_add(GTK_CONTAINER(scrolledwindow), treeview_rawdata); |
4165
d4b13079f476
Add treeview to the fileinfo editor. This doesn't populate with data yet.
William Pitcock <nenolod@atheme.org>
parents:
4164
diff
changeset
|
722 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
|
723 gtk_tree_view_set_reorderable(GTK_TREE_VIEW(treeview_rawdata), TRUE); |
4171
589558b4d19c
haha. it'd help if i committed my changes.
William Pitcock <nenolod@atheme.org>
parents:
4170
diff
changeset
|
724 gtk_widget_set_size_request(treeview_rawdata, -1, 130); |
4167
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
725 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
726 column = gtk_tree_view_column_new(); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
727 gtk_tree_view_column_set_title(column, _("Key")); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
728 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
729 gtk_tree_view_column_set_spacing(column, 4); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
730 gtk_tree_view_column_set_resizable(column, FALSE); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
731 gtk_tree_view_column_set_fixed_width(column, 50); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
732 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
733 renderer = gtk_cell_renderer_text_new(); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
734 gtk_tree_view_column_pack_start(column, renderer, FALSE); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
735 gtk_tree_view_column_set_attributes(column, renderer, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
736 "text", RAWDATA_KEY, NULL); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
737 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_rawdata), column); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
738 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
739 column = gtk_tree_view_column_new(); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
740 gtk_tree_view_column_set_title(column, _("Value")); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
741 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
742 gtk_tree_view_column_set_spacing(column, 4); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
743 gtk_tree_view_column_set_resizable(column, FALSE); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
744 gtk_tree_view_column_set_fixed_width(column, 50); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
745 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
746 renderer = gtk_cell_renderer_text_new(); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
747 gtk_tree_view_column_pack_start(column, renderer, FALSE); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
748 gtk_tree_view_column_set_attributes(column, renderer, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
749 "text", RAWDATA_VALUE, NULL); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
750 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_rawdata), column); |
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
|
751 |
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
|
752 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
|
753 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
|
754 |
d79fd54de4fa
added mini statusbar to fileinfo dialog. looks like version string in prefs dialog
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4020
diff
changeset
|
755 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
|
756 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
|
757 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
|
758 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
|
759 |
3986 | 760 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
|
761 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
|
762 gtk_box_pack_start(GTK_BOX(hbox_status_and_bbox), bbox_close, FALSE, FALSE, 0); |
3986 | 763 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox_close), GTK_BUTTONBOX_END); |
764 | |
4035
db2e900fdb62
"Apply" button in fileinfo changed to "Save"
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4023
diff
changeset
|
765 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
|
766 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
|
767 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
|
768 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
|
769 |
3986 | 770 btn_close = gtk_button_new_from_stock("gtk-close"); |
771 gtk_container_add(GTK_CONTAINER(bbox_close), btn_close); | |
772 GTK_WIDGET_SET_FLAGS(btn_close, GTK_CAN_DEFAULT); | |
773 g_signal_connect(G_OBJECT(btn_close), "clicked", (GCallback) fileinfo_hide, NULL); | |
774 | |
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
|
775 gtk_widget_show_all (vbox0); |
2313 | 776 } |
777 | |
4514
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
778 static void |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
779 fileinfo_show_for_tuple(Tuple *tuple, gboolean updating_enabled) |
2313 | 780 { |
4166 | 781 gchar *tmp, *tmp_utf = NULL; |
782 GdkPixbuf *icon = NULL; | |
4167
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
783 GtkTreeIter iter; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
784 GtkListStore *store; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
785 mowgli_dictionary_iteration_state_t state; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
786 TupleValue *tvalue; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
787 gint i; |
2313 | 788 |
4166 | 789 if (tuple == NULL) |
790 return; | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
791 |
4166 | 792 if(!updating_enabled) { |
793 current_ip = NULL; | |
794 G_FREE_CLEAR(current_file); | |
795 } | |
2313 | 796 |
4166 | 797 something_changed = FALSE; |
2313 | 798 |
4166 | 799 if (!GTK_WIDGET_REALIZED(fileinfo_win)) |
800 gtk_widget_realize(fileinfo_win); | |
2313 | 801 |
4166 | 802 set_entry_str_from_field(entry_title, tuple, FIELD_TITLE, updating_enabled); |
803 set_entry_str_from_field(entry_artist, tuple, FIELD_ARTIST, updating_enabled); | |
804 set_entry_str_from_field(entry_album, tuple, FIELD_ALBUM, updating_enabled); | |
805 set_entry_str_from_field(entry_comment, tuple, FIELD_COMMENT, updating_enabled); | |
806 set_entry_str_from_field(gtk_bin_get_child(GTK_BIN(entry_genre)), tuple, FIELD_GENRE, updating_enabled); | |
807 | |
808 tmp = g_strdup_printf("%s/%s", | |
809 tuple_get_string(tuple, FIELD_FILE_PATH, NULL), | |
810 tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); | |
2313 | 811 |
4166 | 812 if (tmp) { |
813 tmp_utf = str_to_utf8(tmp); | |
814 fileinfo_entry_set_text(entry_location, tmp_utf); | |
815 g_free(tmp_utf); | |
816 g_free(tmp); | |
817 tmp = NULL; | |
818 } | |
819 | |
820 /* set empty string if field not availaible. --eugene */ | |
821 set_entry_int_from_field(entry_year, tuple, FIELD_YEAR, updating_enabled); | |
822 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
|
823 |
4166 | 824 fileinfo_label_set_text(label_format_name, tuple_get_string(tuple, FIELD_CODEC, NULL)); |
825 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
|
826 |
4166 | 827 if (tuple_get_value_type(tuple, FIELD_BITRATE, NULL) == TUPLE_INT) { |
828 tmp = g_strdup_printf(_("%d kb/s"), tuple_get_int(tuple, FIELD_BITRATE, NULL)); | |
829 fileinfo_label_set_text(label_bitrate, tmp); | |
830 g_free(tmp); | |
831 } else | |
832 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
|
833 |
4166 | 834 tmp = (gchar *)tuple_get_string(tuple, FIELD_MIMETYPE, NULL); |
835 icon = mime_icon_lookup(48, tmp ? tmp : "audio/x-generic"); | |
836 if (icon) { | |
837 if (image_fileicon) gtk_image_set_from_pixbuf (GTK_IMAGE(image_fileicon), icon); | |
838 g_object_unref(icon); | |
839 } | |
840 | |
841 tmp = fileinfo_recursive_get_image( | |
842 tuple_get_string(tuple, FIELD_FILE_PATH, NULL), | |
843 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
|
844 |
4166 | 845 if (tmp) { |
846 fileinfo_entry_set_image(image_artwork, tmp); | |
847 g_free(tmp); | |
848 } | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
849 |
4166 | 850 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
|
851 |
4166 | 852 if (label_mini_status != NULL) { |
853 gtk_label_set_text(GTK_LABEL(label_mini_status), "<span size=\"small\"></span>"); | |
854 gtk_label_set_use_markup(GTK_LABEL(label_mini_status), TRUE); | |
855 } | |
4167
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
856 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
857 store = gtk_list_store_new(RAWDATA_N_COLS, G_TYPE_STRING, G_TYPE_STRING); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
858 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
859 for (i = 0; i < FIELD_LAST; i++) { |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
860 gchar *key, *value; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
861 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
862 if (!tuple->values[i]) |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
863 continue; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
864 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
865 if (tuple->values[i]->type != TUPLE_INT && tuple->values[i]->value.string) |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
866 value = g_strdup(tuple->values[i]->value.string); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
867 else if (tuple->values[i]->type == TUPLE_INT) |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
868 value = g_strdup_printf("%d", tuple->values[i]->value.integer); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
869 else |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
870 continue; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
871 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
872 key = g_strdup(tuple_fields[i].name); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
873 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
874 gtk_list_store_append(store, &iter); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
875 gtk_list_store_set(store, &iter, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
876 RAWDATA_KEY, key, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
877 RAWDATA_VALUE, value, -1); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
878 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
879 g_free(key); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
880 g_free(value); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
881 } |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
882 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
883 /* non-standard values are stored in a dictionary. */ |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
884 MOWGLI_DICTIONARY_FOREACH(tvalue, &state, tuple->dict) { |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
885 gchar *key, *value; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
886 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
887 if (tvalue->type != TUPLE_INT && tvalue->value.string) |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
888 value = g_strdup(tvalue->value.string); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
889 else if (tvalue->type == TUPLE_INT) |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
890 value = g_strdup_printf("%d", tvalue->value.integer); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
891 else |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
892 continue; |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
893 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
894 key = g_strdup(state.cur->key); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
895 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
896 gtk_list_store_append(store, &iter); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
897 gtk_list_store_set(store, &iter, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
898 RAWDATA_KEY, key, |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
899 RAWDATA_VALUE, value, -1); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
900 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
901 g_free(key); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
902 g_free(value); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
903 } |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
904 |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
905 gtk_tree_view_set_model(GTK_TREE_VIEW(treeview_rawdata), GTK_TREE_MODEL(store)); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
906 g_object_unref(store); |
7c6b3b6def1a
Populate the raw metadata treeview.
William Pitcock <nenolod@atheme.org>
parents:
4166
diff
changeset
|
907 |
4166 | 908 if (!GTK_WIDGET_VISIBLE(fileinfo_win)) |
909 gtk_widget_show(fileinfo_win); | |
2313 | 910 } |
911 | |
4514
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
912 static void |
2313 | 913 fileinfo_show_for_path(gchar *path) |
914 { | |
4166 | 915 Tuple *tuple = input_get_song_tuple(path); |
2313 | 916 |
4166 | 917 if (tuple == NULL) { |
918 input_file_info_box(path); | |
919 return; | |
920 } | |
2313 | 921 |
4166 | 922 fileinfo_show_for_tuple(tuple, FALSE); |
2313 | 923 |
4166 | 924 mowgli_object_unref(tuple); |
2313 | 925 } |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
926 |
4514
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
927 static void |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
928 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
|
929 { |
4166 | 930 G_FREE_CLEAR(current_file); |
931 current_file = g_strdup(path); | |
932 current_ip = ip; | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
933 |
4166 | 934 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
|
935 |
4166 | 936 if (tuple == NULL) { |
937 input_file_info_box(path); | |
938 return; | |
939 } | |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
940 |
4166 | 941 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
|
942 |
4166 | 943 mowgli_object_unref(tuple); |
4020
66529edae49d
added tag editing capabilities, maybe raw yet
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4019
diff
changeset
|
944 } |
4514
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
945 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
946 static void |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
947 ui_fileinfo_show_entry(Playlist *playlist, PlaylistEntry *entry) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
948 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
949 gchar *path = g_strdup(entry->filename); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
950 Tuple *tuple = entry->tuple; |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
951 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
952 PLAYLIST_UNLOCK(playlist); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
953 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
954 /* plugin is capable of updating tags. we need to bypass tuple cache. --eugene */ |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
955 /* maybe code cleanup required... */ |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
956 if (entry != NULL && |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
957 entry->decoder != NULL && |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
958 entry->decoder->update_song_tuple != NULL && |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
959 entry->decoder->file_info_box == NULL && |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
960 path != NULL && !vfs_is_remote(path)) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
961 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
962 fileinfo_show_editor_for_path(path, entry->decoder); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
963 g_free(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
964 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
965 else |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
966 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
967 if (tuple != NULL) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
968 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
969 if (entry->decoder != NULL) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
970 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
971 if (entry->decoder->file_info_box == NULL) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
972 fileinfo_show_for_tuple(tuple, FALSE); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
973 else |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
974 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
975 plugin_set_current((Plugin *)(entry->decoder)); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
976 entry->decoder->file_info_box(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
977 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
978 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
979 else |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
980 fileinfo_show_for_path(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
981 g_free(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
982 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
983 else if (path != NULL) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
984 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
985 if (entry != NULL && |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
986 entry->decoder != NULL && |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
987 entry->decoder->file_info_box != NULL) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
988 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
989 plugin_set_current((Plugin *)(entry->decoder)); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
990 entry->decoder->file_info_box(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
991 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
992 else |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
993 fileinfo_show_for_path(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
994 g_free(path); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
995 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
996 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
997 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
998 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
999 void |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1000 ui_fileinfo_show(Playlist *playlist, guint pos) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1001 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1002 GList *node = NULL; |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1003 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1004 PLAYLIST_LOCK(playlist); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1005 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1006 if ((node = g_list_nth(playlist->entries, pos))) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1007 ui_fileinfo_show_entry(playlist, node->data); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1008 } |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1009 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1010 void |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1011 ui_fileinfo_show_current(Playlist *playlist) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1012 { |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1013 PLAYLIST_LOCK(playlist); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1014 |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1015 if (playlist->entries && playlist->position) |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1016 ui_fileinfo_show_entry(playlist, playlist->position); |
0fe46317167f
renamed playlist_fileinfo* to ui_fileinfo_show* and reworked those
mf0102 <0102@gmx.at>
parents:
4434
diff
changeset
|
1017 } |