aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-08-14 04:31:08 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-08-14 04:31:08 +0800
commit08bd7765721e5d866c4d7a546b94f691cf62d972 (patch)
treeaaca52e83da675b32534d29176e94ebc0b13a53b /e-util
parent5f6a18500c3119731663ac4c059426c62a3b37f6 (diff)
downloadgsoc2013-evolution-08bd7765721e5d866c4d7a546b94f691cf62d972.tar.gz
gsoc2013-evolution-08bd7765721e5d866c4d7a546b94f691cf62d972.tar.zst
gsoc2013-evolution-08bd7765721e5d866c4d7a546b94f691cf62d972.zip
Get a basic shell window working.
svn path=/branches/kill-bonobo/; revision=35982
Diffstat (limited to 'e-util')
-rw-r--r--e-util/e-util.c33
-rw-r--r--e-util/e-util.h38
2 files changed, 53 insertions, 18 deletions
diff --git a/e-util/e-util.c b/e-util/e-util.c
index 116ebd3f55..5bb42b2afa 100644
--- a/e-util/e-util.c
+++ b/e-util/e-util.c
@@ -70,6 +70,39 @@ e_get_user_data_dir (void)
}
/**
+ * e_load_ui_definition:
+ * @manager: a #GtkUIManager
+ * @basename: basename of the UI definition file
+ *
+ * Loads a UI definition into @manager from Evolution's UI directory.
+ * Failure here is fatal, since the application can't function without
+ * its UI definitions.
+ *
+ * Returns: The merge ID for the merged UI. The merge ID can be used to
+ * unmerge the UI with gtk_ui_manager_remove_ui().
+ **/
+guint
+e_load_ui_definition (GtkUIManager *manager,
+ const gchar *basename)
+{
+ gchar *filename;
+ guint merge_id;
+ GError *error = NULL;
+
+ g_return_val_if_fail (GTK_IS_UI_MANAGER (manager), 0);
+ g_return_val_if_fail (basename != NULL, 0);
+
+ filename = g_build_filename (EVOLUTION_UIDIR, basename, NULL);
+ merge_id = gtk_ui_manager_add_ui_from_file (manager, filename, &error);
+ g_free (filename);
+
+ if (error != NULL)
+ g_error ("%s", error->message); /* does not return */
+
+ return merge_id;
+}
+
+/**
* e_str_without_underscores:
* @s: the string to strip underscores from.
*
diff --git a/e-util/e-util.h b/e-util/e-util.h
index 2beac806de..f44c2a0e13 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -25,18 +25,15 @@
#define _E_UTIL_H_
#include <sys/types.h>
-#include <glib-object.h>
+#include <gtk/gtk.h>
#include <limits.h>
#include <gconf/gconf-client.h>
#include <cairo.h>
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
#include <e-util/e-util-marshal.h>
+G_BEGIN_DECLS
+
typedef enum {
E_FOCUS_NONE,
E_FOCUS_CURRENT,
@@ -45,6 +42,8 @@ typedef enum {
} EFocus;
const gchar * e_get_user_data_dir (void);
+guint e_load_ui_definition (GtkUIManager *manager,
+ const gchar *basename);
char * e_str_without_underscores (const char *s);
gint e_str_compare (gconstpointer x,
@@ -104,27 +103,30 @@ gchar * e_ascii_dtostr (gchar *buffer,
/* Alternating char * and int arguments with a NULL char * to end.
Less than 0 for the int means copy the whole string. */
-gchar * e_strdup_append_strings (gchar *first_string,
+gchar * e_strdup_append_strings (gchar *first_string,
...);
-cairo_font_options_t * get_font_options (void);
+cairo_font_options_t *
+ get_font_options (void);
void e_file_update_save_path (gchar *uri,
gboolean free);
gchar * e_file_get_save_path (void);
-gboolean e_file_lock_create (void);
-void e_file_lock_destroy (void);
-gboolean e_file_lock_exists (void);
+gboolean e_file_lock_create (void);
+void e_file_lock_destroy (void);
+gboolean e_file_lock_exists (void);
-char *e_util_guess_mime_type (const char *filename);
-char *e_util_filename_to_uri (const char *filename);
-char *e_util_uri_to_filename (const char *uri);
+gchar * e_util_guess_mime_type (const gchar *filename);
+gchar * e_util_filename_to_uri (const gchar *filename);
+gchar * e_util_uri_to_filename (const gchar *uri);
-gboolean e_util_read_file (const char *filename, gboolean filename_is_uri, char **buffer, gsize *read, GError **error);
+gboolean e_util_read_file (const gchar *filename,
+ gboolean filename_is_uri,
+ gchar **buffer,
+ gsize *read,
+ GError **error);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* _E_UTIL_H_ */