From 35ad841aceed89072e2cc6f589405a6feb411f74 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Thu, 6 Jan 2005 18:14:42 +0000 Subject: Use glib-mkenums to generate the enum and flags get_type functions. 2005-01-06 Christian Persch * 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. --- ChangeLog | 27 +++++++++ configure.ac | 7 +++ embed/Makefile.am | 53 +++++++++++++++++- embed/ephy-embed-event.c | 49 +--------------- embed/ephy-embed-event.h | 3 - embed/ephy-embed-persist.c | 23 -------- embed/ephy-embed-persist.h | 2 - embed/ephy-embed.c | 120 +--------------------------------------- embed/ephy-embed.h | 24 +++----- embed/ephy-permission-manager.c | 24 +------- embed/ephy-permission-manager.h | 1 - lib/egg/Makefile.am | 41 +++++++++++++- lib/egg/egg-toolbars-model.c | 25 +-------- lib/egg/egg-toolbars-model.h | 2 - src/Makefile.am | 47 +++++++++++++++- src/ephy-link.c | 22 +------- src/ephy-link.h | 2 - src/ephy-navigation-action.c | 1 + src/ephy-shell.c | 93 +------------------------------ src/ephy-shell.h | 14 ++--- src/ephy-tab.c | 40 +------------- src/ephy-tab.h | 3 - src/ephy-window.c | 2 + 23 files changed, 194 insertions(+), 431 deletions(-) diff --git a/ChangeLog b/ChangeLog index 497401174..766d7e4a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,30 @@ +2005-01-06 Christian Persch + + * 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 * data/ui/epiphany-ui.xml: 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 \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 #include -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" @@ -29,125 +30,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) { 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 \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 @@ -70,30 +71,6 @@ struct EggToolbarsModelPrivate GNode *toolbars; }; -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) { 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 \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" -- cgit v1.2.3