diff options
Diffstat (limited to 'src/gui/game/GameView.cpp')
| -rw-r--r-- | src/gui/game/GameView.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/gui/game/GameView.cpp b/src/gui/game/GameView.cpp index c11a59d..676eec8 100644 --- a/src/gui/game/GameView.cpp +++ b/src/gui/game/GameView.cpp @@ -46,6 +46,7 @@ public: { } + void SetRightToolTip(std::string tooltip) { toolTip2 = tooltip; } bool GetShowSplit() { return showSplit; } void SetShowSplit(bool split) { showSplit = split; } SplitButtonAction * GetSplitActionCallback() { return splitActionCallback; } @@ -335,20 +336,24 @@ GameView::GameView(): clearSimButton->SetActionCallback(new ClearSimAction(this)); AddComponent(clearSimButton); - class LoginAction : public ui::ButtonAction + class LoginAction : public SplitButtonAction { GameView * v; public: LoginAction(GameView * _v) { v = _v; } - void ActionCallback(ui::Button * sender) + void ActionCallbackLeft(ui::Button * sender) { v->c->OpenLogin(); } + void ActionCallbackRight(ui::Button * sender) + { + v->c->OpenProfile(); + } }; - loginButton = new ui::Button(ui::Point(Size.X-141, Size.Y-16), ui::Point(92, 15), "[sign in]", "Sign into simulation server"); + loginButton = new SplitButton(ui::Point(Size.X-141, Size.Y-16), ui::Point(92, 15), "[sign in]", "Sign into simulation server", "Edit Profile", 19); loginButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; loginButton->SetIcon(IconLogin); - loginButton->SetActionCallback(new LoginAction(this)); + ((SplitButton*)loginButton)->SetSplitActionCallback(new LoginAction(this)); AddComponent(loginButton); class SimulationOptionAction : public ui::ButtonAction @@ -802,10 +807,14 @@ void GameView::NotifyUserChanged(GameModel * sender) if(!sender->GetUser().ID) { loginButton->SetText("[sign in]"); + ((SplitButton*)loginButton)->SetShowSplit(false); + ((SplitButton*)loginButton)->SetRightToolTip("Sign in to simulation server"); } else { loginButton->SetText(sender->GetUser().Username); + ((SplitButton*)loginButton)->SetShowSplit(true); + ((SplitButton*)loginButton)->SetRightToolTip("Edit profile"); } NotifySaveChanged(sender); } |
