diff options
author | Shaun McCance <shaunm@gnome.org> | 2010-03-22 16:20:06 -0500 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2010-03-22 16:20:06 -0500 |
commit | b1114ff52f4c716e50d382ebe37fe6de1d994fd1 (patch) | |
tree | 4dc950ea72cc8ee0b395d7b9e34446d7fcd024b3 | |
parent | ed4068e4371455595027492d9b9a4079922cd122 (diff) | |
download | yelp-b1114ff52f4c716e50d382ebe37fe6de1d994fd1.tar.gz |
Adding --editor-mode, show revision status and comments
Still to do: editor mode in docbook, show .page.stub files
-rw-r--r-- | libyelp/yelp-settings.c | 18 | ||||
-rw-r--r-- | libyelp/yelp-settings.h | 3 | ||||
-rw-r--r-- | src/yelp-application.c | 20 | ||||
-rw-r--r-- | src/yelp-application.h | 1 | ||||
-rw-r--r-- | src/yelp.c | 11 | ||||
-rw-r--r-- | stylesheets/db2html.xsl.in | 2 |
6 files changed, 42 insertions, 13 deletions
diff --git a/libyelp/yelp-settings.c b/libyelp/yelp-settings.c index fe49bbb5..f74da60f 100644 --- a/libyelp/yelp-settings.c +++ b/libyelp/yelp-settings.c @@ -44,6 +44,8 @@ struct _YelpSettingsPriv { gulong gtk_theme_changed; gulong gtk_font_changed; gulong icon_theme_changed; + + gboolean editor_mode; }; enum { @@ -626,6 +628,15 @@ yelp_settings_get_icon_param (YelpSettingsIcon icon) /******************************************************************************/ +void +yelp_settings_set_editor_mode (YelpSettings *settings, + gboolean editor_mode) +{ + settings->priv->editor_mode = editor_mode; +} + +/******************************************************************************/ + gchar ** yelp_settings_get_all_params (YelpSettings *settings, gint extra, @@ -635,7 +646,7 @@ yelp_settings_get_all_params (YelpSettings *settings, gint i, ix; params = g_new0 (gchar *, - (2*YELP_SETTINGS_NUM_COLORS) + (2*YELP_SETTINGS_NUM_ICONS) + extra + 3); + (2*YELP_SETTINGS_NUM_COLORS) + (2*YELP_SETTINGS_NUM_ICONS) + extra + 5); for (i = 0; i < YELP_SETTINGS_NUM_COLORS; i++) { gchar *val; @@ -656,6 +667,11 @@ yelp_settings_get_all_params (YelpSettings *settings, ix = 2 * (YELP_SETTINGS_NUM_COLORS + YELP_SETTINGS_NUM_ICONS); params[ix++] = g_strdup ("theme.icon.admon.size"); params[ix++] = g_strdup_printf ("%i", yelp_settings_get_icon_size (settings)); + params[ix++] = g_strdup ("mal2html.editor_mode"); + if (settings->priv->editor_mode) + params[ix++] = g_strdup ("true()"); + else + params[ix++] = g_strdup ("false()"); params[ix] = NULL; if (end != NULL) diff --git a/libyelp/yelp-settings.h b/libyelp/yelp-settings.h index 18cd816f..511af871 100644 --- a/libyelp/yelp-settings.h +++ b/libyelp/yelp-settings.h @@ -118,6 +118,9 @@ gchar ** yelp_settings_get_all_params (YelpSettings *sett gint extra, gint *end); +void yelp_settings_set_editor_mode (YelpSettings *settings, + gboolean editor_mode); + G_END_DECLS #endif /* __YELP_SETTINGS_H__ */ diff --git a/src/yelp-application.c b/src/yelp-application.c index d908f574..cd0a4305 100644 --- a/src/yelp-application.c +++ b/src/yelp-application.c @@ -36,6 +36,13 @@ #include "yelp-dbus.h" #include "yelp-window.h" +static gboolean editor_mode = FALSE; + +static const GOptionEntry entries[] = { + {"editor-mode", 0, 0, G_OPTION_ARG_NONE, &editor_mode, N_("Turn on editor mode"), NULL}, + { NULL } +}; + typedef struct _YelpApplicationLoad YelpApplicationLoad; struct _YelpApplicationLoad { YelpApplication *app; @@ -163,16 +170,23 @@ yelp_application_new (void) gint yelp_application_run (YelpApplication *app, - GOptionContext *context, gint argc, gchar **argv) { + GOptionContext *context; GError *error = NULL; DBusGProxy *proxy; guint request; YelpApplicationPrivate *priv = GET_PRIV (app); gchar *uri; + g_set_application_name (N_("Help")); + + context = g_option_context_new (NULL); + g_option_context_add_group (context, gtk_get_option_group (TRUE)); + g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); + g_option_context_parse (context, &argc, &argv, NULL); + priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); if (priv->connection == NULL) { g_warning ("Unable to connect to dbus: %s", error->message); @@ -241,6 +255,8 @@ yelp_application_run (YelpApplication *app, "/org/gnome/Yelp", G_OBJECT (app)); + yelp_settings_set_editor_mode (yelp_settings_get_default (), editor_mode); + yelp_application_load_uri (app, uri, gtk_get_current_event_time (), NULL); gtk_main (); @@ -305,7 +321,7 @@ application_uri_resolved (YelpUri *uri, if (gdk_window) gdk_x11_window_move_to_current_desktop (gdk_window); - gtk_window_present_with_time (GTK_WINDOW (window), data->timestamp); + gtk_window_present_with_time (GTK_WINDOW (window), GDK_CURRENT_TIME); g_free (data); } diff --git a/src/yelp-application.h b/src/yelp-application.h index 2387e5b4..49542d48 100644 --- a/src/yelp-application.h +++ b/src/yelp-application.h @@ -47,7 +47,6 @@ struct _YelpApplicationClass GType yelp_application_get_type (void); YelpApplication* yelp_application_new (void); gint yelp_application_run (YelpApplication *app, - GOptionContext *context, gint argc, gchar **argv); gboolean yelp_application_load_uri (YelpApplication *app, @@ -26,24 +26,19 @@ #include <glib.h> #include <glib/gi18n.h> +#include <gtk/gtk.h> #include "yelp-application.h" int main (int argc, char **argv) { - GOptionContext *context; YelpApplication *app; g_thread_init (NULL); - - g_set_application_name (N_("Help")); - - context = g_option_context_new (NULL); - g_option_context_add_group (context, gtk_get_option_group (TRUE)); - g_option_context_parse (context, &argc, &argv, NULL); + g_type_init (); app = yelp_application_new (); - return yelp_application_run (app, context, argc, argv); + return yelp_application_run (app, argc, argv); } diff --git a/stylesheets/db2html.xsl.in b/stylesheets/db2html.xsl.in index 59762e46..3b39adb4 100644 --- a/stylesheets/db2html.xsl.in +++ b/stylesheets/db2html.xsl.in @@ -69,7 +69,7 @@ FIXME: yelp:cache no longer works <!-- == db.xref.target == --> <xsl:template name="db.xref.target"> <xsl:param name="linkend"/> - <xsl:value-of select="concat('xref:', $linkend)"/> + <xsl:value-of select="concat('xref:', $linkend, '#', $linkend)"/> </xsl:template> <!-- == db2html.division.head.extra == --> |