diff options
author | Bastien Nocera <hadess@hadess.net> | 2019-02-23 00:48:33 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2019-02-23 16:12:26 +0000 |
commit | 6e03fd3f36bb36081db41213feed68b78773430e (patch) | |
tree | f36dde846d07dd98118d130dbb4fdc451d04846d /src/totem-object.c | |
parent | a134dd051486e6dec7e69085035c508fc86ca8ee (diff) | |
download | totem-6e03fd3f36bb36081db41213feed68b78773430e.tar.gz |
main: Add a useful totem_object_stop() API
Which behaves like the Stop button on a CD player.
Diffstat (limited to 'src/totem-object.c')
-rw-r--r-- | src/totem-object.c | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/src/totem-object.c b/src/totem-object.c index f97c7d040..3a02c7e61 100644 --- a/src/totem-object.c +++ b/src/totem-object.c @@ -1574,6 +1574,30 @@ totem_object_play_pause (TotemObject *totem) } /** + * totem_object_stop: + * @totem: a #TotemObject + * + * Stops playback, and sets the playlist back at the start. + */ +void +totem_object_stop (TotemObject *totem) +{ + char *mrl, *subtitle; + + totem_playlist_set_at_start (totem->playlist); + update_buttons (totem); + bacon_video_widget_stop (totem->bvw); + play_pause_set_label (totem, STATE_STOPPED); + mrl = totem_playlist_get_current_mrl (totem->playlist, &subtitle); + if (mrl != NULL) { + totem_object_set_mrl (totem, mrl, subtitle); + bacon_video_widget_pause (totem->bvw); + g_free (mrl); + g_free (subtitle); + } +} + +/** * totem_object_pause: * @totem: a #TotemObject * @@ -2807,22 +2831,9 @@ totem_object_remote_command (TotemObject *totem, TotemRemoteCommand cmd, const c case TOTEM_REMOTE_COMMAND_PAUSE: totem_object_pause (totem); break; - case TOTEM_REMOTE_COMMAND_STOP: { - char *mrl, *subtitle; - - totem_playlist_set_at_start (totem->playlist); - update_buttons (totem); - bacon_video_widget_stop (totem->bvw); - play_pause_set_label (totem, STATE_STOPPED); - mrl = totem_playlist_get_current_mrl (totem->playlist, &subtitle); - if (mrl != NULL) { - totem_object_set_mrl (totem, mrl, subtitle); - bacon_video_widget_pause (totem->bvw); - g_free (mrl); - g_free (subtitle); - } + case TOTEM_REMOTE_COMMAND_STOP: + totem_object_stop (totem); break; - }; case TOTEM_REMOTE_COMMAND_SEEK_FORWARD: { double offset = 0; |