diff --git a/views/nav.qtpl b/views/nav.qtpl
index 1885dd2..1591ace 100644
--- a/views/nav.qtpl
+++ b/views/nav.qtpl
@@ -5,8 +5,13 @@
{% import "github.com/bouncepaw/mycorrhiza/util" %}
{% import "github.com/bouncepaw/mycorrhiza/viewutil" %}
-{% func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) %}
-{% if u.CanProceed(action) %}
+{% func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) %}
+{% code flag := true %}
+{% switch h.(type) %}
+{% case *hyphae.EmptyHypha %}
+ {% code flag = !hasToExist %}
+{% endswitch %}
+{% if u.CanProceed(action) && flag %}
{%s displayText %}
@@ -21,12 +26,12 @@
%}
{% endfunc %}
diff --git a/views/nav.qtpl.go b/views/nav.qtpl.go
index 5c14894..04bc609 100644
--- a/views/nav.qtpl.go
+++ b/views/nav.qtpl.go
@@ -36,33 +36,28 @@ var (
)
//line views/nav.qtpl:8
-func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) {
+func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) {
//line views/nav.qtpl:8
qw422016.N().S(`
`)
//line views/nav.qtpl:9
- if u.CanProceed(action) {
+ flag := true
+
//line views/nav.qtpl:9
+ qw422016.N().S(`
+`)
+//line views/nav.qtpl:10
+ switch h.(type) {
+//line views/nav.qtpl:11
+ case *hyphae.EmptyHypha:
+//line views/nav.qtpl:11
+ qw422016.N().S(`
+ `)
+//line views/nav.qtpl:12
+ flag = !hasToExist
+
+//line views/nav.qtpl:12
qw422016.N().S(`
-
- `)
-//line views/nav.qtpl:11
- qw422016.E().S(displayText)
-//line views/nav.qtpl:11
- qw422016.N().S(`
-
`)
//line views/nav.qtpl:13
}
@@ -70,196 +65,225 @@ func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.Use
qw422016.N().S(`
`)
//line views/nav.qtpl:14
-}
-
+ if u.CanProceed(action) && flag {
//line views/nav.qtpl:14
-func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) {
-//line views/nav.qtpl:14
- qw422016 := qt422016.AcquireWriter(qq422016)
-//line views/nav.qtpl:14
- streamhyphaInfoEntry(qw422016, h, u, action, displayText)
-//line views/nav.qtpl:14
- qt422016.ReleaseWriter(qw422016)
-//line views/nav.qtpl:14
-}
-
-//line views/nav.qtpl:14
-func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) string {
-//line views/nav.qtpl:14
- qb422016 := qt422016.AcquireByteBuffer()
-//line views/nav.qtpl:14
- writehyphaInfoEntry(qb422016, h, u, action, displayText)
-//line views/nav.qtpl:14
- qs422016 := string(qb422016.B)
-//line views/nav.qtpl:14
- qt422016.ReleaseByteBuffer(qb422016)
-//line views/nav.qtpl:14
- return qs422016
-//line views/nav.qtpl:14
-}
-
+ qw422016.N().S(`
+
+ `)
+//line views/nav.qtpl:16
+ qw422016.E().S(displayText)
+//line views/nav.qtpl:16
+ qw422016.N().S(`
+
`)
//line views/nav.qtpl:18
+ }
+//line views/nav.qtpl:18
+ qw422016.N().S(`
+`)
+//line views/nav.qtpl:19
+}
+
+//line views/nav.qtpl:19
+func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) {
+//line views/nav.qtpl:19
+ qw422016 := qt422016.AcquireWriter(qq422016)
+//line views/nav.qtpl:19
+ streamhyphaInfoEntry(qw422016, h, u, action, hasToExist, displayText)
+//line views/nav.qtpl:19
+ qt422016.ReleaseWriter(qw422016)
+//line views/nav.qtpl:19
+}
+
+//line views/nav.qtpl:19
+func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) string {
+//line views/nav.qtpl:19
+ qb422016 := qt422016.AcquireByteBuffer()
+//line views/nav.qtpl:19
+ writehyphaInfoEntry(qb422016, h, u, action, hasToExist, displayText)
+//line views/nav.qtpl:19
+ qs422016 := string(qb422016.B)
+//line views/nav.qtpl:19
+ qt422016.ReleaseByteBuffer(qb422016)
+//line views/nav.qtpl:19
+ return qs422016
+//line views/nav.qtpl:19
+}
+
+//line views/nav.qtpl:21
+func streamhyphaInfo(qw422016 *qt422016.Writer, meta viewutil.Meta, h hyphae.Hypha) {
+//line views/nav.qtpl:21
+ qw422016.N().S(`
+`)
+//line views/nav.qtpl:23
u := meta.U
lc := meta.Lc
backs := backlinks.BacklinksCount(h)
-//line views/nav.qtpl:21
+//line views/nav.qtpl:26
qw422016.N().S(`
`)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
}
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
func writehyphaInfo(qq422016 qtio422016.Writer, meta viewutil.Meta, h hyphae.Hypha) {
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
qw422016 := qt422016.AcquireWriter(qq422016)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
streamhyphaInfo(qw422016, meta, h)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
qt422016.ReleaseWriter(qw422016)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
}
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
func hyphaInfo(meta viewutil.Meta, h hyphae.Hypha) string {
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
qb422016 := qt422016.AcquireByteBuffer()
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
writehyphaInfo(qb422016, meta, h)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
qs422016 := string(qb422016.B)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
qt422016.ReleaseByteBuffer(qb422016)
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
return qs422016
-//line views/nav.qtpl:32
+//line views/nav.qtpl:37
}
-//line views/nav.qtpl:34
+//line views/nav.qtpl:39
func streamcommonScripts(qw422016 *qt422016.Writer) {
-//line views/nav.qtpl:34
+//line views/nav.qtpl:39
qw422016.N().S(`
`)
-//line views/nav.qtpl:35
+//line views/nav.qtpl:40
for _, scriptPath := range cfg.CommonScripts {
-//line views/nav.qtpl:35
+//line views/nav.qtpl:40
qw422016.N().S(`
`)
-//line views/nav.qtpl:37
+//line views/nav.qtpl:42
}
-//line views/nav.qtpl:37
+//line views/nav.qtpl:42
qw422016.N().S(`
`)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
}
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
func writecommonScripts(qq422016 qtio422016.Writer) {
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
qw422016 := qt422016.AcquireWriter(qq422016)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
streamcommonScripts(qw422016)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
qt422016.ReleaseWriter(qw422016)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
}
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
func commonScripts() string {
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
qb422016 := qt422016.AcquireByteBuffer()
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
writecommonScripts(qb422016)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
qs422016 := string(qb422016.B)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
qt422016.ReleaseByteBuffer(qb422016)
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
return qs422016
-//line views/nav.qtpl:38
+//line views/nav.qtpl:43
}
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
func streambeautifulLink(qw422016 *qt422016.Writer, hyphaName string) {
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qw422016.N().S(``)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qw422016.E().S(util.BeautifulName(hyphaName))
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qw422016.N().S(``)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
}
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
func writebeautifulLink(qq422016 qtio422016.Writer, hyphaName string) {
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qw422016 := qt422016.AcquireWriter(qq422016)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
streambeautifulLink(qw422016, hyphaName)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qt422016.ReleaseWriter(qw422016)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
}
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
func beautifulLink(hyphaName string) string {
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qb422016 := qt422016.AcquireByteBuffer()
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
writebeautifulLink(qb422016, hyphaName)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qs422016 := string(qb422016.B)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
qt422016.ReleaseByteBuffer(qb422016)
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
return qs422016
-//line views/nav.qtpl:40
+//line views/nav.qtpl:45
}