diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-03-22 13:50:43 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-03-22 13:50:43 (GMT) |
| commit | 23873eae719a1c0a1227a4e108a158a9ec625462 (patch) | |
| tree | d397224fa7a0d01de2f18d2449c3b5d4fcaa6638 /src/game/GameController.cpp | |
| parent | 7e3d45bbfb701a5eca3e93b589680d8651ada016 (diff) | |
| download | powder-23873eae719a1c0a1227a4e108a158a9ec625462.zip powder-23873eae719a1c0a1227a4e108a158a9ec625462.tar.gz | |
More work on Tags - display tags in Tag window and Tag button
Diffstat (limited to 'src/game/GameController.cpp')
| -rw-r--r-- | src/game/GameController.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 25f02e9..80f45ff 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -66,6 +66,17 @@ public: } }; +class GameController::TagsCallback: public ControllerCallback +{ + GameController * cc; +public: + TagsCallback(GameController * cc_) { cc = cc_; } + virtual void ControllerExit() + { + cc->gameModel->SetSave(new Save(*(cc->tagsWindow->GetSave()))); + } +}; + GameController::GameController(): search(NULL), renderOptions(NULL), @@ -338,8 +349,22 @@ void GameController::OpenLogin() void GameController::OpenTags() { - tagsWindow = new TagsController(NULL); - ui::Engine::Ref().ShowWindow(tagsWindow->GetView()); + if(gameModel->GetUser().ID) + { + if(gameModel->GetSave() && gameModel->GetSave()->GetID()) + { + tagsWindow = new TagsController(new TagsCallback(this), gameModel->GetSave()); + ui::Engine::Ref().ShowWindow(tagsWindow->GetView()); + } + else + { + new ErrorMessage("Error", "No save open"); + } + } + else + { + new ErrorMessage("Error", "You need to login to edit tags."); + } } void GameController::OpenDisplayOptions() |
