diff options
Diffstat (limited to 'UI')
-rw-r--r-- | UI/Readline.hs | 8 | ||||
-rw-r--r-- | UI/Zenity.hs | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/UI/Readline.hs b/UI/Readline.hs index c75bd19..668c023 100644 --- a/UI/Readline.hs +++ b/UI/Readline.hs @@ -61,8 +61,8 @@ myPromptQuestion title desc question = bracket_ setup cleanup go putStrLn "Please enter 'y' or 'n'" go -myPromptName :: Title -> Desc -> Name -> (Name -> Maybe Problem) -> IO (Maybe Name) -myPromptName title desc (Name suggested) checkproblem = +myPromptName :: Title -> Desc -> Maybe Name -> (Name -> Maybe Problem) -> IO (Maybe Name) +myPromptName title desc suggested checkproblem = bracket_ setup cleanup go where setup = do @@ -70,7 +70,9 @@ myPromptName title desc (Name suggested) checkproblem = putStrLn desc cleanup = putStrLn "" go = do - addHistory (BU8.toString suggested) + case suggested of + Nothing -> return () + Just (Name b) -> addHistory (BU8.toString b) mname <- readline "Name> " case mname of Just s -> do diff --git a/UI/Zenity.hs b/UI/Zenity.hs index a419b62..943be14 100644 --- a/UI/Zenity.hs +++ b/UI/Zenity.hs @@ -65,15 +65,17 @@ myPromptQuestion title desc question = do (_, ok) <- waitZenity h return ok -myPromptName :: Title -> Desc -> Name -> (Name -> Maybe Problem) -> IO (Maybe Name) -myPromptName title desc (Name suggested) checkproblem = go "" +myPromptName :: Title -> Desc -> Maybe Name -> (Name -> Maybe Problem) -> IO (Maybe Name) +myPromptName title desc suggested checkproblem = go "" where go extradesc = do h <- runZenity [ "--entry" , "--title", title , "--text", desc ++ "\n" ++ extradesc - , "--entry-text", BU8.toString suggested + , "--entry-text", case suggested of + Nothing -> "" + Just (Name b) -> BU8.toString b ] (ret, ok) <- waitZenity h if ok |