GTK: implement creating new directories

And moving it with creating new files to a submenuitem.
This commit is contained in:
2016-04-17 03:12:34 +02:00
parent 2e16e0ae48
commit 1d2bf37a44
4 changed files with 131 additions and 87 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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