summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/GameController.cpp11
-rw-r--r--src/game/GameModel.cpp4
-rw-r--r--src/game/GameView.cpp10
3 files changed, 20 insertions, 5 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index 32e6754..0855d04 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -1028,7 +1028,16 @@ void GameController::FrameStep()
void GameController::Vote(int direction)
{
if(gameModel->GetSave() && gameModel->GetUser().ID && gameModel->GetSave()->GetID() && gameModel->GetSave()->GetVote()==0)
- gameModel->SetVote(direction);
+ {
+ try
+ {
+ gameModel->SetVote(direction);
+ }
+ catch(GameModelException & ex)
+ {
+ new ErrorMessage("Error while voting", ex.what());
+ }
+ }
}
void GameController::ChangeBrush()
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp
index c897877..9505397 100644
--- a/src/game/GameModel.cpp
+++ b/src/game/GameModel.cpp
@@ -263,6 +263,10 @@ void GameModel::SetVote(int direction)
currentSave->vote = direction;
notifySaveChanged();
}
+ else
+ {
+ throw GameModelException("Could not vote: "+Client::Ref().GetLastError());
+ }
}
}
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index c03ccf5..d95a7b9 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -873,14 +873,16 @@ void GameView::NotifySaveChanged(GameModel * sender)
reloadButton->Enabled = true;
upVoteButton->Enabled = (sender->GetSave()->GetID() && sender->GetUser().ID && sender->GetSave()->GetVote()==0);
if(sender->GetSave()->GetID() && sender->GetUser().ID && sender->GetSave()->GetVote()==1)
- upVoteButton->Appearance.BackgroundInactive = (ui::Colour(0, 200, 40));
+ upVoteButton->Appearance.BackgroundDisabled = (ui::Colour(0, 200, 40, 100));
else
- upVoteButton->Appearance.BackgroundInactive = (ui::Colour(0, 0, 0));
+ upVoteButton->Appearance.BackgroundDisabled = (ui::Colour(0, 0, 0));
+
downVoteButton->Enabled = upVoteButton->Enabled;
if(sender->GetSave()->GetID() && sender->GetUser().ID && sender->GetSave()->GetVote()==-1)
- downVoteButton->Appearance.BackgroundInactive = (ui::Colour(200, 40, 40));
+ downVoteButton->Appearance.BackgroundDisabled = (ui::Colour(200, 40, 40, 100));
else
- downVoteButton->Appearance.BackgroundInactive = (ui::Colour(0, 0, 0));
+ downVoteButton->Appearance.BackgroundDisabled = (ui::Colour(0, 0, 0));
+
tagSimulationButton->Enabled = (sender->GetSave()->GetID() && sender->GetUser().ID);
if(sender->GetSave()->GetID())
{