The explict import Prelude after import Control.Applicative is a trick to avoid a warning.
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			623 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			623 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
{- git-annex DesktopNotify type
 | 
						|
 -
 | 
						|
 - Copyright 2014 Joey Hess <id@joeyh.name>
 | 
						|
 -
 | 
						|
 - Licensed under the GNU GPL version 3 or higher.
 | 
						|
 -}
 | 
						|
 | 
						|
module Types.DesktopNotify where
 | 
						|
 | 
						|
import Data.Monoid
 | 
						|
import Prelude
 | 
						|
 | 
						|
data DesktopNotify = DesktopNotify
 | 
						|
	{ notifyStart :: Bool
 | 
						|
	, notifyFinish :: Bool
 | 
						|
	}
 | 
						|
	deriving (Show)
 | 
						|
 | 
						|
instance Monoid DesktopNotify where
 | 
						|
	mempty = DesktopNotify False False
 | 
						|
	mappend (DesktopNotify s1 f1) (DesktopNotify s2 f2) =
 | 
						|
		DesktopNotify (s1 || s2) (f1 || f2)
 | 
						|
 | 
						|
mkNotifyStart :: DesktopNotify
 | 
						|
mkNotifyStart = DesktopNotify True False
 | 
						|
 | 
						|
mkNotifyFinish :: DesktopNotify
 | 
						|
mkNotifyFinish = DesktopNotify False True
 |