From e78edad4c640011d4b40005407f1b30cb280cf9e Mon Sep 17 00:00:00 2001 From: Henrique Santiago Date: Sun, 5 Aug 2012 15:26:08 -0300 Subject: [PATCH] Widget text upper case option, change gimp plugin mode to executable --- modules/client_entergame/entergame.otui | 10 +++++----- modules/client_skins/skins/default/styles/labels.otui | 2 ++ modules/client_topmenu/topmenu.otui | 1 - src/framework/ui/uiwidget.h | 4 +++- src/framework/ui/uiwidgettext.cpp | 7 ++++++- tools/gimp-bitmap-generator/generate_bitmap_font.py | 0 6 files changed, 16 insertions(+), 8 deletions(-) mode change 100644 => 100755 tools/gimp-bitmap-generator/generate_bitmap_font.py diff --git a/modules/client_entergame/entergame.otui b/modules/client_entergame/entergame.otui index 4a407453..885cd7f7 100644 --- a/modules/client_entergame/entergame.otui +++ b/modules/client_entergame/entergame.otui @@ -5,7 +5,7 @@ MainWindow @onEnter: EnterGame.doLogin() @onEscape: EnterGame.hide() - Label + MenuLabel !text: tr('Account name') anchors.left: parent.left anchors.top: parent.top @@ -18,7 +18,7 @@ MainWindow anchors.top: prev.bottom margin-top: 2 - Label + MenuLabel !text: tr('Password') anchors.left: prev.left anchors.top: prev.bottom @@ -32,7 +32,7 @@ MainWindow anchors.top: prev.bottom margin-top: 2 - Label + MenuLabel id: serverLabel !text: tr('Server') anchors.left: prev.left @@ -48,7 +48,7 @@ MainWindow anchors.top: serverLabel.bottom margin-top: 2 - Label + MenuLabel id: protocolLabel !text: tr('Protocol') anchors.left: parent.left @@ -65,7 +65,7 @@ MainWindow margin-top: 2 width: 90 - Label + MenuLabel id: portLabel !text: tr('Port') anchors.right: parent.right diff --git a/modules/client_skins/skins/default/styles/labels.otui b/modules/client_skins/skins/default/styles/labels.otui index 64fa16c7..88833000 100644 --- a/modules/client_skins/skins/default/styles/labels.otui +++ b/modules/client_skins/skins/default/styles/labels.otui @@ -17,6 +17,8 @@ FlatLabel < UILabel $disabled: color: #aaaaaa88 +MenuLabel < Label + GameLabel < UILabel font: verdana-11px-antialised color: #bbbbbb diff --git a/modules/client_topmenu/topmenu.otui b/modules/client_topmenu/topmenu.otui index 3ce681e1..60189dd4 100644 --- a/modules/client_topmenu/topmenu.otui +++ b/modules/client_topmenu/topmenu.otui @@ -43,7 +43,6 @@ TopPanel < Panel image-repeated: true focusable: false - TopPanel id: topMenu anchors.top: parent.top diff --git a/src/framework/ui/uiwidget.h b/src/framework/ui/uiwidget.h index 12049737..4af6605d 100644 --- a/src/framework/ui/uiwidget.h +++ b/src/framework/ui/uiwidget.h @@ -467,17 +467,19 @@ protected: Point m_textOffset; stdext::boolean m_textWrap; stdext::boolean m_textAutoResize; + stdext::boolean m_textOnlyUpperCase; BitmapFontPtr m_font; public: void resizeToText() { setSize(getTextSize()); } void clearText() { setText(""); } - void setText(const std::string& text); + void setText(std::string text); void setTextAlign(Fw::AlignmentFlag align) { m_textAlign = align; updateText(); } void setTextOffset(const Point& offset) { m_textOffset = offset; updateText(); } void setTextWrap(bool textWrap) { m_textWrap = textWrap; updateText(); } void setTextAutoResize(bool textAutoResize) { m_textAutoResize = textAutoResize; updateText(); } + void setTextOnlyUpperCase(bool textOnlyUpperCase) { m_textOnlyUpperCase = textOnlyUpperCase; setText(m_text); } void setFont(const std::string& fontName); std::string getText() { return m_text; } diff --git a/src/framework/ui/uiwidgettext.cpp b/src/framework/ui/uiwidgettext.cpp index 9d013495..50aa0007 100644 --- a/src/framework/ui/uiwidgettext.cpp +++ b/src/framework/ui/uiwidgettext.cpp @@ -69,6 +69,8 @@ void UIWidget::parseTextStyle(const OTMLNodePtr& styleNode) setTextWrap(node->value()); else if(node->tag() == "text-auto-resize") setTextAutoResize(node->value()); + else if(node->tag() == "text-only-upper-case") + setTextOnlyUpperCase(node->value()); else if(node->tag() == "font") setFont(node->value()); } @@ -103,8 +105,11 @@ void UIWidget::onFontChange(const std::string& font) callLuaField("onFontChange", font); } -void UIWidget::setText(const std::string& text) +void UIWidget::setText(std::string text) { + if(m_textOnlyUpperCase) + std::transform(text.begin(), text.end(), text.begin(), toupper); + if(m_text == text) return; diff --git a/tools/gimp-bitmap-generator/generate_bitmap_font.py b/tools/gimp-bitmap-generator/generate_bitmap_font.py old mode 100644 new mode 100755