After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 512602 - Port to gio [Tracker bug]
Port to gio [Tracker bug]
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
Depends on: 512581 512587 512589 512590 512591 512592 512594 512595 512596 512600
Blocks: 497996
 
 
Reported: 2008-01-28 16:09 UTC by Bastien Nocera
Modified: 2008-05-23 14:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Port Totem to GIO (28.70 KB, patch)
2008-02-12 19:57 UTC, Philip Withnall
committed Details | Review

Description Bastien Nocera 2008-01-28 16:09:29 UTC
See dependencies.
Comment 1 Philip Withnall 2008-02-12 19:57:05 UTC
Created attachment 105082 [details] [review]
Port Totem to GIO

This is a massive patch which should fix several of the GIO bugs (#512592, #512594, #512595, #512596, #512600). It includes the patches already posted for bugs #512592 and #512594.

I haven't tested it extensively, but from a first pass, things seem to work. I haven't done support for showing discless drives in the menu, as I'm not quite sure what the point is --- this should probably be discussed. With this patch, drives are only listed in the menu if they have a disc in. There is one slight regression here in that it also lists data discs, and the appropriate areas of the patch have FIXMEs by them --- we can only check for ejectableness of a disc, rather than its actual type at the moment, without writing a load of HAL code.

In totem_uri_escape_for_display, it may be possible to remove all the UTF-8 valdiation code, but this needs to be investigated. The same is true of totem_playlist_mrl_to_title.

This patch also changes a FIXME in on_movie_menu_select where the in-progress DVB code was causing the device list to be removed from the menu the second time it was displayed. This is just temporary, and waiting for a proper fix from the DVB code.
Comment 2 Bastien Nocera 2008-03-07 04:43:29 UTC
The totem_uri_escape_for_display() doesn't need the non-UTF-8 checks anymore.

Use G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE instead of G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE in the recent files code.

Don't undo the changes at the top of on_movie_menu_select().

The rest looks good to commit, as a first pass. Feel free to close bugs as appropriate.
Comment 3 Philip Withnall 2008-03-14 23:07:54 UTC
Now the plugins and backends need converting, and any cleanup needs doing.

2008-03-14  Philip Withnall  <pwithnall@svn.gnome.org>

	* configure.in:
	* src/plugins/publish/totem-publish.c:
	* src/totem-menu.c: (totem_action_add_recent),
	(on_play_dvb_activate), (add_drive_to_menu),
	(update_drive_menu_items), (on_movie_menu_select),
	(on_g_volume_monitor_event), (totem_setup_play_disc):
	* src/totem-playlist.c: (totem_playlist_mrl_to_title),
	(totem_playlist_compare_with_mount),
	(totem_playlist_clear_with_g_mount):
	* src/totem-playlist.h:
	* src/totem-private.h:
	* src/totem-uri.c: (totem_get_mount_for_uri),
	(totem_get_mount_for_media), (totem_is_special_mrl),
	(totem_create_full_path), (totem_action_on_unmount),
	(totem_setup_file_monitoring), (totem_uri_exists),
	(totem_uri_get_subtitle_in_subdir), (totem_uri_get_subtitle_uri),
	(totem_uri_escape_for_display):
	* src/totem-uri.h:
	* src/totem.c: (totem_action_exit), (totem_action_eject),
	(drag_video_cb), (update_media_menu_items), (main): Convert the bulk
	of Totem to GIO, leaving the plugins and backends still to convert.
	(Closes: #512594, helps: #512602)
Comment 4 Bastien Nocera 2008-05-23 14:19:58 UTC
2008-05-23  Bastien Nocera  <hadess@hadess.net>

	* browser-plugin/totem-plugin-viewer.c
	(totem_embedded_launch_player), (totem_embedded_get_app_for_uri),
	(totem_embedded_update_menu), (on_open1_activate), (main):
	Use GIO and GDK to launch the full-blown player, startup notification
	only available with GTK+ 2.13 (Closes: #512587)
	* src/backend/bacon-video-widget-xine.c
	(bacon_video_widget_open_with_subtitle): Remove remains of gnome-vfs
	code, gvfs doesn't support passing credentials in the URI anyway
	* configure.in: Remove gnome-vfs deps, not used anymore