{-# LINE 2 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
module Graphics.UI.Gtk.Recent.RecentManager (
RecentManager,
RecentManagerClass,
castToRecentManager,
toRecentManager,
recentManagerNew,
recentManagerGetDefault,
recentManagerAddItem,
recentManagerRemoveItem,
recentManagerLookupItem,
recentManagerHasItem,
recentManagerMoveItem,
recentManagerGetItems,
recentManagerPurgeItems,
recentManagerFilename,
recentManagerLimit,
recentManagerSize,
recentManagerChanged,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import System.Glib.GList
import System.Glib.UTFString
import System.Glib.GError (propagateGError, checkGError)
import Graphics.UI.Gtk.Recent.RecentInfo (RecentInfo, mkRecentInfo)
import Graphics.UI.Gtk.Types
{-# LINE 104 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 105 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
{-# LINE 107 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
recentManagerNew :: IO RecentManager
recentManagerNew =
wrapNewGObject mkRecentManager $
gtk_recent_manager_new
{-# LINE 122 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
recentManagerGetDefault :: IO RecentManager
recentManagerGetDefault =
makeNewGObject mkRecentManager $
gtk_recent_manager_get_default
{-# LINE 134 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
recentManagerAddItem :: (RecentManagerClass self, GlibString string) => self
-> string
-> IO Bool
recentManagerAddItem self uri =
liftM toBool $
withUTFString uri $ \uriPtr ->
(\(RecentManager arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_add_item argPtr1 arg2)
{-# LINE 156 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
uriPtr
recentManagerRemoveItem :: (RecentManagerClass self, GlibString string) => self
-> string
-> IO Bool
recentManagerRemoveItem self uri =
checkGError (\errorPtr ->
liftM toBool $
withUTFString uri $ \uriPtr ->
(\(RecentManager arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_remove_item argPtr1 arg2 arg3)
{-# LINE 175 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
uriPtr
errorPtr)
(\_ -> return False)
recentManagerLookupItem :: (RecentManagerClass self, GlibString string) => self
-> string
-> IO RecentInfo
recentManagerLookupItem self uri =
propagateGError $ \errorPtr ->
withUTFString uri $ \uriPtr -> do
result <- (\(RecentManager arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_lookup_item argPtr1 arg2 arg3)
{-# LINE 199 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
uriPtr
errorPtr
mkRecentInfo result
recentManagerHasItem :: (RecentManagerClass self, GlibString string) => self
-> string
-> IO Bool
recentManagerHasItem self uri =
liftM toBool $
withUTFString uri $ \uriPtr ->
(\(RecentManager arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_has_item argPtr1 arg2)
{-# LINE 217 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
uriPtr
recentManagerMoveItem :: (RecentManagerClass self, GlibString string) => self
-> string
-> string
-> IO Bool
recentManagerMoveItem self uri newUri =
checkGError ( \errorPtr ->
liftM toBool $
withUTFString newUri $ \newUriPtr ->
withUTFString uri $ \uriPtr ->
(\(RecentManager arg1) arg2 arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_move_item argPtr1 arg2 arg3 arg4)
{-# LINE 238 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
uriPtr
newUriPtr
errorPtr)
(\_ -> return False)
recentManagerGetItems :: RecentManagerClass self => self
-> IO [RecentInfo]
recentManagerGetItems self = do
glist <- (\(RecentManager arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_get_items argPtr1)
{-# LINE 254 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
list <- fromGList glist
mapM mkRecentInfo list
recentManagerPurgeItems :: RecentManagerClass self => self
-> IO Int
recentManagerPurgeItems self =
liftM fromIntegral $
propagateGError $ \errorPtr ->
(\(RecentManager arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_manager_purge_items argPtr1 arg2)
{-# LINE 270 "./Graphics/UI/Gtk/Recent/RecentManager.chs" #-}
(toRecentManager self)
errorPtr
recentManagerFilename :: (RecentManagerClass self, GlibString string) => ReadAttr self string
recentManagerFilename = readAttrFromStringProperty "filename"
recentManagerLimit :: RecentManagerClass self => Attr self Int
recentManagerLimit = newAttrFromIntProperty "limit"
recentManagerSize :: RecentManagerClass self => ReadAttr self Int
recentManagerSize = readAttrFromIntProperty "size"
recentManagerChanged :: RecentManagerClass self => Signal self (IO ())
recentManagerChanged = Signal (connect_NONE__NONE "changed")
foreign import ccall safe "gtk_recent_manager_new"
gtk_recent_manager_new :: (IO (Ptr RecentManager))
foreign import ccall safe "gtk_recent_manager_get_default"
gtk_recent_manager_get_default :: (IO (Ptr RecentManager))
foreign import ccall safe "gtk_recent_manager_add_item"
gtk_recent_manager_add_item :: ((Ptr RecentManager) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "gtk_recent_manager_remove_item"
gtk_recent_manager_remove_item :: ((Ptr RecentManager) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO CInt))))
foreign import ccall unsafe "gtk_recent_manager_lookup_item"
gtk_recent_manager_lookup_item :: ((Ptr RecentManager) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO (Ptr RecentInfo)))))
foreign import ccall safe "gtk_recent_manager_has_item"
gtk_recent_manager_has_item :: ((Ptr RecentManager) -> ((Ptr CChar) -> (IO CInt)))
foreign import ccall safe "gtk_recent_manager_move_item"
gtk_recent_manager_move_item :: ((Ptr RecentManager) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO CInt)))))
foreign import ccall safe "gtk_recent_manager_get_items"
gtk_recent_manager_get_items :: ((Ptr RecentManager) -> (IO (Ptr ())))
foreign import ccall safe "gtk_recent_manager_purge_items"
gtk_recent_manager_purge_items :: ((Ptr RecentManager) -> ((Ptr (Ptr ())) -> (IO CInt)))