summaryrefslogtreecommitdiff
path: root/libyelp/yelp-mallard-document.c
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2010-04-01 13:23:23 -0500
committerShaun McCance <shaunm@gnome.org>2010-04-01 13:23:23 -0500
commitd9b3ebf1b5209b874bd358209935da555178c7a2 (patch)
treec6134480961aa5fe9438fbeabfccdc8246700af8 /libyelp/yelp-mallard-document.c
parent4caf07421158446f5d2ae04d29d61a3baba6aabe (diff)
downloadyelp-d9b3ebf1b5209b874bd358209935da555178c7a2.tar.gz
[yelp-mallard-document] Show .page.stub files in editor mode
Diffstat (limited to 'libyelp/yelp-mallard-document.c')
-rw-r--r--libyelp/yelp-mallard-document.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/libyelp/yelp-mallard-document.c b/libyelp/yelp-mallard-document.c
index 12f89ec6..da1b22fc 100644
--- a/libyelp/yelp-mallard-document.c
+++ b/libyelp/yelp-mallard-document.c
@@ -275,11 +275,14 @@ mallard_think (YelpMallardDocument *mallard)
GError *error = NULL;
YelpDocument *document;
gchar **search_path;
+ gboolean editor_mode;
GFile *gfile;
GFileEnumerator *children;
GFileInfo *pageinfo;
+ editor_mode = yelp_settings_get_editor_mode (yelp_settings_get_default ());
+
search_path = yelp_uri_get_search_path (priv->uri);
if (!search_path || search_path[0] == NULL ||
@@ -306,7 +309,8 @@ mallard_think (YelpMallardDocument *mallard)
GFile *pagefile;
filename = g_file_info_get_attribute_as_string (pageinfo,
G_FILE_ATTRIBUTE_STANDARD_NAME);
- if (!g_str_has_suffix (filename, ".page")) {
+ if (!g_str_has_suffix (filename, ".page") &&
+ !(editor_mode && g_str_has_suffix (filename, ".page.stub"))) {
g_free (filename);
g_object_unref (pageinfo);
continue;
@@ -637,7 +641,14 @@ mallard_page_data_run (MallardPageData *page_data)
(GCallback) transform_error,
page_data);
- params = yelp_settings_get_all_params (settings, 0, NULL);
+ if (g_str_has_suffix (page_data->filename, ".page.stub")) {
+ gint end;
+ params = yelp_settings_get_all_params (settings, 2, &end);
+ params[end++] = g_strdup ("yelp.stub");
+ params[end++] = g_strdup ("true()");
+ }
+ else
+ params = yelp_settings_get_all_params (settings, 0, NULL);
yelp_transform_start (page_data->transform,
page_data->xmldoc,