summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-07-17 21:21:35 (GMT)
committer jacob1 <jfu614@gmail.com>2013-07-17 21:21:35 (GMT)
commita98fb2092df8edd44917edfb97225f3611219721 (patch)
treee9d4bc2653bb998770af25f5608ea17c6a9ab28f /src/gui
parent4243987acdbd7f105366df55ef3a958181148c90 (diff)
downloadpowder-a98fb2092df8edd44917edfb97225f3611219721.zip
powder-a98fb2092df8edd44917edfb97225f3611219721.tar.gz
click a preset once to select it, twice to switch to deco set tool. Prevent changing middle selected element in the deco editor
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/game/GameController.cpp3
-rw-r--r--src/gui/game/GameModel.cpp10
2 files changed, 10 insertions, 3 deletions
diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp
index bd69f2b..6b3e4f2 100644
--- a/src/gui/game/GameController.cpp
+++ b/src/gui/game/GameController.cpp
@@ -974,7 +974,6 @@ void GameController::SetColour(ui::Colour colour)
void GameController::SetActiveMenu(int menuID)
{
gameModel->SetActiveMenu(menuID);
- vector<Menu*> menuList = gameModel->GetMenuList();
if(menuID == SC_DECO)
gameModel->SetColourSelectorVisibility(true);
else
@@ -998,6 +997,8 @@ Tool * GameController::GetActiveTool(int selection)
void GameController::SetActiveTool(int toolSelection, Tool * tool)
{
+ if (gameModel->GetActiveMenu() == SC_DECO && toolSelection == 2)
+ toolSelection = 0;
gameModel->SetActiveTool(toolSelection, tool);
gameModel->GetRenderer()->gravityZonesEnabled = false;
gameModel->SetLastTool(tool);
diff --git a/src/gui/game/GameModel.cpp b/src/gui/game/GameModel.cpp
index fdd70dc..22c5e3c 100644
--- a/src/gui/game/GameModel.cpp
+++ b/src/gui/game/GameModel.cpp
@@ -333,8 +333,8 @@ void GameModel::BuildMenus()
menuList[SC_DECO]->AddTool(new DecorationTool(DECO_MULTIPLY, "MUL", "Colour blending: Multiply.", 0, 0, 0, "DEFAULT_DECOR_MUL"));
menuList[SC_DECO]->AddTool(new DecorationTool(DECO_DIVIDE, "DIV", "Colour blending: Divide." , 0, 0, 0, "DEFAULT_DECOR_DIV"));
menuList[SC_DECO]->AddTool(new DecorationTool(DECO_SMUDGE, "SMDG", "Smudge tool, blends surrounding deco together.", 0, 0, 0, "DEFAULT_DECOR_SMDG"));
- menuList[SC_DECO]->AddTool(new DecorationTool(DECO_DRAW, "SET", "Draw decoration (No blending).", 0, 0, 0, "DEFAULT_DECOR_SET"));
menuList[SC_DECO]->AddTool(new DecorationTool(DECO_CLEAR, "CLR", "Erase any set decoration.", 0, 0, 0, "DEFAULT_DECOR_CLR"));
+ menuList[SC_DECO]->AddTool(new DecorationTool(DECO_DRAW, "SET", "Draw decoration (No blending).", 0, 0, 0, "DEFAULT_DECOR_SET"));
decoToolset[0] = GetToolFromIdentifier("DEFAULT_DECOR_SET");
decoToolset[1] = GetToolFromIdentifier("DEFAULT_DECOR_CLR");
decoToolset[2] = GetToolFromIdentifier("DEFAULT_UI_SAMPLE");
@@ -723,7 +723,13 @@ int GameModel::GetZoomFactor()
void GameModel::SetActiveColourPreset(int preset)
{
- activeColourPreset = preset;
+ if (activeColourPreset != preset)
+ activeColourPreset = preset;
+ else
+ {
+ activeTools[0] = GetToolFromIdentifier("DEFAULT_DECOR_SET");
+ notifyActiveToolsChanged();
+ }
notifyColourActivePresetChanged();
}