[balsa] Silence some deprecation warnings
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Silence some deprecation warnings
- Date: Sat, 19 Nov 2016 23:24:03 +0000 (UTC)
commit 8453c758ec619113441ce0011a387357c4c98b9b
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sat Nov 19 18:22:19 2016 -0500
Silence some deprecation warnings
Silence some whining about "Using Pango syntax for the font:
style property is deprecated; please use CSS syntax".
* libbalsa/misc.c (libbalsa_font_string_to_css): new function.
* libbalsa/misc.h: export it.
* libbalsa/source-viewer.c (libbalsa_show_message_source): use
it.
* src/balsa-mime-widget-message.c (add_header_gchar): ditto.
* src/balsa-mime-widget-text.c (bm_modify_font_from_string):
ditto.
* src/sendmsg-window.c (create_email_or_string_entry),
(create_text_area): ditto.
ChangeLog | 15 ++++++
libbalsa/misc.c | 99 +++++++++++++++++++++++++++++++++++++++
libbalsa/misc.h | 1 +
libbalsa/source-viewer.c | 2 +-
src/balsa-mime-widget-message.c | 9 ++--
src/balsa-mime-widget-text.c | 2 +-
src/sendmsg-window.c | 10 ++--
7 files changed, 125 insertions(+), 13 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c0a8e79..d738134 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2016-11-19 Peter Bloomfield <pbloomfield bellsouth net>
+
+ Silence some whining about "Using Pango syntax for the font:
+ style property is deprecated; please use CSS syntax".
+
+ * libbalsa/misc.c (libbalsa_font_string_to_css): new function.
+ * libbalsa/misc.h: export it.
+ * libbalsa/source-viewer.c (libbalsa_show_message_source): use
+ it.
+ * src/balsa-mime-widget-message.c (add_header_gchar): ditto.
+ * src/balsa-mime-widget-text.c (bm_modify_font_from_string):
+ ditto.
+ * src/sendmsg-window.c (create_email_or_string_entry),
+ (create_text_area): ditto.
+
2016-11-15 Peter Bloomfield <pbloomfield bellsouth net>
Use Unicode characters for double quotation marks and ellipses.
diff --git a/libbalsa/misc.c b/libbalsa/misc.c
index f066944..b29ddf3 100644
--- a/libbalsa/misc.c
+++ b/libbalsa/misc.c
@@ -1355,3 +1355,102 @@ libbalsa_size_to_gchar(guint64 size)
return g_strdup_printf("%" G_GUINT64_FORMAT, size);
}
+
+gchar *
+libbalsa_font_string_to_css(const gchar * font_string,
+ const gchar * name)
+{
+ PangoFontDescription *desc;
+ guint mask;
+ GString *string;
+
+ g_return_val_if_fail(font_string != NULL, NULL);
+ g_return_val_if_fail(name != NULL, NULL);
+
+ desc = pango_font_description_from_string(font_string);
+ mask = pango_font_description_get_set_fields(desc);
+
+ string = g_string_new(NULL);
+ g_string_printf(string, "#%s {\n", name);
+
+ if (mask & PANGO_FONT_MASK_FAMILY) {
+ g_string_append_printf(string, "font-family: \"%s\";\n",
+ pango_font_description_get_family(desc));
+ }
+ if (mask & PANGO_FONT_MASK_STYLE) {
+ const gchar *style = NULL;
+
+ switch (pango_font_description_get_style(desc)) {
+ case PANGO_STYLE_OBLIQUE:
+ style = "oblique";
+ break;
+ case PANGO_STYLE_ITALIC:
+ style = "italic";
+ break;
+ default:
+ break;
+ }
+ if (style != NULL)
+ g_string_append_printf(string, "font-style: %s;\n", style);
+ }
+ if (mask & PANGO_FONT_MASK_VARIANT) {
+ if (pango_font_description_get_variant(desc) ==
+ PANGO_VARIANT_SMALL_CAPS)
+ g_string_append(string, "font-variant: small-caps;\n");
+ }
+ if (mask & PANGO_FONT_MASK_WEIGHT) {
+ PangoWeight weight;
+
+ weight = pango_font_description_get_weight(desc);
+ if (weight != PANGO_WEIGHT_NORMAL)
+ g_string_append_printf(string, " font-weight: %d;\n", weight);
+ }
+ if (mask & PANGO_FONT_MASK_STRETCH) {
+ const gchar *stretch = NULL;
+
+ switch (pango_font_description_get_stretch(desc)) {
+ case PANGO_STRETCH_ULTRA_CONDENSED:
+ stretch = "ultra-condensed";
+ break;
+ case PANGO_STRETCH_EXTRA_CONDENSED:
+ stretch = "extra-condensed";
+ break;
+ case PANGO_STRETCH_CONDENSED:
+ stretch = "condensed";
+ break;
+ case PANGO_STRETCH_SEMI_CONDENSED:
+ stretch = "semi-condensed";
+ break;
+ case PANGO_STRETCH_SEMI_EXPANDED:
+ stretch = "semi-expanded";
+ break;
+ case PANGO_STRETCH_EXPANDED:
+ stretch = "expanded";
+ break;
+ case PANGO_STRETCH_EXTRA_EXPANDED:
+ stretch = "extra-expanded";
+ break;
+ case PANGO_STRETCH_ULTRA_EXPANDED:
+ stretch = "ultra-expanded";
+ break;
+ default:
+ break;
+ }
+ if (stretch != NULL)
+ g_string_append_printf(string, "font-stretch: %s;\n", stretch);
+ }
+ if (mask & PANGO_FONT_MASK_SIZE) {
+ gint size;
+
+ size = pango_font_description_get_size(desc);
+ if (!pango_font_description_get_size_is_absolute(desc))
+ size *= gdk_screen_get_resolution(gdk_screen_get_default()) / 72;
+ size = PANGO_PIXELS(size);
+ g_string_append_printf(string, "font-size: %dpx;\n", size);
+ }
+ g_string_append_c(string, '}');
+
+ pango_font_description_free(desc);
+
+ return g_string_free(string, FALSE);
+}
diff --git a/libbalsa/misc.h b/libbalsa/misc.h
index d77f6b5..fc4d6fb 100644
--- a/libbalsa/misc.h
+++ b/libbalsa/misc.h
@@ -167,5 +167,6 @@ gchar *libbalsa_size_to_gchar(guint64 length);
gchar * libbalsa_text_to_html(const gchar * title, const gchar * body, const gchar * lang);
GString * libbalsa_html_encode_hyperlinks(GString * paragraph);
+gchar *libbalsa_font_string_to_css(const gchar * font_string, const gchar * name);
#endif /* __LIBBALSA_MISC_H__ */
diff --git a/libbalsa/source-viewer.c b/libbalsa/source-viewer.c
index 9952e58..399fc69 100644
--- a/libbalsa/source-viewer.c
+++ b/libbalsa/source-viewer.c
@@ -209,7 +209,7 @@ libbalsa_show_message_source(GtkApplication * application,
text = gtk_text_view_new();
gtk_widget_set_name(text, BALSA_SOURCE_VIEWER);
- css = g_strconcat("#" BALSA_SOURCE_VIEWER " {font:", font, "}", NULL);
+ css = libbalsa_font_string_to_css(font, BALSA_SOURCE_VIEWER);
css_provider = gtk_css_provider_new();
gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index 570b2b5..003c9a5 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -571,11 +571,10 @@ add_header_gchar(GtkGrid * grid, const gchar * header, const gchar * label,
else
css = g_strdup("");
} else {
- css =
- g_strconcat("#" BALSA_MESSAGE_HEADER " {font:",
- strcmp(header, "subject")
- ? balsa_app.message_font
- : balsa_app.subject_font, "}", NULL);
+ css = libbalsa_font_string_to_css(strcmp(header, "subject")
+ ? balsa_app.message_font
+ : balsa_app.subject_font,
+ BALSA_MESSAGE_HEADER);
}
css_provider = gtk_css_provider_new();
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index e54069c..4e01557 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -309,7 +309,7 @@ bm_modify_font_from_string(GtkWidget * widget, const char *font)
GtkCssProvider *css_provider;
gtk_widget_set_name(widget, BALSA_MESSAGE_TEXT_HEADER);
- css = g_strconcat("#" BALSA_MESSAGE_TEXT_HEADER " {font:", font, "}", NULL);
+ css = libbalsa_font_string_to_css(font, BALSA_MESSAGE_TEXT_HEADER);
css_provider = gtk_css_provider_new();
gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index 7ecffd2..1d2f048 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -2298,9 +2298,8 @@ create_email_or_string_entry(BalsaSendmsg * bsmsg,
GtkCssProvider *css_provider;
gtk_widget_set_name(arr[1], BALSA_COMPOSE_ENTRY);
- css =
- g_strconcat("#" BALSA_COMPOSE_ENTRY " {font:",
- balsa_app.message_font, "}", NULL);
+ css = libbalsa_font_string_to_css(balsa_app.message_font,
+ BALSA_COMPOSE_ENTRY);
css_provider = gtk_css_provider_new();
gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
@@ -2870,9 +2869,8 @@ create_text_area(BalsaSendmsg * bsmsg)
gchar *css;
GtkCssProvider *css_provider;
- css =
- g_strconcat("#" BALSA_COMPOSE_ENTRY " {font:",
- balsa_app.message_font, "}", NULL);
+ css = libbalsa_font_string_to_css(balsa_app.message_font,
+ BALSA_COMPOSE_ENTRY);
css_provider = gtk_css_provider_new();
gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]