Diff
Not logged in

Differences From:

File src/info.c part of check-in [d4fedbb4ad] - A a "View" submenu option for the content viewer when the file is HTML. by drh on 2009-01-28 22:23:02. [view]

To:

File src/info.c part of check-in [0a2a1b4dde] - Add a "View" submenu item on the artifact viewer for files with wiki mimetype. by drh on 2009-01-28 22:56:59. [view]

@@ -1042,11 +1042,29 @@
   object_description(rid, 0, &downloadName);
   style_submenu_element("Download", "Download",
           "%s/raw/%T?name=%d", g.zTop, blob_str(&downloadName), rid);
   zMime = mimetype_from_name(blob_str(&downloadName));
-  if( zMime && strcmp(zMime, "text/html")==0 ){
-    style_submenu_element("View", "View",
-          "%s/raw?name=%d&m=text/html", g.zTop, rid);
+  if( zMime ){
+    if( strcmp(zMime, "text/html")==0 ){
+      style_submenu_element("View", "View",
+            "%s/raw?name=%d&m=text/html", g.zTop, rid);
+    }else if( strcmp(zMime, "application/x-fossil-wiki")==0 ){
+      Stmt q;
+      db_prepare(&q,
+         "SELECT blob.uuid || '/' || filename.name"
+         "  FROM mlink, filename, blob"
+         " WHERE mlink.fid=%d"
+         "   AND filename.fnid=mlink.fnid"
+         "   AND filename.name GLOB '*.wiki'"
+         "   AND blob.rid=mlink.mid",
+         rid
+      );
+      if( db_step(&q)==SQLITE_ROW ){
+        const char *zCI = db_column_text(&q, 0);
+        style_submenu_element("View", "View", "%s/doc/%s", g.zTop, zCI);
+      }
+      db_finalize(&q);
+    }
   }
   @ </blockquote>
   @ <hr>
   @ <blockquote>