gui/audio: Add an accessor function for the pause_after combo box

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2016-09-04 09:38:47 -04:00
parent 07d735eeee
commit f8c0668e5e
4 changed files with 28 additions and 39 deletions

View File

@ -51,14 +51,12 @@ static void __audio_change_state(GstState state)
static void __audio_config_pause(int n)
{
GtkComboBox *combo = GTK_COMBO_BOX(gui_builder_widget("o_pause_after"));
gtk_combo_box_set_active(combo, n + 1);
gtk_combo_box_set_active(GTK_COMBO_BOX(gui_pause_after()), n + 1);
}
void __audio_pause_changed(GtkComboBox *combo, gpointer data)
void __gui_audio_pause_changed(GtkComboBox *combo, gpointer data)
{
int val = gtk_combo_box_get_active(combo) - 1;
audio_pause_after(val);
audio_pause_after(gtk_combo_box_get_active(combo) - 1);
}
void __audio_seek(GtkRange *range, GtkScrollType type, double value, gpointer data)

View File

@ -68,6 +68,12 @@ static inline GtkButton *gui_next_button(void)
return GTK_BUTTON(gui_builder_widget("next_button"));
}
/* Called to get the pause-fater combobox. */
static inline GtkComboBoxText *gui_pause_after(void)
{
return GTK_COMBO_BOX_TEXT(gui_builder_widget("pause_after"));
}
#ifdef CONFIG_TESTING
void test_gui_audio_timeout();
#endif /* CONFIG_TESTING */

View File

@ -556,7 +556,7 @@ audio-volume-medium</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="o_pause_after">
<object class="GtkComboBoxText" id="pause_after">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
@ -665,7 +665,7 @@ audio-volume-medium</property>
<item translatable="yes">98 tracks</item>
<item translatable="yes">99 tracks</item>
</items>
<signal name="changed" handler="__audio_pause_changed" swapped="no"/>
<signal name="changed" handler="__gui_audio_pause_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">4</property>

View File

@ -20,17 +20,6 @@ struct core_init_data init_data = {
.audio_ops = &audio_ops,
};
static inline gchar *test_get_pause_text()
{
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(gui_builder_widget("o_pause_after")));
}
static inline void test_set_pause_after(unsigned int n)
{
GtkComboBox *combo = GTK_COMBO_BOX(gui_builder_widget("o_pause_after"));
gtk_combo_box_set_active(combo, n + 1);
}
static void test_audio_seek(gint64 pos)
{
GstState state;
@ -49,6 +38,10 @@ static void test_audio_init()
g_assert_cmpstr(gtk_label_get_text(gui_title_tag()), ==, " ");
g_assert_cmpstr(gtk_label_get_text(gui_position()), ==, "0:00");
g_assert_cmpstr(gtk_label_get_text(gui_duration()), ==, "0:00");
g_assert_cmpstr(gtk_combo_box_text_get_active_text(gui_pause_after()),
==, "(disabled)");
g_assert_cmpuint(gtk_combo_box_get_active(
GTK_COMBO_BOX(gui_pause_after())), ==, 0);
g_assert_true( gtk_widget_is_visible(GTK_WIDGET(gui_play_button())));
g_assert_false(gtk_widget_is_visible(GTK_WIDGET(gui_pause_button())));
}
@ -94,6 +87,17 @@ static void test_audio_buttons()
gtk_button_clicked(gui_prev_button());
g_assert(audio_cur_track() == track_get(0));
gtk_combo_box_set_active(GTK_COMBO_BOX(gui_pause_after()), 2);
audio_eos();
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(gtk_combo_box_get_active(
GTK_COMBO_BOX(gui_pause_after())), ==, 1);
audio_eos();
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PAUSED);
g_assert_cmpuint(gtk_combo_box_get_active(
GTK_COMBO_BOX(gui_pause_after())), ==, 0);
}
static void test_audio()
@ -101,34 +105,15 @@ static void test_audio()
struct db_entry *dbe, *next;
struct track *track;
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
db_for_each(dbe, next, track_db_get()) {
if (TRACK(dbe)->tr_track == 1) {
if (TRACK(dbe)->tr_track == 4) {
track = TRACK(dbe);
break;
}
}
audio_load(track);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, track->tr_track);
test_set_pause_after(0);
audio_eos();
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 3);
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
test_set_pause_after(1);
g_assert_cmpstr_free(test_get_pause_text(), ==, "next track");
audio_eos();
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 4);
g_assert_cmpstr_free(test_get_pause_text(), ==, "this track");
audio_eos();
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 5);
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
gtk_button_clicked(gui_pause_button());
test_audio_seek(71 * GST_SECOND);
test_gui_audio_timeout();
g_assert_cmpuint(gtk_adjustment_get_upper(GTK_ADJUSTMENT(gui_builder_object("o_progress"))),