diff options
author | Benjamin Otte <otte@gnome.org> | 2008-01-14 12:53:42 +0100 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2008-01-14 12:53:42 +0100 |
commit | d7840716923b5367caf9fef02511161ce1c105dd (patch) | |
tree | 771610bd806ba51130fe84c0711f5e8bce8561fd | |
parent | 3303418faa1ae48a5401b799a2a4ef44c6620b77 (diff) |
make sure the recent files only include files from swfdec-player
-rw-r--r-- | player/swfdec-window.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/player/swfdec-window.c b/player/swfdec-window.c index c7fa72c..5b1a32e 100644 --- a/player/swfdec-window.c +++ b/player/swfdec-window.c @@ -78,11 +78,17 @@ swfdec_window_init (SwfdecWindow *window) static void swfdec_window_player_initialized (SwfdecPlayer *player, GParamSpec *pspec, SwfdecWindow *window) { - if (!swfdec_player_is_initialized (player)) - return; - - gtk_recent_manager_add_item (gtk_recent_manager_get_default (), - swfdec_url_get_url (swfdec_loader_get_url (window->loader))); + static const char *mime[2] = { "swfdec-player", NULL }; + GtkRecentData data = { NULL, NULL, (char *) "application/x-shockwave-flash", + (char *) g_get_application_name (), g_strjoin (" ", g_get_prgname (), "%u", NULL), + (char **) mime, FALSE }; + + if (swfdec_player_is_initialized (player)) { + gtk_recent_manager_add_full (gtk_recent_manager_get_default (), + swfdec_url_get_url (swfdec_loader_get_url (window->loader)), + &data); + } + g_free (data.app_exec); } /** @@ -148,6 +154,16 @@ swfdec_window_error (SwfdecWindow *window, const char *msg) window->error = TRUE; } +static void +swfdec_window_add_recent_filter (GtkRecentChooser *chooser) +{ + GtkRecentFilter *filter; + + filter = gtk_recent_filter_new (); + gtk_recent_filter_add_group (filter, "swfdec-player"); + gtk_recent_chooser_set_filter (chooser, filter); +} + #define BUILDER_FILE DATADIR G_DIR_SEPARATOR_S "swfdec-gnome" G_DIR_SEPARATOR_S "swfdec-player.ui" /** * swfdec_window_new: @@ -172,6 +188,8 @@ swfdec_window_new (const char *url) return window; } gtk_builder_connect_signals (window->builder, window); + swfdec_window_add_recent_filter (GTK_RECENT_CHOOSER ( + gtk_builder_get_object (window->builder, "recent"))); window->window = GTK_WIDGET (gtk_builder_get_object (window->builder, "player-window")); if (window->window == NULL) { swfdec_window_error (window, _("Broken user interface definition file")); |