[gedit/wip/3.14-osx: 31/69] Simplified support for OS dependent styles
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/3.14-osx: 31/69] Simplified support for OS dependent styles
- Date: Tue, 26 Aug 2014 16:50:18 +0000 (UTC)
commit 1209e46637596621927a7ece0bbc76c99643e064
Author: Jesse van den Kieboom <jessevdk gmail com>
Date: Sat Aug 23 17:13:26 2014 +0200
Simplified support for OS dependent styles
configure.ac | 13 +++--
data/Makefile.am | 6 --
gedit/Makefile.am | 6 ++-
gedit/gedit-app-osx.c | 43 ---------------
gedit/gedit-app.c | 56 +++++++++++++-------
.../resources/css/gedit-style-osx.css | 0
gedit/resources/gedit.gresource.xml.in | 3 +-
7 files changed, 52 insertions(+), 75 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index ea49ac8..d23fd23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -429,15 +429,20 @@ VAPIGEN_CHECK([0.25.1])
if test "$os_osx" = "yes"; then
os_menus_ui=menus-osx.ui
- RESOURCE_TRADITIONAL_MENUS_UI=
+ os_style_css=gedit-style-osx.css
else
os_menus_ui=menus-default.ui
- RESOURCE_TRADITIONAL_MENUS_UI='<file preprocess="xml-stripblanks">gtk/menus-traditional.ui</file>'
-fi
+ os_style_css=
-AC_SUBST(RESOURCE_TRADITIONAL_MENUS_UI)
+ OS_DEPENDENT_RESOURCE_FILES='<file preprocess="xml-stripblanks">gtk/menus-traditional.ui</file>'
+fi
+if test "x$os_style_css" != "x"; then
+ OS_DEPENDENT_RESOURCE_FILES+="<file>css/gedit-style-os.css</file>"
+ AC_CONFIG_LINKS(gedit/resources/css/gedit-style-os.css:gedit/resources/css/$os_style_css)
+fi
+AC_SUBST(OS_DEPENDENT_RESOURCE_FILES)
AC_CONFIG_LINKS(gedit/resources/gtk/menus.ui:gedit/resources/gtk/$os_menus_ui)
AC_CONFIG_FILES([
diff --git a/data/Makefile.am b/data/Makefile.am
index d0caf57..3e246cc 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -33,12 +33,6 @@ endif
data_convertdir = $(datadir)/GConf/gsettings
dist_data_convert_DATA = data/gedit.convert
-if OS_OSX
-data_geditdatadir = $(datadir)/gedit
-dist_data_geditdata_DATA = \
- data/osx.css
-endif
-
EXTRA_DIST += \
$(data_desktop_in_files) \
$(data_appdata_in_files) \
diff --git a/gedit/Makefile.am b/gedit/Makefile.am
index d21f0f1..2454c4c 100644
--- a/gedit/Makefile.am
+++ b/gedit/Makefile.am
@@ -242,8 +242,10 @@ gedit_overrides_PYTHON = gedit/Gedit.py
endif
gedit_dist_resource_deps = \
- $(filter-out gedit/resources/gtk/menus.ui,$(gedit_resource_deps)) \
- gedit/resources/gtk/menus-traditional.ui
+ $(filter-out gedit/resources/css/gedit-style-os.css,$(filter-out
gedit/resources/gtk/menus.ui,$(gedit_resource_deps))) \
+ gedit/resources/gtk/menus-traditional.ui \
+ gedit/resources/gtk/menus-default.ui \
+ gedit/resources/css/gedit-style-osx.css
EXTRA_DIST += \
gedit/gedit-enum-types.h.template \
diff --git a/gedit/gedit-app-osx.c b/gedit/gedit-app-osx.c
index 60069dd..f54f91d 100644
--- a/gedit/gedit-app-osx.c
+++ b/gedit/gedit-app-osx.c
@@ -169,46 +169,6 @@ gedit_app_osx_set_window_title_impl (GeditApp *app,
GEDIT_APP_CLASS (gedit_app_osx_parent_class)->set_window_title (app, window, title);
}
-static void
-load_keybindings (void)
-{
- gchar *filename;
-
- filename = g_build_filename (gedit_dirs_get_gedit_data_dir (),
- "osx.css",
- NULL);
-
- if (filename != NULL)
- {
- GtkCssProvider *provider;
- GError *error = NULL;
-
- gedit_debug_message (DEBUG_APP, "Loading keybindings from %s\n", filename);
-
- provider = gtk_css_provider_new ();
-
- if (!gtk_css_provider_load_from_path (provider,
- filename,
- &error))
- {
- g_warning ("Failed to load osx keybindings from `%s':\n%s",
- filename,
- error->message);
-
- g_error_free (error);
- }
- else
- {
- gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
- GTK_STYLE_PROVIDER (provider),
- GTK_STYLE_PROVIDER_PRIORITY_SETTINGS);
- }
-
- g_object_unref (provider);
- g_free (filename);
- }
-}
-
typedef struct
{
GeditAppOSX *app;
@@ -325,9 +285,6 @@ gedit_app_osx_startup (GApplication *application)
"win.replace",
replace_accels);
- /* Load the osx specific keybinding overrides */
- load_keybindings ();
-
app_osx = GEDIT_APP_OSX (application);
gedit_recent_configuration_init_default (&app_osx->priv->recent_config);
diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
index 785732d..5916072 100644
--- a/gedit/gedit-app.c
+++ b/gedit/gedit-app.c
@@ -478,15 +478,47 @@ add_accelerator (GeditApp *app,
}
static void
+load_css_from_resource (const gchar *filename,
+ gboolean required)
+{
+ GError *error = NULL;
+ GFile *css_file;
+ GtkCssProvider *provider;
+ gchar *resource_name;
+
+ resource_name = g_strdup_printf ("resource:///org/gnome/gedit/css/%s", filename);
+ css_file = g_file_new_for_uri (resource_name);
+ g_free (resource_name);
+
+ provider = gtk_css_provider_new ();
+
+ if (gtk_css_provider_load_from_file (provider, css_file, &error))
+ {
+ gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
+ GTK_STYLE_PROVIDER (provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ g_object_unref (provider);
+ }
+ else
+ {
+ if (required)
+ {
+ g_warning ("Could not load css provider: %s", error->message);
+ }
+
+ g_error_free (error);
+ }
+
+ g_object_unref (css_file);
+}
+
+static void
gedit_app_startup (GApplication *application)
{
GeditApp *app = GEDIT_APP (application);
GtkSourceStyleSchemeManager *manager;
const gchar *dir;
gchar *icon_dir;
- GError *error = NULL;
- GFile *css_file;
- GtkCssProvider *provider;
G_APPLICATION_CLASS (gedit_app_parent_class)->startup (application);
@@ -569,22 +601,8 @@ gedit_app_startup (GApplication *application)
load_accels ();
/* Load custom css */
- error = NULL;
- css_file = g_file_new_for_uri ("resource:///org/gnome/gedit/css/gedit-style.css");
- provider = gtk_css_provider_new ();
- if (gtk_css_provider_load_from_file (provider, css_file, &error))
- {
- gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
- GTK_STYLE_PROVIDER (provider),
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
- g_object_unref (provider);
- }
- else
- {
- g_warning ("Could not load css provider: %s", error->message);
- g_error_free (error);
- }
- g_object_unref (css_file);
+ load_css_from_resource ("gedit-style.css", TRUE);
+ load_css_from_resource ("gedit-style-os.css", FALSE);
/*
* We use the default gtksourceview style scheme manager so that plugins
diff --git a/data/osx.css b/gedit/resources/css/gedit-style-osx.css
similarity index 100%
rename from data/osx.css
rename to gedit/resources/css/gedit-style-osx.css
diff --git a/gedit/resources/gedit.gresource.xml.in b/gedit/resources/gedit.gresource.xml.in
index a2113cf..094c6d5 100644
--- a/gedit/resources/gedit.gresource.xml.in
+++ b/gedit/resources/gedit.gresource.xml.in
@@ -3,7 +3,6 @@
<gresource prefix="/org/gnome/gedit">
<file preprocess="xml-stripblanks">gtk/menus.ui</file>
<file preprocess="xml-stripblanks">gtk/menus-common.ui</file>
- @RESOURCE_TRADITIONAL_MENUS_UI@
<file preprocess="xml-stripblanks">ui/gedit-encodings-dialog.ui</file>
<file preprocess="xml-stripblanks">ui/gedit-preferences-dialog.ui</file>
<file preprocess="xml-stripblanks">ui/gedit-replace-dialog.ui</file>
@@ -20,5 +19,7 @@
<file preprocess="xml-stripblanks">ui/gedit-statusbar.ui</file>
<file>css/gedit-style.css</file>
<file>css/gedit.adwaita.css</file>
+
+ @OS_DEPENDENT_RESOURCE_FILES@
</gresource>
</gresources>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]