Benjamin Otte
2007-Feb-07 15:10 UTC
[Swfdec] 2 commits - doc/swfdec-sections.txt libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h player/swfdebug.c
doc/swfdec-sections.txt | 1 + libswfdec/swfdec_loader.c | 33 +++++++++++++++++++++++++++++++++ libswfdec/swfdec_loader.h | 9 +++++---- player/swfdebug.c | 2 +- 4 files changed, 40 insertions(+), 5 deletions(-) New commits: diff-tree 998ea3e494c4d6f2d798085b3df1e4da07b18a68 (from 06c1025c1946a32b4f2a8f8ebab29736ec231621) Author: Benjamin Otte <otte@gnome.org> Date: Thu Feb 8 00:11:45 2007 +0100 use a save icon when saving diff --git a/player/swfdebug.c b/player/swfdebug.c index 490814e..63af21d 100644 --- a/player/swfdebug.c +++ b/player/swfdebug.c @@ -16,7 +16,7 @@ save_to_svg (GtkWidget *button, SwfdecPl GtkWidget *dialog = gtk_file_chooser_dialog_new ("Save current frame as", GTK_WINDOW (gtk_widget_get_toplevel (button)), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); + GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { int w, h; diff-tree 06c1025c1946a32b4f2a8f8ebab29736ec231621 (from 17f85210c89d16ae4824771d41ea5bf41988b123) Author: Benjamin Otte <otte@gnome.org> Date: Thu Feb 8 00:11:26 2007 +0100 add swfdec_loader_get_filename() This function is supposed to give a useful filename for the loader, so it can be used to save it locally. diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt index 937b8db..3a93f97 100644 --- a/doc/swfdec-sections.txt +++ b/doc/swfdec-sections.txt @@ -20,6 +20,7 @@ SwfdecLoader swfdec_loader_new_from_file swfdec_loader_push swfdec_loader_eof +swfdec_loader_get_filename <SUBSECTION Standard> SWFDEC_LOADER SWFDEC_IS_LOADER diff --git a/libswfdec/swfdec_loader.c b/libswfdec/swfdec_loader.c index a5300b8..557fa1c 100644 --- a/libswfdec/swfdec_loader.c +++ b/libswfdec/swfdec_loader.c @@ -21,6 +21,7 @@ #include "config.h" #endif +#include <string.h> #include "swfdec_loader_internal.h" #include "swfdec_buffer.h" #include "swfdec_debug.h" @@ -351,3 +352,35 @@ swfdec_loader_eof (SwfdecLoader *loader) swfdec_loader_parse (loader); } +/** + * swfdec_loader_get_filename: + * @loader: a #SwfdecLoader + * + * Gets the suggested filename to use for this loader. This may be of interest + * when displaying information about the file that is played back. + * + * Returns: A string in the glib filename encoding that contains the filename + * for this loader. g_free() after use. + **/ +char * +swfdec_loader_get_filename (SwfdecLoader *loader) +{ + char *start, *ret; + + g_return_val_if_fail (SWFDEC_IS_LOADER (loader), NULL); + /* every loader must set this */ + g_return_val_if_fail (loader->url != NULL, NULL); + + start = strrchr (loader->url, '/'); + if (start == NULL) { + start = loader->url; + } else { + start++; + } + ret = g_filename_from_utf8 (start, -1, NULL, NULL, NULL); + if (ret == NULL) + ret = g_strdup ("unknown.swf"); + + return ret; +} + diff --git a/libswfdec/swfdec_loader.h b/libswfdec/swfdec_loader.h index c9b1e2e..cf1d65a 100644 --- a/libswfdec/swfdec_loader.h +++ b/libswfdec/swfdec_loader.h @@ -40,7 +40,7 @@ struct _SwfdecLoader { GObject object; - char * url; /* the URL for this loader */ + char * url; /* the URL for this loader in UTF-8 - must be set on creation */ /*< private >*/ gboolean eof; /* if we're in EOF already */ gboolean error; /* if there's an error (from parsing the loader) */ @@ -65,9 +65,10 @@ GType swfdec_loader_get_type (void); SwfdecLoader * swfdec_loader_new_from_file (const char * filename, GError ** error); -void swfdec_loader_push (SwfdecLoader * loader, - SwfdecBuffer * buffer); -void swfdec_loader_eof (SwfdecLoader * loader); +void swfdec_loader_push (SwfdecLoader * loader, + SwfdecBuffer * buffer); +void swfdec_loader_eof (SwfdecLoader * loader); +char * swfdec_loader_get_filename (SwfdecLoader * loader); G_END_DECLS
Possibly Parallel Threads
- 5 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_net_stream.c
- 15 commits - configure.ac doc/swfdec-sections.txt libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_file_loader.c libswfdec/swfdec_file_loader.h
- 5 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/swfdec_loader.c libswfdec/swfdec_player.c
- 10 commits - doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_buffer.c libswfdec/swfdec_debugger.c libswfdec/swfdec.h
- 9 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_frame.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_loader_internal.h libswfdec/swfdec_loadertarget.c libswfdec/swfdec_loadertarget.h libswfdec/swfdec_movie.c