static void on_media_player_key_pressed(con_gnome_media_keys *gmk, const gchar *key) { PraghaBackend *backend; PraghaPreferences *preferences; PraghaApplication *pragha = gmk->pragha; backend = pragha_application_get_backend (pragha); preferences = pragha_application_get_preferences (pragha); if (pragha_backend_emitted_error (backend)) return; if (g_strcmp0("Play", key) == 0) pragha_playback_play_pause_resume(pragha); else if (g_strcmp0("Pause", key) == 0) pragha_backend_pause (backend); else if (g_strcmp0("Stop", key) == 0) pragha_playback_stop(pragha); else if (g_strcmp0("Previous", key) == 0) pragha_playback_prev_track(pragha); else if (g_strcmp0("Next", key) == 0) pragha_playback_next_track(pragha); else if (g_strcmp0("Repeat", key) == 0) { gboolean repeat = pragha_preferences_get_repeat (preferences); pragha_preferences_set_repeat (preferences, !repeat); } else if (g_strcmp0("Shuffle", key) == 0) { gboolean shuffle = pragha_preferences_get_shuffle (preferences); pragha_preferences_set_shuffle (preferences, !shuffle); } //XXX missed buttons: "Rewind" and "FastForward" }
static void pragha_preferences_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { PraghaPreferences *preferences = PRAGHA_PREFERENCES(object); switch (prop_id) { case PROP_INSTANT_SEARCH: g_value_set_boolean (value, pragha_preferences_get_instant_search(preferences)); break; case PROP_APPROXIMATE_SEARCH: g_value_set_boolean (value, pragha_preferences_get_instant_search(preferences)); break; case PROP_LIBRARY_STYLE: g_value_set_int (value, pragha_preferences_get_library_style(preferences)); break; case PROP_LIBRARY_SORT_BY_YEAR: g_value_set_boolean (value, pragha_preferences_get_sort_by_year(preferences)); break; case PROP_LIBRARY_FUSE_FOLDERS: g_value_set_boolean (value, pragha_preferences_get_fuse_folders(preferences)); break; case PROP_SHUFFLE: g_value_set_boolean (value, pragha_preferences_get_shuffle(preferences)); break; case PROP_REPEAT: g_value_set_boolean (value, pragha_preferences_get_repeat(preferences)); break; case PROP_USE_HINT: g_value_set_boolean (value, pragha_preferences_get_use_hint(preferences)); break; case PROP_RESTORE_PLAYLIST: g_value_set_boolean (value, pragha_preferences_get_restore_playlist(preferences)); break; case PROP_AUDIO_SINK: g_value_set_string (value, pragha_preferences_get_audio_sink(preferences)); break; case PROP_AUDIO_DEVICE: g_value_set_string (value, pragha_preferences_get_audio_device(preferences)); break; case PROP_SOFTWARE_MIXER: g_value_set_boolean (value, pragha_preferences_get_software_mixer(preferences)); break; case PROP_AUDIO_CD_DEVICE: g_value_set_string (value, pragha_preferences_get_audio_cd_device(preferences)); break; case PROP_LATERAL_PANEL: g_value_set_boolean (value, pragha_preferences_get_lateral_panel(preferences)); break; case PROP_SIDEBAR_SIZE: g_value_set_int (value, pragha_preferences_get_sidebar_size(preferences)); break; case PROP_SHOW_ALBUM_ART: g_value_set_boolean (value, pragha_preferences_get_show_album_art(preferences)); break; case PROP_SHOW_STATUS_BAR: g_value_set_boolean (value, pragha_preferences_get_show_status_bar(preferences)); break; case PROP_ADD_RECURSIVELY: g_value_set_boolean (value, pragha_preferences_get_add_recursively(preferences)); break; case PROP_TIMER_REMAINING_MODE: g_value_set_boolean (value, pragha_preferences_get_timer_remaining_mode(preferences)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } }