GTK: implement home and up buttons wrt #40
This commit is contained in:
@@ -63,7 +63,10 @@ import System.Glib.UTFString
|
||||
(
|
||||
glibToString
|
||||
)
|
||||
|
||||
import System.Posix.Env.ByteString
|
||||
(
|
||||
getEnv
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -128,6 +131,10 @@ setCallbacks mygui myview = do
|
||||
-- GUI events
|
||||
_ <- urlBar mygui `on` entryActivated $ urlGoTo mygui myview
|
||||
|
||||
_ <- upViewB mygui `on` buttonActivated $
|
||||
upDir mygui myview
|
||||
_ <- homeViewB mygui `on` buttonActivated $
|
||||
goHome mygui myview
|
||||
_ <- refreshViewB mygui `on` buttonActivated $ do
|
||||
cdir <- liftIO $ getCurrentDir myview
|
||||
refreshView' mygui myview cdir
|
||||
@@ -234,6 +241,12 @@ urlGoTo mygui myview = withErrorDialog $ do
|
||||
refreshView mygui myview (Just fp')
|
||||
|
||||
|
||||
goHome :: MyGUI -> MyView -> IO ()
|
||||
goHome mygui myview = withErrorDialog $ do
|
||||
mhomedir <- getEnv "HOME"
|
||||
refreshView mygui myview (P.parseAbs =<< mhomedir)
|
||||
|
||||
|
||||
-- |Supposed to be used with 'withRows'. Opens a file or directory.
|
||||
open :: [Item] -> MyGUI -> MyView -> IO ()
|
||||
open [item] mygui myview = withErrorDialog $
|
||||
|
||||
@@ -72,6 +72,8 @@ data MyGUI = MkMyGUI {
|
||||
, rcFileRename :: ImageMenuItem
|
||||
, rcFilePaste :: ImageMenuItem
|
||||
, rcFileDelete :: ImageMenuItem
|
||||
, upViewB :: Button
|
||||
, homeViewB :: Button
|
||||
, refreshViewB :: Button
|
||||
, urlBar :: Entry
|
||||
, statusBar :: Statusbar
|
||||
|
||||
@@ -99,6 +99,10 @@ createMyGUI = do
|
||||
"rcFilePaste"
|
||||
rcFileDelete <- builderGetObject builder castToImageMenuItem
|
||||
"rcFileDelete"
|
||||
upViewB <- builderGetObject builder castToButton
|
||||
"upViewB"
|
||||
homeViewB <- builderGetObject builder castToButton
|
||||
"homeViewB"
|
||||
refreshViewB <- builderGetObject builder castToButton
|
||||
"refreshViewB"
|
||||
menubarViewTree <- builderGetObject builder castToImageMenuItem
|
||||
|
||||
Reference in New Issue
Block a user