summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-06-20 15:19:31 (GMT)
committer jacob1 <jfu614@gmail.com>2013-06-20 15:19:31 (GMT)
commitfcff2ecc7fdaf93c39086fa52ae6608982fd509c (patch)
tree830284e4034e30b88b23fe9fd90a5ab3cafb3c6c
parent06fb97bc40e23af63557b6c1b6b50b7898fad1b0 (diff)
downloadpowder-fcff2ecc7fdaf93c39086fa52ae6608982fd509c.zip
powder-fcff2ecc7fdaf93c39086fa52ae6608982fd509c.tar.gz
fix message when banned not fitting in the window, also partially fix issue #98 but needs to be done from the server
-rw-r--r--src/gui/login/LoginModel.cpp3
-rw-r--r--src/gui/login/LoginView.cpp22
2 files changed, 18 insertions, 7 deletions
diff --git a/src/gui/login/LoginModel.cpp b/src/gui/login/LoginModel.cpp
index 5b70c2c..5aa7e1e 100644
--- a/src/gui/login/LoginModel.cpp
+++ b/src/gui/login/LoginModel.cpp
@@ -20,6 +20,9 @@ void LoginModel::Login(string username, string password)
break;
case LoginError:
statusText = "Error: " + Client::Ref().GetLastError();
+ int banStart = statusText.find(". Ban expire in"); //TODO: temporary, remove this when the ban message is fixed
+ if (banStart != statusText.npos)
+ statusText.replace(banStart, 15, ". Login at http://powdertoy.co.uk in order to see the full ban reason. Ban expires in");
break;
}
notifyStatusChanged();
diff --git a/src/gui/login/LoginView.cpp b/src/gui/login/LoginView.cpp
index 8ebbeb5..e1e5630 100644
--- a/src/gui/login/LoginView.cpp
+++ b/src/gui/login/LoginView.cpp
@@ -41,7 +41,9 @@ LoginView::LoginView():
targetSize = Size;
FocusComponent(usernameField);
- infoLabel->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; infoLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
+ infoLabel->Appearance.HorizontalAlign = ui::Appearance::AlignCentre;
+ infoLabel->Appearance.VerticalAlign = ui::Appearance::AlignTop;
+ infoLabel->SetMultiline(true);
infoLabel->Visible = false;
AddComponent(infoLabel);
@@ -56,14 +58,17 @@ LoginView::LoginView():
cancelButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
cancelButton->SetActionCallback(new CancelAction(this));
AddComponent(titleLabel);
- titleLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; titleLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
+ titleLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
+ titleLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
AddComponent(usernameField);
usernameField->Appearance.icon = IconUsername;
- usernameField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; usernameField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
+ usernameField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
+ usernameField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
AddComponent(passwordField);
passwordField->Appearance.icon = IconPassword;
- passwordField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; passwordField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
+ passwordField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
+ passwordField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
passwordField->SetHidden(true);
}
@@ -87,12 +92,15 @@ void LoginView::OnTryExit(ExitMethod method)
void LoginView::NotifyStatusChanged(LoginModel * sender)
{
- if(!infoLabel->GetText().length() && sender->GetStatusText().length())
+ if (infoLabel->Visible)
+ targetSize.Y -= infoLabel->Size.Y+2;
+ infoLabel->SetText(sender->GetStatusText());
+ infoLabel->AutoHeight();
+ if (sender->GetStatusText().length())
{
- targetSize = Size+ui::Point(0, 18);
+ targetSize.Y += infoLabel->Size.Y+2;
infoLabel->Visible = true;
}
- infoLabel->SetText(sender->GetStatusText());
if(sender->GetStatus())
{
c->Exit();