aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-06-04 13:42:47 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-06-04 13:42:47 +0200
commit71b279783975e3542e172e23b37583583cb2482b (patch)
tree3fd004ba6ddb15939a669bfddb18e824300c4342 /src/main.c
parent5a7a427e189eb15ca761eb7d3c8d22bad67e233f (diff)
downloadexperiment-player-71b279783975e3542e172e23b37583583cb2482b.tar.gz
load default interactive format font and colors from config file and also save them
* pango attributes cannot be "cached" anymore and must be recreated every time the interactive format is configured
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c40
1 files changed, 36 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index f11334f..f036e5b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -16,6 +16,8 @@
#include <glib.h>
#include <glib/gprintf.h>
+#include <gdk/gdk.h>
+
#include <gtk/gtk.h>
#include <gtk-vlc-player.h>
@@ -250,6 +252,8 @@ int
main(int argc, char *argv[])
{
GtkBuilder *builder;
+ GtkExperimentTranscript *transcript_wizard, *transcript_proband;
+
GtkAdjustment *adj;
PangoFontDescription *font_desc;
GdkColor color;
@@ -289,7 +293,9 @@ main(int argc, char *argv[])
BUILDER_INIT(builder, transcript_table);
BUILDER_INIT(builder, transcript_wizard_widget);
+ transcript_wizard = GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget);
BUILDER_INIT(builder, transcript_proband_widget);
+ transcript_proband = GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget);
BUILDER_INIT(builder, transcript_scroll_widget);
BUILDER_INIT(builder, transcript_wizard_combo);
@@ -316,8 +322,7 @@ main(int argc, char *argv[])
gtk_scale_button_set_adjustment(GTK_SCALE_BUTTON(volume_button), adj);
/* configure transcript widgets */
- GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget)->speaker =
- g_strdup(SPEAKER_WIZARD);
+ transcript_wizard->speaker = g_strdup(SPEAKER_WIZARD);
font_desc = config_get_transcript_font(SPEAKER_WIZARD);
if (font_desc != NULL) {
gtk_widget_modify_font(transcript_wizard_widget, font_desc);
@@ -330,8 +335,14 @@ main(int argc, char *argv[])
gtk_widget_modify_bg(transcript_wizard_widget,
GTK_STATE_NORMAL, &color);
- GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget)->speaker =
- g_strdup(SPEAKER_PROBAND);
+ transcript_wizard->interactive_format.default_font =
+ config_get_transcript_default_format_font(SPEAKER_WIZARD);
+ if (config_get_transcript_default_format_text_color(SPEAKER_WIZARD, &color))
+ transcript_wizard->interactive_format.default_text_color = gdk_color_copy(&color);
+ if (config_get_transcript_default_format_bg_color(SPEAKER_WIZARD, &color))
+ transcript_wizard->interactive_format.default_bg_color = gdk_color_copy(&color);
+
+ transcript_proband->speaker = g_strdup(SPEAKER_PROBAND);
font_desc = config_get_transcript_font(SPEAKER_PROBAND);
if (font_desc != NULL) {
gtk_widget_modify_font(transcript_proband_widget, font_desc);
@@ -344,6 +355,13 @@ main(int argc, char *argv[])
gtk_widget_modify_bg(transcript_proband_widget,
GTK_STATE_NORMAL, &color);
+ transcript_proband->interactive_format.default_font =
+ config_get_transcript_default_format_font(SPEAKER_PROBAND);
+ if (config_get_transcript_default_format_text_color(SPEAKER_PROBAND, &color))
+ transcript_proband->interactive_format.default_text_color = gdk_color_copy(&color);
+ if (config_get_transcript_default_format_bg_color(SPEAKER_PROBAND, &color))
+ transcript_proband->interactive_format.default_bg_color = gdk_color_copy(&color);
+
format_selection_init();
refresh_quickopen_menu(GTK_MENU(quickopen_menu));
@@ -360,6 +378,13 @@ main(int argc, char *argv[])
config_set_transcript_bg_color(SPEAKER_WIZARD,
&transcript_wizard_widget->style->bg[GTK_STATE_NORMAL]);
+ config_set_transcript_default_format_font(SPEAKER_WIZARD,
+ transcript_wizard->interactive_format.default_font);
+ config_set_transcript_default_format_text_color(SPEAKER_WIZARD,
+ transcript_wizard->interactive_format.default_text_color);
+ config_set_transcript_default_format_bg_color(SPEAKER_WIZARD,
+ transcript_wizard->interactive_format.default_bg_color);
+
config_set_transcript_font(SPEAKER_PROBAND,
transcript_proband_widget->style->font_desc);
config_set_transcript_text_color(SPEAKER_PROBAND,
@@ -367,6 +392,13 @@ main(int argc, char *argv[])
config_set_transcript_bg_color(SPEAKER_PROBAND,
&transcript_proband_widget->style->bg[GTK_STATE_NORMAL]);
+ config_set_transcript_default_format_font(SPEAKER_PROBAND,
+ transcript_proband->interactive_format.default_font);
+ config_set_transcript_default_format_text_color(SPEAKER_PROBAND,
+ transcript_proband->interactive_format.default_text_color);
+ config_set_transcript_default_format_bg_color(SPEAKER_PROBAND,
+ transcript_proband->interactive_format.default_bg_color);
+
config_save_key_file();
return 0;