aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog27
-rw-r--r--configure.ac7
-rw-r--r--embed/Makefile.am53
-rw-r--r--embed/ephy-embed-event.c49
-rw-r--r--embed/ephy-embed-event.h3
-rw-r--r--embed/ephy-embed-persist.c23
-rw-r--r--embed/ephy-embed-persist.h2
-rw-r--r--embed/ephy-embed.c120
-rw-r--r--embed/ephy-embed.h24
-rw-r--r--embed/ephy-permission-manager.c24
-rw-r--r--embed/ephy-permission-manager.h1
-rw-r--r--lib/egg/Makefile.am41
-rwxr-xr-xlib/egg/egg-toolbars-model.c25
-rwxr-xr-xlib/egg/egg-toolbars-model.h2
-rw-r--r--src/Makefile.am47
-rw-r--r--src/ephy-link.c22
-rw-r--r--src/ephy-link.h2
-rw-r--r--src/ephy-navigation-action.c1
-rw-r--r--src/ephy-shell.c93
-rw-r--r--src/ephy-shell.h14
-rw-r--r--src/ephy-tab.c40
-rw-r--r--src/ephy-tab.h3
-rw-r--r--src/ephy-window.c2
23 files changed, 194 insertions, 431 deletions
diff --git a/ChangeLog b/ChangeLog
index 497401174..766d7e4a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,32 @@
2005-01-06 Christian Persch <chpe@cvs.gnome.org>
+ * configure.ac:
+ * embed/Makefile.am:
+ * embed/ephy-embed-event.c:
+ * embed/ephy-embed-event.h:
+ * embed/ephy-embed-persist.c:
+ * embed/ephy-embed-persist.h:
+ * embed/ephy-embed.c:
+ * embed/ephy-embed.h:
+ * embed/ephy-permission-manager.c:
+ * embed/ephy-permission-manager.h:
+ * lib/egg/Makefile.am:
+ * lib/egg/egg-toolbars-model.c:
+ * lib/egg/egg-toolbars-model.h:
+ * src/Makefile.am:
+ * src/ephy-link.c:
+ * src/ephy-link.h:
+ * src/ephy-navigation-action.c:
+ * src/ephy-shell.c: (ephy_shell_error_quark):
+ * src/ephy-shell.h:
+ * src/ephy-tab.c:
+ * src/ephy-tab.h:
+ * src/ephy-window.c:
+
+ Use glib-mkenums to generate the enum and flags get_type functions.
+
+2005-01-06 Christian Persch <chpe@cvs.gnome.org>
+
* data/ui/epiphany-ui.xml:
Add placeholder group for tabs move actions.
diff --git a/configure.ac b/configure.ac
index 83f79150e..e13e4b9e8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,6 +73,7 @@ AC_PROG_CXX
AM_PROG_CC_STDC
AC_HEADER_STDC
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
+AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
GNOME_DEBUG_CHECK
GNOME_COMPILE_WARNINGS([error])
@@ -481,6 +482,12 @@ if test "x$filepicker" = "xyes"; then
AC_DEFINE([ENABLE_FILEPICKER],[1],[Define to enable the native filepicker])
fi
+dnl ***************
+dnl Multimedia keys
+dnl ***************
+
+AC_CHECK_HEADERS([X11/XF86keysym.h])
+
dnl *******************************
dnl Add warning flags
dnl *******************************
diff --git a/embed/Makefile.am b/embed/Makefile.am
index 7f81345ca..b34619866 100644
--- a/embed/Makefile.am
+++ b/embed/Makefile.am
@@ -3,7 +3,9 @@ SUBDIRS = mozilla
noinst_LTLIBRARIES = libephyembed.la libephyembedfactory.la
headerdir = $(prefix)/include/epiphany-@EPIPHANY_MAJOR@/epiphany
-header_DATA = $(INST_H_FILES)
+header_DATA = \
+ ephy-embed-type-builtins.h \
+ $(INST_H_FILES)
NOINST_H_FILES = \
downloader-view.h \
@@ -14,6 +16,12 @@ NOINST_H_FILES = \
find-dialog.h \
print-dialog.h
+TYPES_H_FILES = \
+ ephy-embed.h \
+ ephy-embed-event.h \
+ ephy-embed-persist.h \
+ ephy-permission-manager.h
+
INST_H_FILES = \
ephy-command-manager.h \
ephy-cookie-manager.h \
@@ -47,7 +55,8 @@ libephyembed_la_SOURCES = \
find-dialog.c \
print-dialog.c \
$(INST_H_FILES) \
- $(NOINST_H_FILES)
+ $(NOINST_H_FILES) \
+ $(BUILT_SOURCES)
libephyembed_la_CPPFLAGS = \
-I$(top_builddir)/lib \
@@ -75,3 +84,43 @@ libephyembedfactory_la_CPPFLAGS = \
libephyembedfactory_la_CFLAGS = \
$(EPIPHANY_DEPENDENCY_CFLAGS) \
$(AM_CFLAGS)
+
+
+BUILT_SOURCES = \
+ ephy-embed-type-builtins.c \
+ ephy-embed-type-builtins.h
+
+CLEAN_FILES = $(BUILT_SOURCES)
+DISTCLEAN_FILES = $(BUILT_SOURCES)
+
+ephy-embed-type-builtins.c: $(TYPES_H_FILES)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#include \"ephy-embed-type-builtins.h\"\n\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */" \
+ --fprod "\n#include \"@filename@\"" \
+ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n};\n\n" \
+ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \
+ --vtail " static GType type = 0;\n\n" \
+ --vtail " if (G_UNLIKELY (type == 0))\n" \
+ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
+ --vtail " return type;\n}\n\n" \
+ $(TYPES_H_FILES) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
+
+ephy-embed-type-builtins.h: $(TYPES_H_FILES)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#ifndef EPHY_EMBED_TYPE_BUILTINS_H\n" \
+ --fhead "#define EPHY_EMBED_TYPE_BUILTINS_H 1\n\n" \
+ --fhead "#include <glib-object.h>\n\n" \
+ --fhead "G_BEGIN_DECLS\n\n" \
+ --ftail "G_END_DECLS\n\n" \
+ --ftail "#endif /* EPHY_EMBED_TYPE_BUILTINS_H */\n" \
+ --fprod "\n/* --- @filename@ --- */" \
+ --eprod "#define EPHY_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
+ --eprod "GType @enum_name@_get_type (void);\n" \
+ $(TYPES_H_FILES) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
diff --git a/embed/ephy-embed-event.c b/embed/ephy-embed-event.c
index 316962689..37e2a8a82 100644
--- a/embed/ephy-embed-event.c
+++ b/embed/ephy-embed-event.c
@@ -21,58 +21,11 @@
#include "config.h"
#include "ephy-embed-event.h"
+#include "ephy-embed-type-builtins.h"
#include <glib/ghash.h>
#include <gtk/gtktypeutils.h>
-GType
-ephy_embed_event_context_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_EMBED_CONTEXT_NONE, "EPHY_EMBED_CONTEXT_NONE", "none" },
- { EPHY_EMBED_CONTEXT_DEFAULT, "EPHY_EMBED_CONTEXT_DEFAULT", "default" },
- { EPHY_EMBED_CONTEXT_LINK, "EPHY_EMBED_CONTEXT_LINK", "link" },
- { EPHY_EMBED_CONTEXT_IMAGE, "EPHY_EMBED_CONTEXT_IMAGE", "image" },
- { EPHY_EMBED_CONTEXT_DOCUMENT, "EPHY_EMBED_CONTEXT_DOCUMENT", "document" },
- { EPHY_EMBED_CONTEXT_INPUT, "EPHY_EMBED_CONTEXT_INPUT", "input" },
- { EPHY_EMBED_CONTEXT_XUL, "EPHY_EMBED_CONTEXT_XUL", "xul" },
- { EPHY_EMBED_CONTEXT_EMAIL_LINK, "EPHY_EMBED_CONTEXT_EMAIL_LINK", "email-link" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EphyEmbedEventContext", values);
- }
-
- return type;
-}
-
-GType
-ephy_embed_event_type_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_EMBED_EVENT_MOUSE_BUTTON1, "EPHY_EMBED_EVENT_MOUSE_BUTTON1", "mouse-button-1" },
- { EPHY_EMBED_EVENT_MOUSE_BUTTON2, "EPHY_EMBED_EVENT_MOUSE_BUTTON2", "mouse-button-2" },
- { EPHY_EMBED_EVENT_MOUSE_BUTTON3, "EPHY_EMBED_EVENT_MOUSE_BUTTON3", "mouse-button-3" },
- { EPHY_EMBED_EVENT_KEY, "EPHY_EMBED_EVENT_KEY", "key" },
- { 0, NULL, NULL }
- };
-
- type = g_enum_register_static ("EphyEmbedEventType", values);
- }
-
- return type;
-}
-
static void ephy_embed_event_base_init (gpointer g_class);
GType
diff --git a/embed/ephy-embed-event.h b/embed/ephy-embed-event.h
index fde3ced29..35af428dd 100644
--- a/embed/ephy-embed-event.h
+++ b/embed/ephy-embed-event.h
@@ -34,9 +34,6 @@ G_BEGIN_DECLS
#define EPHY_IS_EMBED_EVENT_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_EMBED_EVENT))
#define EPHY_EMBED_EVENT_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EPHY_TYPE_EMBED_EVENT, EphyEmbedEventIface))
-#define EPHY_TYPE_EMBED_EVENT_CONTEXT (ephy_embed_event_context_get_type ())
-#define EPHY_TYPE_EMBED_EVENT_TYPE (ephy_embed_event_type_get_type ())
-
typedef struct _EphyEmbedEventIface EphyEmbedEventIface;
typedef struct _EphyEmbedEvent EphyEmbedEvent;
diff --git a/embed/ephy-embed-persist.c b/embed/ephy-embed-persist.c
index 025c86e52..71f3a0cdb 100644
--- a/embed/ephy-embed-persist.c
+++ b/embed/ephy-embed-persist.c
@@ -630,26 +630,3 @@ ephy_embed_persist_to_string (EphyEmbedPersist *persist)
EphyEmbedPersistClass *klass = EPHY_EMBED_PERSIST_GET_CLASS (persist);
return klass->to_string (persist);
}
-
-GType
-ephy_embed_persist_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_EMBED_PERSIST_COPY_PAGE, "EPHY_EMBED_PERSIST_COPY_PAGE", "copy-page" },
- { EPHY_EMBED_PERSIST_MAINDOC, "EPHY_EMBED_PERSIST_MAINDOC", "main-document" },
- { EPHY_EMBED_PERSIST_NO_VIEW, "EPHY_EMBED_PERSIST_NO_VIEW", "no-view" },
- { EPHY_EMBED_PERSIST_ASK_DESTINATION, "EPHY_EMBED_PERSIST_ASK_DESTINATION", "ask-destination" },
- { EPHY_EMBED_PERSIST_DO_CONVERSION, "EPHY_EMBED_PERSIST_DO_CONVERSION", "do-conversion" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EphyEmbedPersistFlags", values);
- }
-
- return type;
-}
diff --git a/embed/ephy-embed-persist.h b/embed/ephy-embed-persist.h
index a2616cdb4..0f80c1200 100644
--- a/embed/ephy-embed-persist.h
+++ b/embed/ephy-embed-persist.h
@@ -38,8 +38,6 @@ G_BEGIN_DECLS
#define EPHY_IS_EMBED_PERSIST_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_EMBED_PERSIST))
#define EPHY_EMBED_PERSIST_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_EMBED_PERSIST, EphyEmbedPersistClass))
-#define EPHY_TYPE_EMBED_PERSIST_FLAGS (ephy_embed_persist_flags_get_type ())
-
typedef struct _EphyEmbedPersistClass EphyEmbedPersistClass;
typedef struct _EphyEmbedPersist EphyEmbedPersist;
typedef struct EphyEmbedPersistPrivate EphyEmbedPersistPrivate;
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index b9789107e..376eede08 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -22,6 +22,7 @@
#include "ephy-embed.h"
+#include "ephy-embed-type-builtins.h"
#include "ephy-marshal.h"
#include "ephy-signal-accumulator.h"
#include "mozilla-embed-single.h"
@@ -30,125 +31,6 @@
static void ephy_embed_base_init (gpointer g_class);
GType
-ephy_embed_net_state_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_EMBED_STATE_UNKNOWN, "EPHY_EMBED_STATE_UNKNOWN", "unknown" },
- { EPHY_EMBED_STATE_START, "EPHY_EMBED_STATE_START", "start" },
- { EPHY_EMBED_STATE_REDIRECTING, "EPHY_EMBED_STATE_REDIRECTING", "redirecting" },
- { EPHY_EMBED_STATE_TRANSFERRING, "EPHY_EMBED_STATE_TRANSFERRING", "transferring" },
- { EPHY_EMBED_STATE_NEGOTIATING, "EPHY_EMBED_STATE_NEGOTIATING", "negotiating", },
- { EPHY_EMBED_STATE_STOP, "EPHY_EMBED_STATE_STOP", "stop" },
- { EPHY_EMBED_STATE_IS_REQUEST, "EPHY_EMBED_STATE_IS_REQUEST", "is-request" },
- { EPHY_EMBED_STATE_IS_DOCUMENT, "EPHY_EMBED_STATE_IS_DOCUMENT", "is-document" },
- { EPHY_EMBED_STATE_IS_NETWORK, "EPHY_EMBED_STATE_IS_NETWORK", "is-network" },
- { EPHY_EMBED_STATE_IS_WINDOW, "EPHY_EMBED_STATE_IS_WINDOW", "is-window" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EphyEmbedNetState", values);
- }
-
- return type;
-}
-
-GType
-ephy_embed_chrome_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_EMBED_CHROME_MENUBAR, "EPHY_EMBED_CHROME_MENUBAR", "menubar" },
- { EPHY_EMBED_CHROME_TOOLBAR, "EPHY_EMBED_CHROME_TOOLBAR", "toolbar" },
- { EPHY_EMBED_CHROME_STATUSBAR, "EPHY_EMBED_CHROME_STATUSBAR", "statusbar" },
- { EPHY_EMBED_CHROME_BOOKMARKSBAR, "EPHY_EMBED_CHROME_BOOKMARKSBAR", "bookmarksbar" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EphyEmbedChrome", values);
- }
-
- return type;
-}
-
-GType
-ephy_embed_ppv_navigation_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_EMBED_PRINTPREVIEW_GOTO_PAGENUM, "EPHY_EMBED_PRINTPREVIEW_GOTO_PAGENUM", "page-num" },
- { EPHY_EMBED_PRINTPREVIEW_PREV_PAGE, "EPHY_EMBED_PRINTPREVIEW_PREV_PAGE", "prev" },
- { EPHY_EMBED_PRINTPREVIEW_NEXT_PAGE, "EPHY_EMBED_PRINTPREVIEW_NEXT_PAGE", "next" },
- { EPHY_EMBED_PRINTPREVIEW_HOME, "EPHY_EMBED_PRINTPREVIEW_HOME", "home" },
- { EPHY_EMBED_PRINTPREVIEW_END, "EPHY_EMBED_PRINTPREVIEW_END", "end" },
- { 0, NULL, NULL }
- };
-
- type = g_enum_register_static ("EphyEmbedPPVNavigation", values);
- }
-
- return type;
-}
-
-GType
-ephy_embed_security_level_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_EMBED_STATE_IS_UNKNOWN, "EPHY_EMBED_STATE_IS_UNKNOWN", "unknown" },
- { EPHY_EMBED_STATE_IS_INSECURE, "EPHY_EMBED_STATE_IS_INSECURE", "insecure" },
- { EPHY_EMBED_STATE_IS_BROKEN, "EPHY_EMBED_STATE_IS_BROKEN", "broken" },
- { EPHY_EMBED_STATE_IS_SECURE_LOW, "EPHY_EMBED_STATE_IS_SECURE_LOW", "low" },
- { EPHY_EMBED_STATE_IS_SECURE_MED, "EPHY_EMBED_STATE_IS_SECURE_MED", "medium" },
- { EPHY_EMBED_STATE_IS_SECURE_HIGH, "EPHY_EMBED_STATE_IS_SECURE_HIGH", "high" },
- { 0, NULL, NULL }
- };
-
- type = g_enum_register_static ("EphyEmbedSecurityLevel", values);
- }
-
- return type;
-}
-
-GType
-ephy_embed_document_type_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_EMBED_DOCUMENT_HTML, "EPHY_EMBED_DOCUMENT_HTML", "html" },
- { EPHY_EMBED_DOCUMENT_XML, "EPHY_EMBED_DOCUMENT_XML", "xml" },
- { EPHY_EMBED_DOCUMENT_IMAGE, "EPHY_EMBED_DOCUMENT_IMAGE", "image" },
- { EPHY_EMBED_DOCUMENT_OTHER, "EPHY_EMBED_DOCUMENT_OTHER", "other" },
- { 0, NULL, NULL }
- };
-
- type = g_enum_register_static ("EphyEmbedDocumentType", values);
- }
-
- return type;
-}
-
-GType
ephy_embed_get_type (void)
{
static GType type = 0;
diff --git a/embed/ephy-embed.h b/embed/ephy-embed.h
index b90e4c3a1..d08174183 100644
--- a/embed/ephy-embed.h
+++ b/embed/ephy-embed.h
@@ -36,28 +36,22 @@ G_BEGIN_DECLS
#define EPHY_IS_EMBED_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_EMBED))
#define EPHY_EMBED_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EPHY_TYPE_EMBED, EphyEmbedIface))
-#define EPHY_TYPE_EMBED_NET_STATE (ephy_embed_net_state_get_type ())
-#define EPHY_TYPE_EMBED_CHROME (ephy_embed_chrome_get_type ())
-#define EPHY_TYPE_EMBED_SECURITY_LEVEL (ephy_embed_security_level_get_type ())
-#define EPHY_TYPE_EMBED_DOCUMENT_TYPE (ephy_embed_document_type_get_type ())
-#define EPHY_TYPE_EMBED_PRINT_PREVIEW_NAV_TYPE (ephy_embed_ppv_navigation_get_type ())
-
typedef struct _EphyEmbed EphyEmbed;
typedef struct _EphyEmbedIface EphyEmbedIface;
typedef enum
{
- EPHY_EMBED_STATE_UNKNOWN = 0,
+ EPHY_EMBED_STATE_UNKNOWN = 0,
EPHY_EMBED_STATE_START = 1 << 0,
- EPHY_EMBED_STATE_REDIRECTING = 1 << 1,
+ EPHY_EMBED_STATE_REDIRECTING = 1 << 1,
EPHY_EMBED_STATE_TRANSFERRING = 1 << 2,
- EPHY_EMBED_STATE_NEGOTIATING = 1 << 3,
+ EPHY_EMBED_STATE_NEGOTIATING = 1 << 3,
EPHY_EMBED_STATE_STOP = 1 << 4,
- EPHY_EMBED_STATE_IS_REQUEST = 1 << 5,
- EPHY_EMBED_STATE_IS_DOCUMENT = 1 << 6,
- EPHY_EMBED_STATE_IS_NETWORK = 1 << 7,
- EPHY_EMBED_STATE_IS_WINDOW = 1 << 8
+ EPHY_EMBED_STATE_IS_REQUEST = 1 << 5,
+ EPHY_EMBED_STATE_IS_DOCUMENT = 1 << 6,
+ EPHY_EMBED_STATE_IS_NETWORK = 1 << 7,
+ EPHY_EMBED_STATE_IS_WINDOW = 1 << 8
} EphyEmbedNetState;
typedef enum
@@ -76,8 +70,8 @@ typedef enum
typedef enum
{
EPHY_EMBED_PRINTPREVIEW_GOTO_PAGENUM = 0,
- EPHY_EMBED_PRINTPREVIEW_PREV_PAGE = 1,
- EPHY_EMBED_PRINTPREVIEW_NEXT_PAGE = 2,
+ EPHY_EMBED_PRINTPREVIEW_PREV_PAGE = 1,
+ EPHY_EMBED_PRINTPREVIEW_NEXT_PAGE = 2,
EPHY_EMBED_PRINTPREVIEW_HOME = 3,
EPHY_EMBED_PRINTPREVIEW_END = 4
} EphyEmbedPrintPreviewNavType;
diff --git a/embed/ephy-permission-manager.c b/embed/ephy-permission-manager.c
index f5a390964..a86506b6d 100644
--- a/embed/ephy-permission-manager.c
+++ b/embed/ephy-permission-manager.c
@@ -22,32 +22,10 @@
#include "config.h"
#include "ephy-permission-manager.h"
+#include "ephy-embed-type-builtins.h"
#include "ephy-marshal.h"
#include "ephy-debug.h"
-/* EphyPermissionInfo */
-
-GType
-ephy_permission_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_PERMISSION_ALLOWED, "EPHY_PERMISSION_ALLOWED", "allowed" },
- { EPHY_PERMISSION_DENIED, "EPHY_PERMISSION_DENIED", "denied" },
- { EPHY_PERMISSION_DEFAULT, "EPHY_PERMISSION_DEFAULT", "default" },
- { 0, NULL, NULL }
- };
-
- type = g_enum_register_static ("EphyPermission", values);
- }
-
- return type;
-}
-
GType
ephy_permission_info_get_type (void)
{
diff --git a/embed/ephy-permission-manager.h b/embed/ephy-permission-manager.h
index b3d2ec1d0..22e561d89 100644
--- a/embed/ephy-permission-manager.h
+++ b/embed/ephy-permission-manager.h
@@ -35,7 +35,6 @@ G_BEGIN_DECLS
#define EPHY_PERMISSION_MANAGER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EPHY_TYPE_PERMISSION_MANAGER, EphyPermissionManagerIface))
#define EPHY_TYPE_PERMISSION_INFO (ephy_permission_info_get_type ())
-#define EPHY_TYPE_PERMISSION (ephy_permission_get_type ())
#define EPT_COOKIE "cookie"
#define EPT_IMAGE "image"
diff --git a/lib/egg/Makefile.am b/lib/egg/Makefile.am
index dc2f0c6e3..1de926360 100644
--- a/lib/egg/Makefile.am
+++ b/lib/egg/Makefile.am
@@ -25,7 +25,8 @@ noinst_LTLIBRARIES = libegg.la
libegg_la_SOURCES = \
$(EGGSOURCES) \
- eggmarshalers.c
+ $(EGGHEADERS) \
+ $(BUILT_SOURCES)
libegg_la_CPPFLAGS = \
-I$(top_builddir)/lib/egg \
@@ -36,7 +37,11 @@ libegg_la_CFLAGS = \
$(EPIPHANY_DEPENDENCY_CFLAGS) \
$(AM_CFLAGS)
-BUILT_SOURCES = eggmarshalers.h eggmarshalers.c
+BUILT_SOURCES = \
+ eggmarshalers.c \
+ eggmarshalers.h \
+ eggtypebuiltins.c \
+ eggtypebuiltins.h
eggmarshalers.h: eggmarshalers.list
$(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header > eggmarshalers.h
@@ -44,6 +49,38 @@ eggmarshalers.h: eggmarshalers.list
eggmarshalers.c: eggmarshalers.list
$(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header --body > eggmarshalers.c
+eggtypebuiltins.c: $(EGGHEADERS)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#include \"eggtypebuiltins.h\"\n\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */" \
+ --fprod "\n#include \"@filename@\"" \
+ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n};\n\n" \
+ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \
+ --vtail " static GType type = 0;\n\n" \
+ --vtail " if (G_UNLIKELY (type == 0))\n" \
+ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
+ --vtail " return type;\n}\n\n" \
+ $(EGGHEADERS) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
+
+eggtypebuiltins.h: $(EGGHEADERS)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#ifndef __EGGTYPEBUILTINS_H__\n" \
+ --fhead "#define __EGGTYPEBUILTINS_H__ 1\n\n" \
+ --fhead "#include <glib-object.h>\n\n" \
+ --fhead "G_BEGIN_DECLS\n\n" \
+ --ftail "G_END_DECLS\n\n" \
+ --ftail "#endif /* __EGGTYPEBUILTINS_H__ */\n" \
+ --fprod "\n/* --- @filename@ --- */" \
+ --eprod "#define EGG_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
+ --eprod "GType @enum_name@_get_type (void);\n" \
+ $(EGGHEADERS) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
+
EXTRA_DIST= \
eggmarshalers.list
diff --git a/lib/egg/egg-toolbars-model.c b/lib/egg/egg-toolbars-model.c
index 0b4bc93ff..a92617f92 100755
--- a/lib/egg/egg-toolbars-model.c
+++ b/lib/egg/egg-toolbars-model.c
@@ -22,6 +22,7 @@
#include "config.h"
#include "egg-toolbars-model.h"
+#include "eggtypebuiltins.h"
#include "eggmarshalers.h"
#include <unistd.h>
@@ -71,30 +72,6 @@ struct EggToolbarsModelPrivate
};
GType
-egg_toolbars_model_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EGG_TB_MODEL_NOT_REMOVABLE, "EGG_TB_MODEL_NOT_REMOVABLE", "not-removable" },
- { EGG_TB_MODEL_ICONS_ONLY, "EGG_TB_MODEL_ICONS_ONLY", "icons-only" },
- { EGG_TB_MODEL_TEXT_ONLY, "EGG_TB_MODEL_TEXT_ONLY", "text-only" },
- { EGG_TB_MODEL_ICONS_TEXT, "EGG_TB_MODEL_ICONS_TEXT", "text" },
- { EGG_TB_MODEL_ICONS_TEXT_HORIZ, "EGG_TB_MODEL_ICONS_TEXT_HORIZ", "text-horiz" },
- { EGG_TB_MODEL_ACCEPT_ITEMS_ONLY, "EGG_TB_MODEL_ACCEPT_ITEMS_ONLY", "accept-items-only" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EggToolbarsModelFlags", values);
- }
-
-return type;
-}
-
-GType
egg_toolbars_model_get_type (void)
{
static GType type = 0;
diff --git a/lib/egg/egg-toolbars-model.h b/lib/egg/egg-toolbars-model.h
index 551f46edb..276c4730d 100755
--- a/lib/egg/egg-toolbars-model.h
+++ b/lib/egg/egg-toolbars-model.h
@@ -34,8 +34,6 @@ G_BEGIN_DECLS
#define EGG_IS_TOOLBARS_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_TOOLBARS_MODEL))
#define EGG_TOOLBARS_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_TOOLBARS_MODEL, EggToolbarsModelClass))
-#define EGG_TYPE_TOOLBARS_MODEL_FLAGS (egg_toolbars_model_flags_get_type ())
-
typedef struct EggToolbarsModel EggToolbarsModel;
typedef struct EggToolbarsModelPrivate EggToolbarsModelPrivate;
typedef struct EggToolbarsModelClass EggToolbarsModelClass;
diff --git a/src/Makefile.am b/src/Makefile.am
index eb0b110cf..eb40d34ae 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,7 +21,9 @@ $(CORBA_SOURCE): $(idls) $(ORBIT_IDL)
$(ORBIT_IDL) $(idl_flags) $(idls)
headerdir = $(prefix)/include/epiphany-@EPIPHANY_MAJOR@/epiphany
-header_DATA = $(INST_H_FILES)
+header_DATA = \
+ ephy-type-builtins.h \
+ $(INST_H_FILES)
NOINST_H_FILES = \
ephy-automation.h \
@@ -55,7 +57,7 @@ INST_H_FILES = \
ephy-window.h
libephymain_la_SOURCES = \
- $(CORBA_SOURCE) \
+ $(BUILT_SOURCES) \
ephy-automation.c \
ephy-completion-model.c \
ephy-completion-model.h \
@@ -91,6 +93,7 @@ libephymain_la_SOURCES = \
libephymain_la_CPPFLAGS = \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/embed \
-I$(top_srcdir)/embed \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/lib/egg \
@@ -141,7 +144,45 @@ epiphany_LDADD = \
$(EPIPHANY_DEPENDENCY_LIBS) \
$(INTLLIBS)
-BUILT_SOURCES = $(CORBA_SOURCE)
+BUILT_SOURCES = \
+ $(CORBA_SOURCE) \
+ $(TYPES_SOURCE)
+
+TYPES_SOURCE = \
+ ephy-type-builtins.c \
+ ephy-type-builtins.h
+
+ephy-type-builtins.c: $(INST_H_FILES) $(NOINST_H_FILES)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#include \"ephy-type-builtins.h\"\n\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */" \
+ --fprod "\n#include \"@filename@\"" \
+ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n};\n\n" \
+ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \
+ --vtail " static GType type = 0;\n\n" \
+ --vtail " if (G_UNLIKELY (type == 0))\n" \
+ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
+ --vtail " return type;\n}\n\n" \
+ $(INST_H_FILES) $(NOINST_H_FILES) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
+
+ephy-type-builtins.h: $(INST_H_FILES) $(NOINST_H_FILES)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#ifndef EPHY_TYPE_BUILTINS_H\n" \
+ --fhead "#define EPHY_TYPE_BUILTINS_H 1\n\n" \
+ --fhead "#include <glib-object.h>\n\n" \
+ --fhead "G_BEGIN_DECLS\n\n" \
+ --ftail "G_END_DECLS\n\n" \
+ --ftail "#endif /* EPHY_TYPE_BUILTINS_H */\n" \
+ --fprod "\n/* --- @filename@ --- */" \
+ --eprod "#define EPHY_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
+ --eprod "GType @enum_name@_get_type (void);\n" \
+ $(INST_H_FILES) $(NOINST_H_FILES) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
CLEANFILES = $(BUILT_SOURCES)
DISTCLEANFILES = $(BUILT_SOURCES)
diff --git a/src/ephy-link.c b/src/ephy-link.c
index 6adb758bc..4b1ec7288 100644
--- a/src/ephy-link.c
+++ b/src/ephy-link.c
@@ -22,31 +22,11 @@
#include "ephy-link.h"
+#include "ephy-type-builtins.h"
#include "ephy-marshal.h"
#include "ephy-signal-accumulator.h"
#include "ephy-debug.h"
-GType
-ephy_link_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_LINK_NEW_WINDOW, "EPHY_LINK_NEW_WINDOW", "new-window" },
- { EPHY_LINK_NEW_TAB, "EPHY_LINK_NEW_TAB", "new-tab" },
- { EPHY_LINK_JUMP_TO, "EPHY_LINK_JUMP_TO", "jump-to" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EphyLinkFlags", values);
- }
-
- return type;
-}
-
enum
{
OPEN_LINK,
diff --git a/src/ephy-link.h b/src/ephy-link.h
index 12fad7d6c..a1e80cf03 100644
--- a/src/ephy-link.h
+++ b/src/ephy-link.h
@@ -34,8 +34,6 @@ G_BEGIN_DECLS
#define EPHY_IS_LINK_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_LINK))
#define EPHY_LINK_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EPHY_TYPE_LINK, EphyLinkIface))
-#define EPHY_TYPE_LINK_FLAGS (ephy_link_flags_get_type ())
-
typedef struct _EphyLink EphyLink;
typedef struct _EphyLinkIface EphyLinkIface;
diff --git a/src/ephy-navigation-action.c b/src/ephy-navigation-action.c
index 61300aa93..bd094f0ed 100644
--- a/src/ephy-navigation-action.c
+++ b/src/ephy-navigation-action.c
@@ -22,6 +22,7 @@
#include "config.h"
#include "ephy-navigation-action.h"
+#include "ephy-type-builtins.h"
#include "ephy-window.h"
#include "ephy-favicon-cache.h"
#include "ephy-history.h"
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
index cd64585c1..1e9fb000b 100644
--- a/src/ephy-shell.c
+++ b/src/ephy-shell.c
@@ -22,6 +22,7 @@
#include "config.h"
#include "ephy-shell.h"
+#include "ephy-type-builtins.h"
#include "ephy-embed-shell.h"
#include "eel-gconf-extensions.h"
#include "ephy-prefs.h"
@@ -57,7 +58,7 @@
#define EPHY_SHELL_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_SHELL, EphyShellPrivate))
-struct EphyShellPrivate
+struct _EphyShellPrivate
{
BonoboGenericFactory *automation_factory;
EphySession *session;
@@ -94,96 +95,6 @@ ephy_shell_error_quark (void)
return q;
}
-
-GType
-ephy_shell_error_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_SHELL_ERROR_MISSING_SERVER,
- "EPHY_SHELL_ERROR_MISSING_SERVER", "missing-server" },
- { EPHY_SHELL_ERROR_OBJECT_REG_FAILED,
- "EPHY_SHELL_ERROR_OBJECT_REG_FAILED", "object-reg-failed" },
- { EPHY_SHELL_ERROR_FACTORY_REG_FAILED,
- "EPHY_SHELL_ERROR_FACTORY_REG_FAILED", "factory-reg-failed" },
- { 0, NULL, NULL }
- };
- type = g_enum_register_static ("EphyShellError", values);
- }
- return type;
-}
-
-GType
-ephy_shell_startup_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_SHELL_STARTUP_TABS, "EPHY_SHELL_STARTUP_TABS",
- "tabs" },
- { EPHY_SHELL_STARTUP_EXISTING_WINDOW, "EPHY_SHELL_STARTUP_EXISTING_WINDOW",
- "existing-window" },
- { EPHY_SHELL_STARTUP_FULLSCREEN, "EPHY_SHELL_STARTUP_FULLSCREEN",
- "fullscreen" },
- { EPHY_SHELL_STARTUP_BOOKMARKS_EDITOR, "EPHY_SHELL_STARTUP_BOOKMARKS_EDITOR",
- "bookmarks-editor" },
- { EPHY_SHELL_STARTUP_SESSION, "EPHY_SHELL_STARTUP_SESSION",
- "session" },
- { EPHY_SHELL_STARTUP_IMPORT_BOOKMARKS, "EPHY_SHELL_STARTUP_IMPORT_BOOKMARKS",
- "import-bookmarks" },
- { EPHY_SHELL_STARTUP_ADD_BOOKMARK, "EPHY_SHELL_STARTUP_ADD_BOOKMARK",
- "add-bookmark" },
- { 0, NULL, NULL }
- };
- type = g_flags_register_static ("EphyShellStartupFlags", values);
- }
- return type;
-}
-
-
-GType
-ephy_new_tab_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_NEW_TAB_HOME_PAGE, "EPHY_NEW_TAB_HOME_PAGE",
- "home-page" },
- { EPHY_NEW_TAB_NEW_PAGE, "EPHY_NEW_TAB_NEW_PAGE",
- "new-page" },
- { EPHY_NEW_TAB_OPEN_PAGE, "EPHY_NEW_TAB_OPEN_PAGE",
- "open-page" },
- { EPHY_NEW_TAB_FULLSCREEN_MODE, "EPHY_NEW_TAB_FULLSCREEN_MODE",
- "fullscreen-mode" },
- { EPHY_NEW_TAB_APPEND_LAST, "EPHY_NEW_TAB_APPEND_LAST",
- "append-last" },
- { EPHY_NEW_TAB_APPEND_AFTER, "EPHY_NEW_TAB_APPEND_AFTER",
- "append-after" },
- { EPHY_NEW_TAB_JUMP, "EPHY_NEW_TAB_JUMP",
- "jump" },
- { EPHY_NEW_TAB_IN_NEW_WINDOW, "EPHY_NEW_TAB_IN_NEW_WINDOW",
- "new-window" },
- { EPHY_NEW_TAB_IN_EXISTING_WINDOW, "EPHY_NEW_TAB_IN_EXISTING_WINDOW",
- "existing-window" },
- { 0, NULL, NULL }
- };
- type = g_flags_register_static ("EphyNewTabFlags", values);
- }
- return type;
-}
-
-
-
GType
ephy_shell_get_type (void)
{
diff --git a/src/ephy-shell.h b/src/ephy-shell.h
index b12b30af8..d807cd139 100644
--- a/src/ephy-shell.h
+++ b/src/ephy-shell.h
@@ -38,14 +38,10 @@ G_BEGIN_DECLS
#define EPHY_IS_SHELL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_SHELL))
#define EPHY_IS_SHELL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_SHELL))
#define EPHY_SHELL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_SHELL, EphyShellClass))
-#define EPHY_TYPE_SHELL_ERROR (ephy_shell_error_get_type())
-#define EPHY_TYPE_SHELL_STARTUP_FLAGS (ephy_shell_startup_flags_get_type())
-#define EPHY_TYPE_NEW_TAB_FLAGS (ephy_new_tab_flags_get_type())
-
-typedef struct EphyShell EphyShell;
-typedef struct EphyShellClass EphyShellClass;
-typedef struct EphyShellPrivate EphyShellPrivate;
+typedef struct _EphyShell EphyShell;
+typedef struct _EphyShellClass EphyShellClass;
+typedef struct _EphyShellPrivate EphyShellPrivate;
extern EphyShell *ephy_shell;
@@ -87,7 +83,7 @@ typedef enum
EPHY_NEW_TAB_IN_EXISTING_WINDOW = 1 << 11
} EphyNewTabFlags;
-struct EphyShell
+struct _EphyShell
{
EphyEmbedShell parent;
@@ -95,7 +91,7 @@ struct EphyShell
EphyShellPrivate *priv;
};
-struct EphyShellClass
+struct _EphyShellClass
{
EphyEmbedShellClass parent_class;
};
diff --git a/src/ephy-tab.c b/src/ephy-tab.c
index 63b28eda6..a76f2b051 100644
--- a/src/ephy-tab.c
+++ b/src/ephy-tab.c
@@ -24,6 +24,8 @@
#include "config.h"
#include "ephy-tab.h"
+#include "ephy-type-builtins.h"
+#include "ephy-embed-type-builtins.h"
#include "eel-gconf-extensions.h"
#include "ephy-prefs.h"
#include "ephy-embed-factory.h"
@@ -142,44 +144,6 @@ static guint popup_blocker_n_hidden (EphyTab *tab);
static gboolean ephy_tab_get_popups_allowed (EphyTab *tab);
static void ephy_tab_set_popups_allowed (EphyTab *tab,
gboolean allowed);
-GType
-ephy_tab_address_expire_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GEnumValue values[] =
- {
- { EPHY_TAB_ADDRESS_EXPIRE_NOW, "EPHY_TAB_ADDRESS_EXPIRE_NOW", "expire-now" },
- { EPHY_TAB_ADDRESS_EXPIRE_NEXT, "EPHY_TAB_ADDRESS_EXPIRE_NEXT", "expire-next" },
- { EPHY_TAB_ADDRESS_EXPIRE_CURRENT, "EPHY_TAB_ADDRESS_EXPIRE_CURRENT", "expire-current" },
- { 0, NULL, NULL }
- };
- type = g_enum_register_static ("EphyTabAddressExpire", values);
- }
- return type;
-}
-
-GType
-ephy_tab_navigation_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EPHY_TAB_NAV_UP, "EPHY_TAB_NAV_UP", "up" },
- { EPHY_TAB_NAV_BACK, "EPHY_TAB_NAV_BACK", "back" },
- { EPHY_TAB_NAV_FORWARD, "EPHY_TAB_NAV_FORWARD", "forward" },
- { 0, NULL, NULL }
- };
- type = g_flags_register_static ("EphyTabNavigationFlags", values);
- }
- return type;
-}
-
/* Class functions */
diff --git a/src/ephy-tab.h b/src/ephy-tab.h
index f140d398a..474030400 100644
--- a/src/ephy-tab.h
+++ b/src/ephy-tab.h
@@ -35,9 +35,6 @@ G_BEGIN_DECLS
#define EPHY_IS_TAB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_TAB))
#define EPHY_TAB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_TAB, EphyTabClass))
-#define EPHY_TYPE_TAB_NAVIGATION_FLAGS (ephy_tab_navigation_flags_get_type())
-#define EPHY_TYPE_TAB_ADDRESS_EXPIRE (ephy_tab_address_expire_get_type())
-
typedef struct _EphyTabClass EphyTabClass;
typedef struct _EphyTab EphyTab;
typedef struct _EphyTabPrivate EphyTabPrivate;
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 4ae0c4a84..70b508986 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -23,6 +23,8 @@
#include "config.h"
#include "ephy-window.h"
+#include "ephy-type-builtins.h"
+#include "ephy-embed-type-builtins.h"
#include "ephy-command-manager.h"
#include "ephy-bookmarks-menu.h"
#include "ephy-favorites-menu.h"