1
1
{-# LANGUAGE ScopedTypeVariables #-}
2
+ {-# LANGUAGE OverloadedStrings #-}
2
3
-----------------------------------------------------------------------------
3
4
--
4
5
-- Module : VCSGui.Common.FilesInConflict
@@ -29,6 +30,8 @@ import Control.Monad.Trans(liftIO)
29
30
import Control.Monad
30
31
import Control.Monad.Reader
31
32
import Paths_vcsgui (getDataFileName )
33
+ import Data.Text (Text )
34
+ import qualified Data.Text as T (unpack , pack )
32
35
33
36
--
34
37
-- glade path and object accessors
@@ -94,7 +97,7 @@ showFilesInConflictGUI (Just setUpTreeView) filesInConflict filesToResolveGetter
94
97
gui <- loadGUI $ setUpTreeView cwd filesInConflict filesToResolveGetter resolveMarker eMergeToolSetter
95
98
mbMergeToolSetter <- case eMergeToolSetter of
96
99
Left (Merge. MergeTool path) -> do
97
- liftIO $ H. set (entPath gui) path
100
+ liftIO $ H. set (entPath gui) $ T. pack path
98
101
return Nothing
99
102
Right setter -> return $ Just setter
100
103
@@ -112,7 +115,7 @@ showFilesInConflictGUI (Just setUpTreeView) filesInConflict filesToResolveGetter
112
115
Nothing -> return ()
113
116
Just path -> do
114
117
-- update gui
115
- H. set (entPath gui) path
118
+ H. set (entPath gui) $ T. pack path
116
119
-- call setter
117
120
case mbMergeToolSetter of
118
121
Nothing -> return ()
@@ -155,7 +158,7 @@ defaultSetUpTreeView mbcwd conflictingFiles filesToResolveGetter resolveMarker e
155
158
H. addColumnToTreeView' treeViewItem
156
159
renderer
157
160
" File"
158
- $ \ scf -> [cellText := filePath scf]
161
+ $ \ scf -> [cellText := T. pack $ filePath scf]
159
162
160
163
renderer <- cellRendererToggleNew
161
164
H. addColumnToTreeView' treeViewItem
@@ -164,7 +167,7 @@ defaultSetUpTreeView mbcwd conflictingFiles filesToResolveGetter resolveMarker e
164
167
$ \ scf -> [cellToggleActive := isResolved scf]
165
168
166
169
-- connect select action
167
- on renderer cellToggled $ \ (columnId:: String ) -> do
170
+ on renderer cellToggled $ \ (columnId :: Text ) -> do
168
171
putStrLn $ " Checkbutton clicked at column " ++ (show columnId)
169
172
-- TODO only call tool if button is not checked, move this code to being called if a click on row is received
170
173
let callTool' = (\ path -> Wrapper. runVcs config $ callTool columnId listStore path)
@@ -182,7 +185,7 @@ defaultSetUpTreeView mbcwd conflictingFiles filesToResolveGetter resolveMarker e
182
185
Just treeIter <- liftIO $ treeModelGetIterFromString listStore columnId
183
186
value <- liftIO $ listStoreGetValue listStore $ listStoreIterToIndex treeIter
184
187
filesToResolve <- filesToResolveGetter $ filePath value
185
- resolvedByTool <- liftIO $ Process. exec mbcwd pathToTool filesToResolve
188
+ resolvedByTool <- liftIO $ Process. exec mbcwd pathToTool $ map T. pack filesToResolve
186
189
let setResolved' = setResolved listStore treeIter value
187
190
case resolvedByTool of
188
191
False -> ConflictsResolvedGUI. showConflictsResolvedGUI
@@ -204,7 +207,7 @@ defaultSetUpTreeView mbcwd conflictingFiles filesToResolveGetter resolveMarker e
204
207
----
205
208
206
209
getTreeViewFromGladeCustomStore :: Builder
207
- -> String
210
+ -> Text
208
211
-> (TreeView -> Wrapper. Ctx (ListStore SCFile )) -- ^ fn defining how to setup the liststore
209
212
-> Wrapper. Ctx (H. TreeViewItem SCFile )
210
213
getTreeViewFromGladeCustomStore builder name setupListStore = do
@@ -220,9 +223,9 @@ getTreeViewFromGladeCustomStore builder name setupListStore = do
220
223
wrapWidget :: GObjectClass objClass =>
221
224
Builder
222
225
-> (GObject -> objClass )
223
- -> String -> IO (String , objClass )
226
+ -> Text -> IO (Text , objClass )
224
227
wrapWidget builder cast name = do
225
- putStrLn $ " cast " ++ name
228
+ putStrLn $ " cast " ++ T. unpack name
226
229
gobj <- builderGetObject builder cast name
227
230
return (name, gobj)
228
231
@@ -245,7 +248,7 @@ setToListStore (store, view) newList = do
245
248
-- HELPER
246
249
247
250
-- | shows a dialog to choose a folder, returns Just FilePath to folder if succesfull, Nothing if cancelled
248
- showFolderChooserDialog :: String -- ^ title of the window
251
+ showFolderChooserDialog :: Text -- ^ title of the window
249
252
-> Window -- ^ parent window
250
253
-> FileChooserAction
251
254
-> IO (Maybe FilePath )
0 commit comments