summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-07-16 20:55:39 (GMT)
committer jacob1 <jfu614@gmail.com>2013-07-16 20:55:39 (GMT)
commit9628a11245acc1b2c8dd213a4dd30a3fb9930e01 (patch)
tree7c2579d816ecc1033597e8c5de80f3f355180a47
parentd4ff77843426201c6df61f6ae8550bc91a7ac23c (diff)
downloadpowder-9628a11245acc1b2c8dd213a4dd30a3fb9930e01.zip
powder-9628a11245acc1b2c8dd213a4dd30a3fb9930e01.tar.gz
save to server button is disabled when not logged in, but tags are viewable (read only)
-rw-r--r--src/gui/game/GameController.cpp17
-rw-r--r--src/gui/game/GameView.cpp6
-rw-r--r--src/gui/game/GameView.h33
-rw-r--r--src/gui/tags/TagsView.cpp6
4 files changed, 33 insertions, 29 deletions
diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp
index 241bc9e..bd69f2b 100644
--- a/src/gui/game/GameController.cpp
+++ b/src/gui/game/GameController.cpp
@@ -1162,21 +1162,16 @@ void GameController::OpenColourPicker()
void GameController::OpenTags()
{
- if(gameModel->GetUser().ID)
+ if(gameModel->GetSave() && gameModel->GetSave()->GetID())
{
- 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");
- }
+ if (tagsWindow)
+ delete tagsWindow;
+ tagsWindow = new TagsController(new TagsCallback(this), gameModel->GetSave());
+ ui::Engine::Ref().ShowWindow(tagsWindow->GetView());
}
else
{
- new ErrorMessage("Error", "You need to login to edit tags.");
+ new ErrorMessage("Error", "No save open");
}
}
diff --git a/src/gui/game/GameView.cpp b/src/gui/game/GameView.cpp
index 1b811e0..027f06b 100644
--- a/src/gui/game/GameView.cpp
+++ b/src/gui/game/GameView.cpp
@@ -836,6 +836,7 @@ void GameView::NotifyUserChanged(GameModel * sender)
((SplitButton*)loginButton)->SetShowSplit(true);
((SplitButton*)loginButton)->SetRightToolTip("Edit profile");
}
+ saveSimulationButtonEnabled = sender->GetUser().ID;
NotifySaveChanged(sender);
}
@@ -892,7 +893,7 @@ void GameView::NotifySaveChanged(GameModel * sender)
downVoteButton->Appearance.BorderDisabled = ui::Colour(100, 100, 100);
}
- tagSimulationButton->Enabled = (sender->GetSave()->GetID() && sender->GetUser().ID);
+ tagSimulationButton->Enabled = sender->GetSave()->GetID();
if(sender->GetSave()->GetID())
{
std::stringstream tagsStream;
@@ -951,6 +952,7 @@ void GameView::NotifySaveChanged(GameModel * sender)
tagSimulationButton->SetText("[no tags set]");
currentSaveType = 0;
}
+ saveSimulationButton->Enabled = (saveSimulationButtonEnabled || ctrlBehaviour);
c->HistorySnapshot();
}
@@ -1813,6 +1815,7 @@ void GameView::enableCtrlBehaviour()
//Show HDD save & load buttons
saveSimulationButton->Appearance.BackgroundInactive = saveSimulationButton->Appearance.BackgroundHover = ui::Colour(255, 255, 255);
saveSimulationButton->Appearance.TextInactive = saveSimulationButton->Appearance.TextHover = ui::Colour(0, 0, 0);
+ saveSimulationButton->Enabled = true;
searchButton->Appearance.BackgroundInactive = searchButton->Appearance.BackgroundHover = ui::Colour(255, 255, 255);
searchButton->Appearance.TextInactive = searchButton->Appearance.TextHover = ui::Colour(0, 0, 0);
if (currentSaveType == 2)
@@ -1837,6 +1840,7 @@ void GameView::disableCtrlBehaviour()
saveSimulationButton->Appearance.BackgroundInactive = ui::Colour(0, 0, 0);
saveSimulationButton->Appearance.BackgroundHover = ui::Colour(20, 20, 20);
saveSimulationButton->Appearance.TextInactive = saveSimulationButton->Appearance.TextHover = ui::Colour(255, 255, 255);
+ saveSimulationButton->Enabled = saveSimulationButtonEnabled;
searchButton->Appearance.BackgroundInactive = ui::Colour(0, 0, 0);
searchButton->Appearance.BackgroundHover = ui::Colour(20, 20, 20);
searchButton->Appearance.TextInactive = searchButton->Appearance.TextHover = ui::Colour(255, 255, 255);
diff --git a/src/gui/game/GameView.h b/src/gui/game/GameView.h
index f7f6361..f37c34b 100644
--- a/src/gui/game/GameView.h
+++ b/src/gui/game/GameView.h
@@ -81,15 +81,16 @@ private:
float lastLogEntry;
ui::Button * scrollBar;
ui::Button * searchButton;
- ui::Button * reloadButton;
- ui::Button * saveSimulationButton;
- ui::Button * downVoteButton;
- ui::Button * upVoteButton;
- ui::Button * tagSimulationButton;
- ui::Button * clearSimButton;
- ui::Button * loginButton;
- ui::Button * simulationOptionButton;
- ui::Button * displayModeButton;
+ ui::Button * reloadButton;
+ ui::Button * saveSimulationButton;
+ bool saveSimulationButtonEnabled;
+ ui::Button * downVoteButton;
+ ui::Button * upVoteButton;
+ ui::Button * tagSimulationButton;
+ ui::Button * clearSimButton;
+ ui::Button * loginButton;
+ ui::Button * simulationOptionButton;
+ ui::Button * displayModeButton;
ui::Button * pauseButton;
ui::Point currentMouse;
@@ -125,18 +126,18 @@ private:
void enableAltBehaviour();
void disableAltBehaviour();
public:
- GameView();
- virtual ~GameView();
+ GameView();
+ virtual ~GameView();
- //Breaks MVC, but any other way is going to be more of a mess.
- ui::Point GetMousePosition();
- void SetSample(SimulationSample sample);
+ //Breaks MVC, but any other way is going to be more of a mess.
+ ui::Point GetMousePosition();
+ void SetSample(SimulationSample sample);
void SetHudEnable(bool hudState);
bool GetHudEnable();
void SetDebugHUD(bool mode);
bool GetDebugHUD();
- bool CtrlBehaviour(){ return ctrlBehaviour; }
- bool ShiftBehaviour(){ return shiftBehaviour; }
+ bool CtrlBehaviour(){ return ctrlBehaviour; }
+ bool ShiftBehaviour(){ return shiftBehaviour; }
void ExitPrompt();
SelectMode GetSelectMode() { return selectMode; }
void BeginStampSelection();
diff --git a/src/gui/tags/TagsView.cpp b/src/gui/tags/TagsView.cpp
index 1cef7be..e3812d1 100644
--- a/src/gui/tags/TagsView.cpp
+++ b/src/gui/tags/TagsView.cpp
@@ -56,9 +56,13 @@ TagsView::TagsView():
addButton->SetActionCallback(new AddTagAction(this));
AddComponent(addButton);
- title = new ui::Label(ui::Point(5, 5), ui::Point(185, 16), "Manage tags: \bgTags are only to \nbe used to improve search results");
+ if (!Client::Ref().GetAuthUser().ID)
+ addButton->Enabled = false;
+
+ title = new ui::Label(ui::Point(5, 5), ui::Point(185, 28), "Manage tags: \bgTags are only to \nbe used to improve search results");
title->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
title->Appearance.VerticalAlign = ui::Appearance::AlignTop;
+ title->SetMultiline(true);
AddComponent(title);
}