#include <gconf/gconf-client.h>
-#define GCONF_MAFW_GST_SUBTITLE_RENDERER "/system/mafw/mafw-gst-renderer"
+#define GCONF_MAFW_GST_SUBTITLE_RENDERER "/system/mafw/mafw-gst-subtitles-renderer"
#define _HL(str) dgettext("hildon-libs",str)
typedef enum
/* Run the dialog */
gtk_widget_show_all (GTK_WIDGET (dialog));
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
- printf ("family = %s, style = %s, size = %d\n",
- hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (family_selector)),
- hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (style_selector)),
- hildon_touch_selector_get_active (HILDON_TOUCH_SELECTOR (size_selector), 0));
- // pango_font_description_to_string
+ if (font_desc)
+ pango_font_description_free (font_desc);
+
+ font_desc = pango_font_description_new ();
+
+ /* set font family */
+ pango_font_description_set_family (font_desc,
+ hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (family_selector)));
+
+ /* set font style */
+ switch (hildon_touch_selector_get_active (HILDON_TOUCH_SELECTOR (style_selector), 0)) {
+ case FONT_STYLE_REGULAR:
+ pango_font_description_set_style (font_desc, PANGO_STYLE_NORMAL);
+ pango_font_description_set_weight (font_desc, PANGO_WEIGHT_NORMAL);
+ break;
+
+ case FONT_STYLE_ITALIC:
+ pango_font_description_set_style (font_desc, PANGO_STYLE_ITALIC);
+ pango_font_description_set_weight (font_desc, PANGO_WEIGHT_NORMAL);
+ break;
+
+ case FONT_STYLE_BOLD:
+ pango_font_description_set_style (font_desc, PANGO_STYLE_NORMAL);
+ pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
+ break;
+
+ case FONT_STYLE_ITALIC_BOLD:
+ pango_font_description_set_style (font_desc, PANGO_STYLE_ITALIC);
+ pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
+ break;
+ }
+
+ /* set font size */
+ pango_font_description_set_size (font_desc,
+ font_sizes[hildon_touch_selector_get_active (HILDON_TOUCH_SELECTOR (size_selector), 0)] * PANGO_SCALE);
+
+ hildon_button_set_value (HILDON_BUTTON (button), pango_font_description_to_string (font_desc));
}
+ if (font_desc)
+ pango_font_description_free (font_desc);
+
gtk_widget_destroy(GTK_WIDGET(dialog));
}
hildon_button_set_alignment (HILDON_BUTTON (button), 0.0, 0.5, 1.0, 0.0);
hildon_button_set_title_alignment (HILDON_BUTTON(button), 0.0, 0.5);
hildon_button_set_value_alignment (HILDON_BUTTON (button), 0.0, 0.5);
+ hildon_button_set_style (HILDON_BUTTON (button), HILDON_BUTTON_STYLE_PICKER);
font = gconf_get_string (gconf_client, "subtitle_font");
if (font) {
#define GCONF_OSSO_AF "/system/osso/af"
#define GCONF_BATTERY_COVER_OPEN "/system/osso/af/mmc-cover-open"
-#define GCONF_MAFW_GST_SUBTITLE_RENDERER "/system/mafw/mafw-gst-renderer"
+#define GCONF_MAFW_GST_SUBTITLES_RENDERER "/system/mafw/mafw-gst-subtitles-renderer"
#define HAL_VIDEOOUT_UDI "/org/freedesktop/Hal/devices" \
"/platform_soc_audio_logicaldev_input"
}
gconf_client_add_dir(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER,
+ GCONF_MAFW_GST_SUBTITLES_RENDERER,
GCONF_CLIENT_PRELOAD_ONELEVEL,
&error);
if (error) {
}
gconf_client_notify_add(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER "/autoload_subtitles",
+ GCONF_MAFW_GST_SUBTITLES_RENDERER "/autoload_subtitles",
(GConfClientNotifyFunc) _autoload_subtitles_changed_cb,
renderer,
NULL, &error);
}
gconf_client_notify_add(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER "/subtitle_encoding",
+ GCONF_MAFW_GST_SUBTITLES_RENDERER "/subtitle_encoding",
(GConfClientNotifyFunc) _subtitle_font_changed_cb,
renderer,
NULL, &error);
}
gconf_client_notify_add(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER "/subtitle_font",
+ GCONF_MAFW_GST_SUBTITLES_RENDERER "/subtitle_font",
(GConfClientNotifyFunc) _subtitle_font_changed_cb,
renderer,
NULL, &error);
if (self->worker->pipeline) {
gconf_client_notify(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER "/autoload_subtitles");
+ GCONF_MAFW_GST_SUBTITLES_RENDERER "/autoload_subtitles");
gconf_client_notify(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER "/subtitle_encoding");
+ GCONF_MAFW_GST_SUBTITLES_RENDERER "/subtitle_encoding");
gconf_client_notify(renderer->gconf_client,
- GCONF_MAFW_GST_SUBTITLE_RENDERER "/subtitle_font");
+ GCONF_MAFW_GST_SUBTITLES_RENDERER "/subtitle_font");
}
if (gnome_vfs_init()) {
key = gconf_entry_get_key(entry);
/* Only key without absolute path is required */
- key += strlen(GCONF_MAFW_GST_SUBTITLE_RENDERER) + 1;
+ key += strlen(GCONF_MAFW_GST_SUBTITLES_RENDERER) + 1;
value = gconf_entry_get_value(entry);
- if (value == NULL)
- return;
-
- str_value = gconf_value_get_string(value);
+ if (value)
+ str_value = gconf_value_get_string(value);
+ else
+ str_value = NULL;
if (strcmp(key, "subtitle_font") == 0) {
if (renderer->worker->subtitles.font)
g_free(renderer->worker->subtitles.font);
- renderer->worker->subtitles.font = g_strdup(str_value);
+ if (str_value)
+ renderer->worker->subtitles.font = g_strdup(str_value);
+ else
+ renderer->worker->subtitles.font = NULL;
} else if (strcmp(key, "subtitle_encoding") == 0) {
if (renderer->worker->subtitles.encoding)
g_free(renderer->worker->subtitles.encoding);
- renderer->worker->subtitles.encoding = g_strdup(str_value);
+ if (str_value)
+ renderer->worker->subtitles.encoding = g_strdup(str_value);
+ else
+ renderer->worker->subtitles.encoding = NULL;
} else {
- g_warning("Wrong %s key, %s", GCONF_MAFW_GST_SUBTITLE_RENDERER, key);
+ g_warning("Wrong %s key, %s", GCONF_MAFW_GST_SUBTITLES_RENDERER, key);
}
}