[eog] EogPropertiesDialog: Allow RGBA for transparent background color
- From: Felix Riemann <friemann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [eog] EogPropertiesDialog: Allow RGBA for transparent background color
- Date: Fri, 22 Nov 2013 22:26:20 +0000 (UTC)
commit 7d2cf4d8986ccf5bde28c612502c489af216ba9a
Author: Felix Riemann <friemann gnome org>
Date: Fri Nov 22 23:25:12 2013 +0100
EogPropertiesDialog: Allow RGBA for transparent background color
Now that it is supported in EogScrollView there's no reason not
to allow setting an alpha value for the color.
data/eog-preferences-dialog.ui | 6 ++++--
src/eog-preferences-dialog.c | 38 ++++++++++++++++++--------------------
2 files changed, 22 insertions(+), 22 deletions(-)
---
diff --git a/data/eog-preferences-dialog.ui b/data/eog-preferences-dialog.ui
index 36cb8ae..4b4044b 100644
--- a/data/eog-preferences-dialog.ui
+++ b/data/eog-preferences-dialog.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.0 on Mon Oct 28 21:09:33 2013 -->
+<!-- Generated with glade 3.16.0 -->
<interface>
- <!-- interface-requires gtk+ 3.6 -->
+ <requires lib="gtk+" version="3.6"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="lower">1</property>
<property name="upper">100</property>
@@ -325,7 +325,9 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_alpha">True</property>
<property name="title" translatable="yes">Color for Transparent
Areas</property>
+ <property name="rgba">rgb(0,0,0)</property>
</object>
<packing>
<property name="expand">False</property>
diff --git a/src/eog-preferences-dialog.c b/src/eog-preferences-dialog.c
index d303a8b..11ab2a9 100644
--- a/src/eog-preferences-dialog.c
+++ b/src/eog-preferences-dialog.c
@@ -50,15 +50,15 @@ static GObject *instance = NULL;
G_DEFINE_TYPE_WITH_PRIVATE (EogPreferencesDialog, eog_preferences_dialog, EOG_TYPE_DIALOG);
static gboolean
-pd_string_to_color_mapping (GValue *value,
- GVariant *variant,
- gpointer user_data)
+pd_string_to_rgba_mapping (GValue *value,
+ GVariant *variant,
+ gpointer user_data)
{
- GdkColor color;
+ GdkRGBA color;
g_return_val_if_fail (g_variant_is_of_type (variant, G_VARIANT_TYPE_STRING), FALSE);
- if (gdk_color_parse (g_variant_get_string (variant, NULL), &color)) {
+ if (gdk_rgba_parse (&color, g_variant_get_string (variant, NULL))) {
g_value_set_boxed (value, &color);
return TRUE;
}
@@ -67,22 +67,20 @@ pd_string_to_color_mapping (GValue *value,
}
static GVariant*
-pd_color_to_string_mapping (const GValue *value,
- const GVariantType *expected_type,
- gpointer user_data)
+pd_rgba_to_string_mapping (const GValue *value,
+ const GVariantType *expected_type,
+ gpointer user_data)
{
GVariant *variant = NULL;
- GdkColor *color;
+ GdkRGBA *color;
gchar *hex_val;
- g_return_val_if_fail (G_VALUE_TYPE (value) == GDK_TYPE_COLOR, NULL);
+ g_return_val_if_fail (G_VALUE_TYPE (value) == GDK_TYPE_RGBA, NULL);
g_return_val_if_fail (g_variant_type_equal (expected_type, G_VARIANT_TYPE_STRING), NULL);
color = g_value_get_boxed (value);
- hex_val = g_strdup_printf ("#%02X%02X%02X",
- color->red / 256,
- color->green / 256,
- color->blue / 256);
+ hex_val = gdk_rgba_to_string(color);
+
variant = g_variant_new_string (hex_val);
g_free (hex_val);
@@ -195,10 +193,10 @@ eog_preferences_dialog_constructor (GType type,
g_settings_bind_with_mapping (priv->view_settings,
EOG_CONF_VIEW_BACKGROUND_COLOR,
- bg_color_button, "color",
+ bg_color_button, "rgba",
G_SETTINGS_BIND_DEFAULT,
- pd_string_to_color_mapping,
- pd_color_to_string_mapping,
+ pd_string_to_rgba_mapping,
+ pd_rgba_to_string_mapping,
NULL, NULL);
g_object_set_data (G_OBJECT (color_radio),
@@ -251,10 +249,10 @@ eog_preferences_dialog_constructor (GType type,
g_settings_bind_with_mapping (priv->view_settings,
EOG_CONF_VIEW_TRANS_COLOR,
- color_button, "color",
+ color_button, "rgba",
G_SETTINGS_BIND_DEFAULT,
- pd_string_to_color_mapping,
- pd_color_to_string_mapping,
+ pd_string_to_rgba_mapping,
+ pd_rgba_to_string_mapping,
NULL, NULL);
g_settings_bind (priv->fullscreen_settings, EOG_CONF_FULLSCREEN_UPSCALE,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]