summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-17 15:57:12 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-17 15:57:12 (GMT)
commit2329f98f0af9dffda5375aca7b05f9e76a84d06a (patch)
treea0385c88d74e970343a689fed417e5e8d5f05a3d /src
parent52c9a9052a63cf124c1fca7504c267a03553d8b0 (diff)
downloadpowder-2329f98f0af9dffda5375aca7b05f9e76a84d06a.zip
powder-2329f98f0af9dffda5375aca7b05f9e76a84d06a.tar.gz
Varying update notifications
Diffstat (limited to 'src')
-rw-r--r--src/game/GameController.cpp13
-rw-r--r--src/game/GameView.cpp10
2 files changed, 18 insertions, 5 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index 8ece34b..260d99a 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -681,7 +681,18 @@ void GameController::NotifyUpdateAvailable(Client * sender)
}
};
- gameModel->AddNotification(new UpdateNotification(this, "A new version is available - click here to download"));
+ switch(sender->GetUpdateInfo().Type)
+ {
+ case UpdateInfo::Snapshot:
+ gameModel->AddNotification(new UpdateNotification(this, std::string("A new snapshot is available - click here to update")));
+ break;
+ case UpdateInfo::Stable:
+ gameModel->AddNotification(new UpdateNotification(this, std::string("A new version is available - click here to update")));
+ break;
+ case UpdateInfo::Beta:
+ gameModel->AddNotification(new UpdateNotification(this, std::string("A new beta is available - click here to update")));
+ break;
+ }
}
void GameController::RemoveNotification(Notification * notification)
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index dd03987..8adb9e1 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -975,16 +975,18 @@ void GameView::NotifyNotificationsChanged(GameModel * sender)
}
};
- for(std::vector<ui::Component*>::iterator iter = notificationComponents.begin(); iter != notificationComponents.end(); ++iter) {
- RemoveComponent(*iter);
- delete *iter;
+ for(std::vector<ui::Component*>::const_iterator iter = notificationComponents.begin(), end = notificationComponents.end(); iter != end; ++iter) {
+ ui::Component * cNotification = *iter;
+ RemoveComponent(cNotification);
+ delete cNotification;
}
notificationComponents.clear();
+
std::vector<Notification*> notifications = sender->GetNotifications();
int currentY = YRES-17;
- for(std::vector<Notification*>::iterator iter = notifications.begin(); iter != notifications.end(); ++iter)
+ for(std::vector<Notification*>::iterator iter = notifications.begin(), end = notifications.end(); iter != end; ++iter)
{
int width = (Graphics::textwidth((*iter)->Message.c_str()))+8;
ui::Button * tempButton = new ui::Button(ui::Point(XRES-width-22, currentY), ui::Point(width, 15), (*iter)->Message);