[libgda] Replaced gtk_rc_parse_string() with GtkCssProvider usage
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Replaced gtk_rc_parse_string() with GtkCssProvider usage
- Date: Tue, 19 Jul 2011 05:55:32 +0000 (UTC)
commit 0dd50e899d39257a9bebc00f7e1db8feb6d4d1f3
Author: Vivien Malerba <malerba gnome-db org>
Date: Mon Jul 18 19:45:21 2011 +0200
Replaced gtk_rc_parse_string() with GtkCssProvider usage
libgda-ui/data-entries/gdaui-entry-combo.c | 6 -----
libgda-ui/gdaui-combo.c | 31 +++++++++++++--------------
libgda-ui/gdaui-data-proxy-info.c | 25 +++++++++++----------
tools/browser/support.c | 31 ++++++++++++++-------------
4 files changed, 44 insertions(+), 49 deletions(-)
---
diff --git a/libgda-ui/data-entries/gdaui-entry-combo.c b/libgda-ui/data-entries/gdaui-entry-combo.c
index b7db345..3674a39 100644
--- a/libgda-ui/data-entries/gdaui-entry-combo.c
+++ b/libgda-ui/data-entries/gdaui-entry-combo.c
@@ -160,12 +160,6 @@ gdaui_entry_combo_class_init (GdauiEntryComboClass *class)
g_object_class_install_property (object_class, PROP_SET_DEFAULT_IF_INVALID,
g_param_spec_boolean ("set-default-if-invalid", NULL, NULL, FALSE,
(G_PARAM_READABLE | G_PARAM_WRITABLE)));
-
- /* RC setting */
-#define RC_STRING \
- "style \"gnomedb\" { GdauiCombo::appears-as-list = 1 }" \
- "class \"GtkComboBox\" style \"gnomedb\""
- /*gtk_rc_parse_string (RC_STRING);*/
}
static void
diff --git a/libgda-ui/gdaui-combo.c b/libgda-ui/gdaui-combo.c
index a1ad399..b417c72 100644
--- a/libgda-ui/gdaui-combo.c
+++ b/libgda-ui/gdaui-combo.c
@@ -72,6 +72,7 @@ enum {
/* get a pointer to the parents to be able to call their destructor */
static GObjectClass *parent_class = NULL;
+static GtkCssProvider *css_provider = NULL;
/*
* GdauiCombo class implementation
@@ -159,6 +160,18 @@ gdaui_combo_init (GdauiCombo *combo, G_GNUC_UNUSED GdauiComboClass *klass)
gtk_combo_box_set_wrap_width (GTK_COMBO_BOX (combo), 0);
combo->priv->changed_id = g_signal_connect (combo, "changed",
G_CALLBACK (selection_changed_cb), NULL);
+
+ if (!css_provider) {
+ css_provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_data (css_provider,
+ "#gdaui-combo-as-list {\n"
+ "-GtkComboBox-appears-as-list : 1;\n"
+ "-GtkComboBox-arrow-size : 5}",
+ -1, NULL);
+ }
+ gtk_style_context_add_provider (gtk_widget_get_style_context ((GtkWidget*) combo),
+ GTK_STYLE_PROVIDER (css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
}
static void
@@ -205,18 +218,8 @@ gdaui_combo_set_property (GObject *object,
0, NULL);
break;
case PROP_AS_LIST: {
- static gboolean rc_done = FALSE;
- if (!rc_done) {
- rc_done = TRUE;
- gtk_rc_parse_string ("style \"gdaui-combo-as-list-style\"\n"
- "{\n"
- "GtkComboBox::appears-as-list = 1\n"
- "GtkComboBox::arrow-size = 5\n"
- "}\n"
- "widget \"*.gdaui-combo-as-list-style\" style \"gdaui-combo-as-list-style\"");
- }
if (g_value_get_boolean (value))
- gtk_widget_set_name ((GtkWidget*) combo, "gdaui-combo-as-list-style");
+ gtk_widget_set_name ((GtkWidget*) combo, "gdaui-combo-as-list");
else
gtk_widget_set_name ((GtkWidget*) combo, NULL);
break;
@@ -244,7 +247,7 @@ gdaui_combo_get_property (GObject *object,
case PROP_AS_LIST: {
const gchar *name;
name = gtk_widget_get_name ((GtkWidget*) combo);
- g_value_set_boolean (value, name && !strcmp (name, "gdaui-combo-as-list-style") ? TRUE : FALSE);
+ g_value_set_boolean (value, name && !strcmp (name, "gdaui-combo-as-list") ? TRUE : FALSE);
break;
}
default :
@@ -460,8 +463,6 @@ gdaui_combo_set_model (GdauiCombo *combo, GdaDataModel *model, gint n_cols, gint
renderer = gtk_cell_renderer_text_new ();
g_object_set_data (G_OBJECT (renderer), "data-handler", dh);
g_object_set_data (G_OBJECT (renderer), "colnum", GINT_TO_POINTER (index));
- g_object_set ((GObject*) renderer, "width-chars",
- combo->priv->cols_width [index] + 1, NULL);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo), renderer,
@@ -827,8 +828,6 @@ combo_selector_set_column_visible (GdauiDataSelector *iface, gint column, gboole
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo), renderer,
(GtkCellLayoutDataFunc) cell_layout_data_func, combo, NULL);
gtk_cell_layout_reorder (GTK_CELL_LAYOUT (combo), renderer, cellpos);
- g_object_set ((GObject*) renderer, "width-chars",
- combo->priv->cols_width [column], NULL);
/* Don't unref the renderer! */
gint ww;
diff --git a/libgda-ui/gdaui-data-proxy-info.c b/libgda-ui/gdaui-data-proxy-info.c
index ab6d820..1db4175 100644
--- a/libgda-ui/gdaui-data-proxy-info.c
+++ b/libgda-ui/gdaui-data-proxy-info.c
@@ -68,6 +68,7 @@ struct _GdauiDataProxyInfoPriv
/* get a pointer to the parents to be able to call their destructor */
static GObjectClass *parent_class = NULL;
+static GtkCssProvider *css_provider = NULL;
/* properties */
enum {
@@ -411,17 +412,15 @@ modif_buttons_make (GdauiDataProxyInfo *info)
{
GtkWidget *wid;
GdauiDataProxyInfoFlag flags = info->priv->flags;
- static gboolean rc_done = FALSE;
-
- if (!rc_done) {
- rc_done = TRUE;
- gtk_rc_parse_string ("style \"gdaui-data-proxy-info-style\"\n"
- "{\n"
- "GtkToolbar::shadow-type = GTK_SHADOW_NONE\n"
- "xthickness = 0\n"
- "ythickness = 0\n"
- "}\n"
- "widget \"*.gdaui-data-proxy-info\" style \"gdaui-data-proxy-info-style\"");
+
+ if (!css_provider) {
+ css_provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_data (css_provider,
+ "* {\n"
+ "-GtkToolbar-shadow-type : GTK_SHADOW_NONE;\n"
+ "xthickness : 0;\n"
+ "ythickness : 0}",
+ -1, NULL);
}
if (! info->priv->data_proxy)
@@ -447,7 +446,9 @@ modif_buttons_make (GdauiDataProxyInfo *info)
info->priv->buttons_bar = gtk_ui_manager_get_widget (ui, "/ToolBar");
gtk_toolbar_set_icon_size (GTK_TOOLBAR (info->priv->buttons_bar), GTK_ICON_SIZE_SMALL_TOOLBAR);
g_object_set (G_OBJECT (info->priv->buttons_bar), "toolbar-style", GTK_TOOLBAR_ICONS, NULL);
- gtk_widget_set_name (info->priv->buttons_bar, "gdaui-data-proxy-info");
+ gtk_style_context_add_provider (gtk_widget_get_style_context (info->priv->buttons_bar),
+ GTK_STYLE_PROVIDER (css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
gtk_box_pack_start (GTK_BOX (info), info->priv->buttons_bar, TRUE, TRUE, 0);
}
else {
diff --git a/tools/browser/support.c b/tools/browser/support.c
index bb47b01..f9479e1 100644
--- a/tools/browser/support.c
+++ b/tools/browser/support.c
@@ -283,24 +283,23 @@ _browser_make_tab_label (const gchar *label,
GtkWidget **out_close_button)
{
GtkWidget *hbox, *wid, *close_button, *image = NULL;
- static gboolean rc_done = FALSE;
+ static GtkCssProvider *css_provider = NULL;
+
+ if (!css_provider) {
+ css_provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_data (css_provider,
+ "* {\n"
+ "-GtkWidget-focus-padding : 0;\n"
+ "-GtkWidget-focus-line-width : 0;\n"
+ "xthickness : 0;\n"
+ "ythickness : 0}",
+ -1, NULL);
+ }
if (out_close_button)
*out_close_button = NULL;
- if (!rc_done) {
- rc_done = TRUE;
- gtk_rc_parse_string ("style \"browser-tab-close-button-style\"\n"
- "{\n"
- "GtkWidget::focus-padding = 0\n"
- "GtkWidget::focus-line-width = 0\n"
- "xthickness = 0\n"
- "ythickness = 0\n"
- "}\n"
- "widget \"*.browser-tab-close-button\" style \"browser-tab-close-button-style\"");
- }
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
if (img)
gtk_box_pack_start (GTK_BOX (hbox), img, FALSE, FALSE, 0);
@@ -316,7 +315,9 @@ _browser_make_tab_label (const gchar *label,
close_button = gtk_button_new ();
gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE);
gtk_button_set_focus_on_click (GTK_BUTTON (close_button), FALSE);
- gtk_widget_set_name (close_button, "browser-tab-close-button");
+ gtk_style_context_add_provider (gtk_widget_get_style_context ((GtkWidget*) close_button),
+ GTK_STYLE_PROVIDER (css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
gtk_widget_set_tooltip_text (close_button, _("Close tab"));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]