[gtk+] csssizevalue: Allow using the name for a win32 metric
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] csssizevalue: Allow using the name for a win32 metric
- Date: Mon, 22 Feb 2016 03:40:02 +0000 (UTC)
commit dc1e191df541047c46854e4b8f0f7a495a0ba2c6
Author: Benjamin Otte <otte redhat com>
Date: Mon Feb 22 00:49:36 2016 +0100
csssizevalue: Allow using the name for a win32 metric
... instead of just the ID.
gtk/gtkcsswin32sizevalue.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcsswin32sizevalue.c b/gtk/gtkcsswin32sizevalue.c
index baa9c48..134078b 100644
--- a/gtk/gtkcsswin32sizevalue.c
+++ b/gtk/gtkcsswin32sizevalue.c
@@ -19,6 +19,7 @@
#include "gtkcsswin32sizevalueprivate.h"
+#include "gtkwin32drawprivate.h"
#include "gtkwin32themeprivate.h"
typedef enum {
@@ -164,7 +165,13 @@ gtk_css_value_win32_size_print (const GtkCssValue *value,
switch (value->type)
{
case GTK_WIN32_SIZE:
- g_string_append_printf (string, ", %d", value->val.size.id);
+ {
+ const char *name = gtk_win32_get_sys_metric_name_for_id (value->val.size.id);
+ if (name)
+ g_string_append (string, name);
+ else
+ g_string_append_printf (string, ", %d", value->val.size.id);
+ }
break;
case GTK_WIN32_PART_WIDTH:
@@ -271,7 +278,22 @@ static GtkCssValue *
gtk_css_win32_size_value_parse_size (GtkCssValue *value,
GtkCssParser *parser)
{
- if (!_gtk_css_parser_try_int (parser, &value->val.size.id))
+ char *name;
+
+ name = _gtk_css_parser_try_ident (parser, TRUE);
+ if (name)
+ {
+ value->val.size.id = gtk_win32_get_sys_metric_id_for_name (name);
+ if (value->val.size.id == -1)
+ {
+ _gtk_css_parser_error (parser, "'%s' is not a name for a win32 metric.", name);
+ _gtk_css_value_unref (value);
+ g_free (name);
+ return NULL;
+ }
+ g_free (name);
+ }
+ else if (!_gtk_css_parser_try_int (parser, &value->val.size.id))
{
_gtk_css_value_unref (value);
_gtk_css_parser_error (parser, "Expected an integer ID");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]