aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/dirtree.go17
-rw-r--r--widgets/msglist.go22
2 files changed, 20 insertions, 19 deletions
diff --git a/widgets/dirtree.go b/widgets/dirtree.go
index b0943ae4..41477c5f 100644
--- a/widgets/dirtree.go
+++ b/widgets/dirtree.go
@@ -275,7 +275,7 @@ func (dt *DirectoryTree) countVisible(list []*types.Thread) (n int) {
func (dt *DirectoryTree) displayText(node *types.Thread) string {
elems := strings.Split(dt.treeDirs[getAnyUid(node)], dt.pathSeparator)
- return fmt.Sprintf("%s%s%s", threadPrefix(node, false), getFlag(node), elems[countLevels(node)])
+ return fmt.Sprintf("%s%s%s", threadPrefix(node, false, false), getFlag(node), elems[countLevels(node)])
}
func (dt *DirectoryTree) getDirectory(node *types.Thread) string {
@@ -471,13 +471,12 @@ func countLevels(node *types.Thread) (level int) {
return
}
-func getFlag(node *types.Thread) (flag string) {
- if node != nil && node.FirstChild != nil {
- if node.Hidden {
- flag = "─"
- } else {
- flag = "┌"
- }
+func getFlag(node *types.Thread) string {
+ if node == nil && node.FirstChild == nil {
+ return ""
}
- return
+ if node.Hidden {
+ return "+"
+ }
+ return ""
}
diff --git a/widgets/msglist.go b/widgets/msglist.go
index 45d2555c..d1bba32f 100644
--- a/widgets/msglist.go
+++ b/widgets/msglist.go
@@ -165,7 +165,7 @@ func (ml *MessageList) Draw(ctx *ui.Context) {
baseSubject := threadSubject(store, thread)
data.SetThreading(
- threadPrefix(thread, store.ReverseThreadOrder()),
+ threadPrefix(thread, store.ReverseThreadOrder(), true),
baseSubject == lastSubject && sameParent(thread, prevThread) && !isParent(thread),
)
lastSubject = baseSubject
@@ -427,17 +427,19 @@ func (ml *MessageList) drawEmptyMessage(ctx *ui.Context) {
uiConfig.GetStyle(config.STYLE_MSGLIST_DEFAULT), "%s", msg)
}
-func threadPrefix(t *types.Thread, reverse bool) string {
+func threadPrefix(t *types.Thread, reverse bool, point bool) string {
var arrow string
if t.Parent != nil {
- if t.NextSibling != nil {
- arrow = "├─>"
- } else {
- if reverse {
- arrow = "┌─>"
- } else {
- arrow = "└─>"
- }
+ switch {
+ case t.NextSibling != nil:
+ arrow = "├─"
+ case reverse:
+ arrow = "┌─"
+ default:
+ arrow = "└─"
+ }
+ if point {
+ arrow += ">"
}
}
var prefix []string