diff --git a/source/glest_game/facilities/components.cpp b/source/glest_game/facilities/components.cpp index 72a228b5..27c60fcf 100644 --- a/source/glest_game/facilities/components.cpp +++ b/source/glest_game/facilities/components.cpp @@ -280,6 +280,7 @@ GraphicLabel::GraphicLabel() { editModeEnabled = false; maxEditWidth = -1; maxEditRenderWidth = -1; + isPassword = false; } void GraphicLabel::init(int x, int y, int w, int h, bool centered, Vec3f textColor, bool wordWrap) { diff --git a/source/glest_game/facilities/components.h b/source/glest_game/facilities/components.h index 8a04f426..8be51991 100644 --- a/source/glest_game/facilities/components.h +++ b/source/glest_game/facilities/components.h @@ -145,6 +145,7 @@ private: int maxEditRenderWidth; vector textCharLength; + bool isPassword; public: GraphicLabel(); @@ -158,6 +159,9 @@ public: void addTextCharLengthToList(int length) { textCharLength.push_back(length); } void deleteTextCharLengthFromList() { textCharLength.pop_back(); } + bool getIsPassword() const { return isPassword; } + void setIsPassword(bool value) { isPassword = value; } + bool getCentered() const {return centered;} void setCentered(bool centered) {this->centered= centered;} diff --git a/source/glest_game/graphics/renderer.cpp b/source/glest_game/graphics/renderer.cpp index 351727b6..7e407286 100644 --- a/source/glest_game/graphics/renderer.cpp +++ b/source/glest_game/graphics/renderer.cpp @@ -2980,19 +2980,25 @@ void Renderer::renderLabel(GraphicLabel *label,const Vec4f *color) { textPos= Vec2i(x, y+h/4); } + string renderTextStr = lines[i]; + if(label->getIsPassword() == true) { + renderTextStr = "*****"; + } + if(color != NULL) { if(renderText3DEnabled == true) { //renderText3D(lines[i], label->getFont3D(), (*color), textPos.x, textPos.y, label->getCentered()); //printf("Text Render3D [%s] font3d [%p]\n",lines[i].c_str(),label->getFont3D()); //printf("Label render C\n"); - renderTextBoundingBox3D(lines[i], label->getFont3D(), (*color), + + renderTextBoundingBox3D(renderTextStr, label->getFont3D(), (*color), x, y, w, h, label->getCenteredW(),label->getCenteredH(), label->getEditModeEnabled(),label->getMaxEditWidth(), label->getMaxEditRenderWidth()); } else { //printf("Label render D\n"); - renderText(lines[i], label->getFont(), (*color), textPos.x, textPos.y, label->getCentered()); + renderText(renderTextStr, label->getFont(), (*color), textPos.x, textPos.y, label->getCentered()); } } else { @@ -3000,7 +3006,7 @@ void Renderer::renderLabel(GraphicLabel *label,const Vec4f *color) { //renderText3D(lines[i], label->getFont3D(), GraphicComponent::getFade(), textPos.x, textPos.y, label->getCentered()); //printf("Text Render3D [%s] font3d [%p]\n",lines[i].c_str(),label->getFont3D()); //printf("Label render E\n"); - renderTextBoundingBox3D(lines[i], label->getFont3D(), + renderTextBoundingBox3D(renderTextStr, label->getFont3D(), GraphicComponent::getFade(), x, y, w, h, label->getCenteredW(),label->getCenteredH(), label->getEditModeEnabled(),label->getMaxEditWidth(), @@ -3008,7 +3014,7 @@ void Renderer::renderLabel(GraphicLabel *label,const Vec4f *color) { } else { //printf("Label render F\n"); - renderText(lines[i], label->getFont(), GraphicComponent::getFade(), textPos.x, textPos.y, label->getCentered()); + renderText(renderTextStr, label->getFont(), GraphicComponent::getFade(), textPos.x, textPos.y, label->getCentered()); } } } diff --git a/source/glest_game/menu/menu_state_options.cpp b/source/glest_game/menu/menu_state_options.cpp index ff0974d1..0db9929c 100644 --- a/source/glest_game/menu/menu_state_options.cpp +++ b/source/glest_game/menu/menu_state_options.cpp @@ -640,21 +640,22 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelTransifexUser.setText(config.getString("TranslationGetURLUser","")); labelTransifexPwdLabel.registerGraphicComponent(containerName,"labelTransifexPwdLabel"); - labelTransifexPwdLabel.init(buttonStartPos + 160 ,buttonRowPos - 20); + labelTransifexPwdLabel.init(buttonStartPos + 200 ,buttonRowPos - 20); labelTransifexPwdLabel.setText(lang.get("TransifexPwd")); labelTransifexPwd.registerGraphicComponent(containerName,"labelTransifexPwd"); - labelTransifexPwd.init(buttonStartPos + 160 ,buttonRowPos - 40); + labelTransifexPwd.init(buttonStartPos + 200 ,buttonRowPos - 40); + labelTransifexPwd.setIsPassword(true); labelTransifexPwd.setMaxEditWidth(60); labelTransifexPwd.setMaxEditRenderWidth(120); labelTransifexPwd.setText(config.getString("TranslationGetURLPassword","")); labelTransifexI18NLabel.registerGraphicComponent(containerName,"labelTransifexI18NLabel"); - labelTransifexI18NLabel.init(buttonStartPos + 300 ,buttonRowPos - 20); + labelTransifexI18NLabel.init(buttonStartPos + 360 ,buttonRowPos - 20); labelTransifexI18NLabel.setText(lang.get("TransifexI18N")); labelTransifexI18N.registerGraphicComponent(containerName,"labelTransifexI18N"); - labelTransifexI18N.init(buttonStartPos + 300 ,buttonRowPos - 40); + labelTransifexI18N.init(buttonStartPos + 360 ,buttonRowPos - 40); labelTransifexI18N.setMaxEditWidth(3); labelTransifexI18N.setText(config.getString("TranslationGetURLLanguage","en")); @@ -1240,6 +1241,9 @@ void MenuStateOptions::mouseClick(int x, int y, MouseButton mouseButton){ replaceAll(fileData,"\\n","\n"); replaceAll(fileData,"$requires-newline$","\\n"); + replaceAll(fileData,""","\""); + + printf("PARSED Language text\n[%s]\n",fileData.c_str()); //vector languageName; @@ -1688,6 +1692,13 @@ void MenuStateOptions::saveConfig(){ void MenuStateOptions::setActiveInputLable(GraphicLabel *newLable) { MenuState::setActiveInputLabel(newLable,&activeInputLabel); + + if(newLable == &labelTransifexPwd) { + labelTransifexPwd.setIsPassword(false); + } + else { + labelTransifexPwd.setIsPassword(true); + } } }}//end namespace