summaryrefslogtreecommitdiff
path: root/Assistant/Alert.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-11-23 12:39:36 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-11-23 13:27:52 -0400
commit3e72d35e75dccdcd4b498e6b30a5ad9b1c448a71 (patch)
treeb82f22104607b3da7fc5e7920d87544babbecc45 /Assistant/Alert.hs
parentec8edd25c6917ad10dc129bbaebffdd50afe0d51 (diff)
better UI flow through upgrade process
Move button to enable automatic upgrades to an alert displayed after successful upgrade. Unclutters the UI and makes psychological sense.
Diffstat (limited to 'Assistant/Alert.hs')
-rw-r--r--Assistant/Alert.hs51
1 files changed, 25 insertions, 26 deletions
diff --git a/Assistant/Alert.hs b/Assistant/Alert.hs
index 25a75eeab..e7d3e103d 100644
--- a/Assistant/Alert.hs
+++ b/Assistant/Alert.hs
@@ -15,6 +15,7 @@ import Assistant.Alert.Utility
import qualified Remote
import Utility.Tense
import Logs.Transfer
+import Types.Distribution
import Data.String
import qualified Data.Text as T
@@ -216,44 +217,42 @@ notFsckedAlert mr button = Alert
, alertData = []
}
-canUpgradeAlert :: AlertPriority -> AlertButton -> Alert
-canUpgradeAlert priority button = Alert
- { alertHeader = Just $ fromString $
- if priority >= High
- then "An important upgrade of git-annex is available!"
- else "An upgrade of git-annex is available."
+baseUpgradeAlert :: AlertButton -> TenseText -> Alert
+baseUpgradeAlert button message = Alert
+ { alertHeader = Just message
, alertIcon = Just UpgradeIcon
- , alertPriority = priority
+ , alertPriority = High
, alertButtons = [button]
, alertClosable = True
, alertClass = Message
, alertMessageRender = renderData
, alertCounter = 0
, alertBlockDisplay = True
- , alertName = Just CanUpgradeAlert
- , alertCombiner = Just $ dataCombiner $ \_old new -> new
+ , alertName = Just UpgradeAlert
+ , alertCombiner = Just $ fullCombiner $ \new _old -> new
, alertData = []
}
-upgradeReadyAlert :: [AlertButton] -> Alert
-upgradeReadyAlert buttons = Alert
- { alertHeader = Just $ fromString
- "A new version of git-annex has been installed."
- , alertIcon = Just UpgradeIcon
- , alertPriority = High
- , alertButtons = buttons
- , alertClosable = True
- , alertClass = Message
- , alertMessageRender = renderData
- , alertCounter = 0
- , alertBlockDisplay = True
- , alertName = Just UpgradeReadyAlert
- , alertCombiner = Just $ dataCombiner $ \_old new -> new
- , alertData = []
- }
+canUpgradeAlert :: AlertPriority -> AlertButton -> Alert
+canUpgradeAlert priority button =
+ (baseUpgradeAlert button $ fromString msg)
+ { alertPriority = priority }
+ where
+ msg = if priority >= High
+ then "An important upgrade of git-annex is available!"
+ else "An upgrade of git-annex is available."
+
+upgradeReadyAlert :: AlertButton -> Alert
+upgradeReadyAlert button = baseUpgradeAlert button $
+ fromString "A new version of git-annex has been installed."
upgradingAlert :: Alert
-upgradingAlert = activityAlert Nothing [fromString "Upgrading git-annex"]
+upgradingAlert = activityAlert Nothing [ fromString "Upgrading git-annex" ]
+
+upgradeFinishedAlert :: AlertButton -> GitAnnexVersion -> Alert
+upgradeFinishedAlert button version =
+ baseUpgradeAlert button $ fromString $
+ "Finished upgrading git-annex to version " ++ version
brokenRepositoryAlert :: AlertButton -> Alert
brokenRepositoryAlert = errorAlert "Serious problems have been detected with your repository. This needs your immediate attention!"