diff options
Diffstat (limited to 'ThreadView.hs')
-rw-r--r-- | ThreadView.hs | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/ThreadView.hs b/ThreadView.hs index 1c908bb..2b1c1fb 100644 --- a/ThreadView.hs +++ b/ThreadView.hs @@ -64,6 +64,11 @@ instance Eq ThreadView where _ == _ = False +isTVSearchResult :: ThreadView -> Bool +isTVSearchResult (TVSearchResult _) = True +isTVSearchResult _ = False + + describe :: ThreadView -> String describe (TVMessage m) = "TVMessage " <> unMessageID (messageId m) describe (TVMessagePart m p) = "TVMessagePart " <> (unMessageID $ messageId m) <> " " <> show (partID p) @@ -72,23 +77,6 @@ describe (TVSearch s) = "TVSearch " <> show s describe (TVSearchResult sr) = "TVSearchResult " <> show (searchTotal sr) -focusPrev :: Tree ThreadView -> Maybe ThreadView -> Maybe ThreadView -focusPrev v Nothing = lastMay (flatten v) -focusPrev v (Just cur) = do - i <- elemIndex cur items - maybe (lastMay items) Just $ atMay items (i - 1) - where - items = flatten v - -focusNext :: Tree ThreadView -> Maybe ThreadView -> Maybe ThreadView -focusNext v Nothing = headMay (flatten v) -focusNext v (Just cur) = do - i <- elemIndex cur items - maybe (headMay items) Just $ atMay items (i + 1) - where - items = flatten v - - findMessage :: MessageID -> Tree ThreadView -> Maybe ThreadView findMessage i = find p . flatten |