From 78ab2d265d8fbd2bb4bbfb1533645154e12db2c2 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Thu, 14 Jun 2012 14:30:27 +0200 Subject: new navigator signal (for Jens to use): section-selected should be emitted when an entry is single-clicked * connected with transcript widgets: the selected section becomes the transcripts backdrop area * updated documentation for callbacks in class structure --- src/default.ui | 5 +++++ src/main.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) (limited to 'src') diff --git a/src/default.ui b/src/default.ui index e8496d6..923a0c5 100644 --- a/src/default.ui +++ b/src/default.ui @@ -319,11 +319,13 @@ audio-volume-medium True + True True + True 1 @@ -485,6 +487,9 @@ audio-volume-medium False 0 + + + diff --git a/src/main.c b/src/main.c index ee81e44..16e3f71 100644 --- a/src/main.c +++ b/src/main.c @@ -207,6 +207,57 @@ navigator_widget_time_selected_cb(GtkWidget *widget, gint64 selected_time, gtk_vlc_player_seek(GTK_VLC_PLAYER(widget), selected_time); } +static struct { + gint64 start; + gint64 end; +} last_activated_section = {-1, -1}; + +/** @private */ +void +navigator_widget_section_activated_cb(GtkWidget *widget __attribute__((unused)), + gint64 start, gint64 end, + gpointer user_data __attribute__((unused))) +{ + GtkExperimentTranscript *transcript_wizard = + GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget); + GtkExperimentTranscript *transcript_proband = + GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget); + + gtk_experiment_transcript_set_backdrop_area(transcript_wizard, + start, end); + gtk_experiment_transcript_set_backdrop_area(transcript_proband, + start, end); + + last_activated_section.start = start; + last_activated_section.end = end; +} + +/** @private */ +gboolean +navigator_widget_generic_focus_event_cb(GtkWidget *widget __attribute__((unused)), + GdkEventFocus *event, + gpointer user_data __attribute__((unused))) +{ + GtkExperimentTranscript *transcript_wizard = + GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget); + GtkExperimentTranscript *transcript_proband = + GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget); + + gint64 start = -1, end = -1; + + if (event->in) { + start = last_activated_section.start; + end = last_activated_section.end; + } + + gtk_experiment_transcript_set_backdrop_area(transcript_wizard, + start, end); + gtk_experiment_transcript_set_backdrop_area(transcript_proband, + start, end); + + return TRUE; +} + /** @private */ void generic_quit_cb(GtkWidget *widget __attribute__((unused)), -- cgit v1.2.3