-I. \
-I$(top_srcdir) \
-DDATADIR=\""$(datadir)"\" \
+ -DPKGDATADIR=\""$(pkgdatadir)"\" \
$(EMPATHY_CFLAGS) \
$(ENCHANT_CFLAGS) \
$(WARN_CFLAGS)
#include <libempathy/empathy-utils.h>
#include <libempathy/empathy-dispatcher.h>
+void
+empathy_gtk_init (int *argc, char ***argv)
+{
+ static gboolean initialized = FALSE;
+
+ if (initialized)
+ return;
+
+ empathy_init ();
+ gtk_init (argc, argv);
+ gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+ PKGDATADIR G_DIR_SEPARATOR_S "icons");
+
+ initialized = TRUE;
+}
+
+gboolean
+empathy_gtk_init_with_args (int *argc,
+ char ***argv,
+ char *parameter_string,
+ GOptionEntry *entries,
+ char *translation_domain,
+ GError **error)
+{
+ static gboolean initialized = FALSE;
+ gboolean ret;
+
+ if (initialized)
+ return TRUE;
+
+ empathy_init ();
+ ret = gtk_init_with_args (argc, argv, parameter_string, entries,
+ translation_domain, error);
+ gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+ PKGDATADIR G_DIR_SEPARATOR_S "icons");
+
+ initialized = TRUE;
+
+ return ret;
+}
+
struct SizeData {
gint width;
gint height;
#define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
+void empathy_gtk_init (int *argc,
+ char ***argv);
+gboolean empathy_gtk_init_with_args (int *argc,
+ char ***argv,
+ char *parameter_string,
+ GOptionEntry *entries,
+ char *translation_domain,
+ GError **error);
/* Glade */
void empathy_glade_get_file_simple (const gchar *filename,
const gchar *root,
-I$(top_srcdir) \
-I$(top_builddir) \
-DDATADIR=\""$(datadir)"\" \
+ -DLOCALEDIR=\""$(datadir)/locale"\" \
$(LIBEMPATHY_CFLAGS) \
$(WARN_CFLAGS)
#define DEBUG_FLAG EMPATHY_DEBUG_OTHER
#include "empathy-debug.h"
+void
+empathy_init (void)
+{
+ static gboolean initialized = FALSE;
+
+ if (initialized)
+ return;
+
+ /* Setup glib. Threads are required for async GIO. */
+ g_thread_init (NULL);
+ g_type_init ();
+
+ /* Setup gettext */
+ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ /* Setup debug output for empathy and telepathy-glib */
+ if (g_getenv ("EMPATHY_TIMING") != NULL) {
+ g_log_set_default_handler (tp_debug_timestamped_log_handler, NULL);
+ }
+ empathy_debug_set_flags (g_getenv ("EMPATHY_DEBUG"));
+ tp_debug_divert_messages (g_getenv ("EMPATHY_LOGFILE"));
+
+ initialized = TRUE;
+}
+
gchar *
empathy_substring (const gchar *str,
gint start,
G_BEGIN_DECLS
+void empathy_init (void);
/* Strings */
gchar * empathy_substring (const gchar *str,
gint start,
AM_CPPFLAGS = \
-I$(top_srcdir) \
- -DPREFIX="\"$(prefix)"\" \
- -DSYSCONFDIR=\""$(sysconfdir)"\" \
- -DDATADIR=\""$(datadir)"\" \
- -DPKGDATADIR=\""$(pkgdatadir)"\" \
- -DLIBDIR=\""$(libdir)"\" \
- -DLOCALEDIR=\""$(datadir)/locale"\" \
$(EMPATHY_CFLAGS) \
$(WARN_CFLAGS)
*/
#include <config.h>
-
-#include <string.h>
#include <stdlib.h>
-
#include <glib.h>
#include <gtk/gtk.h>
#include <libempathy/empathy-debug.h>
#include <libempathy-gtk/empathy-log-window.h>
+#include <libempathy-gtk/empathy-ui-utils.h>
static void
destroy_cb (GtkWidget *dialog,
{
GtkWidget *window;
- gtk_init (&argc, &argv);
-
- if (g_getenv ("EMPATHY_TIMING") != NULL) {
- g_log_set_default_handler (tp_debug_timestamped_log_handler, NULL);
- }
- empathy_debug_set_flags (g_getenv ("EMPATHY_DEBUG"));
- tp_debug_divert_messages (g_getenv ("EMPATHY_LOGFILE"));
+ empathy_gtk_init (&argc, &argv);
+ g_set_application_name (PACKAGE_NAME);
+ gtk_window_set_default_icon_name ("empathy");
- gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
- PKGDATADIR G_DIR_SEPARATOR_S "icons");
window = empathy_log_window_show (NULL, NULL, FALSE, NULL);
g_signal_connect (window, "destroy",
#include <libempathy/empathy-tp-group.h>
#include <libempathy-gtk/empathy-conf.h>
+#include <libempathy-gtk/empathy-ui-utils.h>
#include <extensions/extensions.h>
{ NULL }
};
- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
-
startup_timestamp = get_startup_timestamp ();
- if (!gtk_init_with_args (&argc, &argv,
- _("- Empathy Instant Messenger"),
- options, GETTEXT_PACKAGE, &error)) {
- g_warning ("Error in gtk init: %s", error->message);
+ if (!empathy_gtk_init_with_args (&argc, &argv,
+ _("- Empathy Instant Messenger"),
+ options, GETTEXT_PACKAGE, &error)) {
+ g_warning ("Error in empathy init: %s", error->message);
return EXIT_FAILURE;
}
-
- if (g_getenv ("EMPATHY_TIMING") != NULL) {
- g_log_set_default_handler (tp_debug_timestamped_log_handler, NULL);
- }
- empathy_debug_set_flags (g_getenv ("EMPATHY_DEBUG"));
- tp_debug_divert_messages (g_getenv ("EMPATHY_LOGFILE"));
-
g_set_application_name (PACKAGE_NAME);
-
gtk_window_set_default_icon_name ("empathy");
- gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
- PKGDATADIR G_DIR_SEPARATOR_S "icons");
/* Setting up the bacon connection */
connection = bacon_message_connection_new ("empathy");