[evince/gnome-3-6] Move custom css to a file compiled as a gresource
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince/gnome-3-6] Move custom css to a file compiled as a gresource
- Date: Mon, 15 Oct 2012 09:05:46 +0000 (UTC)
commit 65fa4ffc846f26631452393fa9b5e645dcca0ff1
Author: Carlos Garcia Campos <carlosgc gnome org>
Date: Sat Sep 29 12:22:17 2012 +0200
Move custom css to a file compiled as a gresource
shell/Makefile.am | 1 +
shell/ev-window.c | 53 ++++++++++++++++++++++++++++---------------
shell/evince.css | 3 ++
shell/evince.gresource.xml | 1 +
4 files changed, 39 insertions(+), 19 deletions(-)
---
diff --git a/shell/Makefile.am b/shell/Makefile.am
index ce6d7d3..18d75fc 100644
--- a/shell/Makefile.am
+++ b/shell/Makefile.am
@@ -159,6 +159,7 @@ evinced_LDADD= \
endif
EXTRA_DIST = \
+ evince.css \
evince-icon.rc \
evince-ui.xml \
evince-toolbar.xml \
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 995d0e3..761069c 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -4008,24 +4008,6 @@ fullscreen_toolbar_setup_item_properties (GtkUIManager *ui_manager)
}
static void
-fullscreen_toolbar_remove_shadow (GtkWidget *toolbar)
-{
- GtkCssProvider *provider;
-
- gtk_widget_set_name (toolbar, "ev-fullscreen-toolbar");
-
- provider = gtk_css_provider_new ();
- gtk_css_provider_load_from_data (provider,
- "#ev-fullscreen-toolbar {\n"
- " -GtkToolbar-shadow-type: none; }",
- -1, NULL);
- gtk_style_context_add_provider (gtk_widget_get_style_context (toolbar),
- GTK_STYLE_PROVIDER (provider),
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
- g_object_unref (provider);
-}
-
-static void
ev_window_run_fullscreen (EvWindow *window)
{
gboolean fullscreen_window = TRUE;
@@ -4038,9 +4020,10 @@ ev_window_run_fullscreen (EvWindow *window)
gtk_ui_manager_get_widget (window->priv->ui_manager,
"/FullscreenToolbar");
+ gtk_widget_set_name (window->priv->fullscreen_toolbar,
+ "ev-fullscreen-toolbar");
gtk_toolbar_set_style (GTK_TOOLBAR (window->priv->fullscreen_toolbar),
GTK_TOOLBAR_BOTH_HORIZ);
- fullscreen_toolbar_remove_shadow (window->priv->fullscreen_toolbar);
fullscreen_toolbar_setup_item_properties (window->priv->ui_manager);
gtk_box_pack_start (GTK_BOX (window->priv->main_box),
@@ -7163,11 +7146,33 @@ handle_sync_view_cb (EvEvinceWindow *object,
}
#endif /* ENABLE_DBUS */
+static gboolean
+_gtk_css_provider_load_from_resource (GtkCssProvider *provider,
+ const char *resource_path,
+ GError **error)
+{
+ GBytes *data;
+ gboolean retval;
+
+ data = g_resources_lookup_data (resource_path, 0, error);
+ if (!data)
+ return FALSE;
+
+ retval = gtk_css_provider_load_from_data (provider,
+ g_bytes_get_data (data, NULL),
+ g_bytes_get_size (data),
+ error);
+ g_bytes_unref (data);
+
+ return retval;
+}
+
static void
ev_window_init (EvWindow *ev_window)
{
GtkActionGroup *action_group;
GtkAccelGroup *accel_group;
+ GtkCssProvider *css_provider;
GError *error = NULL;
GtkWidget *sidebar_widget;
GtkWidget *menuitem;
@@ -7270,6 +7275,16 @@ ev_window_init (EvWindow *ev_window)
&error);
g_assert_no_error (error);
+ css_provider = gtk_css_provider_new ();
+ _gtk_css_provider_load_from_resource (css_provider,
+ "/org/gnome/evince/shell/ui/evince.css",
+ &error);
+ g_assert_no_error (error);
+ gtk_style_context_add_provider_for_screen (gtk_widget_get_screen (GTK_WIDGET (ev_window)),
+ GTK_STYLE_PROVIDER (css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ g_object_unref (css_provider);
+
ev_window->priv->recent_manager = gtk_recent_manager_get_default ();
ev_window->priv->recent_action_group = NULL;
ev_window->priv->recent_ui_id = 0;
diff --git a/shell/evince.css b/shell/evince.css
new file mode 100644
index 0000000..cf70da9
--- /dev/null
+++ b/shell/evince.css
@@ -0,0 +1,3 @@
+#ev-fullscreen-toolbar {
+ -GtkToolbar-shadow-type: none;
+}
diff --git a/shell/evince.gresource.xml b/shell/evince.gresource.xml
index 2fac911..6f97114 100644
--- a/shell/evince.gresource.xml
+++ b/shell/evince.gresource.xml
@@ -19,5 +19,6 @@
<gresource prefix="/org/gnome/evince/shell">
<file alias="ui/evince.xml" compressed="true" preprocess="xml-stripblanks">evince-ui.xml</file>
<file alias="ui/toolbar.xml" compressed="true" preprocess="xml-stripblanks">evince-toolbar.xml</file>
+ <file alias="ui/evince.css" compressed="true">evince.css</file>
</gresource>
</gresources>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]