GTK: implement creating new directories
And moving it with creating new files to a submenuitem.
This commit is contained in:
@@ -206,8 +206,10 @@ setCallbacks mygui myview = do
|
||||
liftIO $ withItems mygui myview open
|
||||
_ <- rcFileExecute mygui `on` menuItemActivated $
|
||||
liftIO $ withItems mygui myview execute
|
||||
_ <- rcFileNew mygui `on` menuItemActivated $
|
||||
_ <- rcFileNewRegFile mygui `on` menuItemActivated $
|
||||
liftIO $ newFile mygui myview
|
||||
_ <- rcFileNewDir mygui `on` menuItemActivated $
|
||||
liftIO $ newDir mygui myview
|
||||
_ <- rcFileCopy mygui `on` menuItemActivated $
|
||||
liftIO $ withItems mygui myview copyInit
|
||||
_ <- rcFileRename mygui `on` menuItemActivated $
|
||||
@@ -353,7 +355,7 @@ upDir mygui myview = withErrorDialog $ do
|
||||
refreshView' mygui myview nv
|
||||
|
||||
|
||||
-- |Go up one directory and visualize it in the treeView.
|
||||
-- |Create a new file.
|
||||
newFile :: MyGUI -> MyView -> IO ()
|
||||
newFile _ myview = withErrorDialog $ do
|
||||
mfn <- textInputDialog "Enter file name"
|
||||
@@ -363,6 +365,16 @@ newFile _ myview = withErrorDialog $ do
|
||||
createFile cdir fn
|
||||
|
||||
|
||||
-- |Create a new directory.
|
||||
newDir :: MyGUI -> MyView -> IO ()
|
||||
newDir _ myview = withErrorDialog $ do
|
||||
mfn <- textInputDialog "Enter directory name"
|
||||
let pmfn = P.parseFn =<< P.userStringToFP <$> mfn
|
||||
for_ pmfn $ \fn -> do
|
||||
cdir <- getCurrentDir myview
|
||||
createDir cdir fn
|
||||
|
||||
|
||||
renameF :: [Item] -> MyGUI -> MyView -> IO ()
|
||||
renameF [item] _ _ = withErrorDialog $ do
|
||||
mfn <- textInputDialog "Enter new file name"
|
||||
|
||||
@@ -66,7 +66,8 @@ data MyGUI = MkMyGUI {
|
||||
, rcMenu :: Menu
|
||||
, rcFileOpen :: ImageMenuItem
|
||||
, rcFileExecute :: ImageMenuItem
|
||||
, rcFileNew :: ImageMenuItem
|
||||
, rcFileNewRegFile :: ImageMenuItem
|
||||
, rcFileNewDir :: ImageMenuItem
|
||||
, rcFileCut :: ImageMenuItem
|
||||
, rcFileCopy :: ImageMenuItem
|
||||
, rcFileRename :: ImageMenuItem
|
||||
|
||||
@@ -87,8 +87,10 @@ createMyGUI = do
|
||||
"rcFileOpen"
|
||||
rcFileExecute <- builderGetObject builder castToImageMenuItem
|
||||
"rcFileExecute"
|
||||
rcFileNew <- builderGetObject builder castToImageMenuItem
|
||||
"rcFileNew"
|
||||
rcFileNewRegFile <- builderGetObject builder castToImageMenuItem
|
||||
"rcFileNewRegFile"
|
||||
rcFileNewDir <- builderGetObject builder castToImageMenuItem
|
||||
"rcFileNewDir"
|
||||
rcFileCut <- builderGetObject builder castToImageMenuItem
|
||||
"rcFileCut"
|
||||
rcFileCopy <- builderGetObject builder castToImageMenuItem
|
||||
|
||||
Reference in New Issue
Block a user