Ticket #3651: cinput_maximum_length_v1.1.patch

File cinput_maximum_length_v1.1.patch, 1.9 KB (added by Vladislav Belov, 8 years ago)
  • binaries/data/mods/public/gui/gamesetup/gamesetup_mp.xml

     
    8080                    <translatableAttribute id="caption">Server name:</translatableAttribute>
    8181                </object>
    8282
    83                 <object name="hostServerName" type="input" size="50%+10 80 100%-20 104" style="ModernInput">
     83                <object name="hostServerName" type="input" size="50%+10 80 100%-20 104" style="ModernInput" max_length="48">
    8484                    <action on="Load">
    8585                        this.caption = getDefaultGameName();
    8686                    </action>
  • source/gui/CInput.cpp

     
    110110        CStrW* pCaption = (CStrW*)m_Settings["caption"].m_pSetting;
    111111        std::wstring text = wstring_from_utf8(ev->ev.text.text);
    112112
     113        // check max length
     114        int max_length;
     115        GUI<int>::GetSetting(this, "max_length", max_length);
     116        if (max_length != 0 && (int)pCaption->length() + text.length() > max_length)
     117            return IN_HANDLED;
     118
    113119        m_WantedX = 0.0f;
    114120
    115121        if (SelectingText())
  • source/tools/XpartaMuPP/XpartaMuPP.py

     
    282282    """
    283283      Add a game
    284284    """
     285    if len(data['name']) > 48:
     286        data['name'] = data[:48]
    285287    data['players-init'] = data['players']
    286288    data['nbp-init'] = data['nbp']
    287289    data['state'] = 'init'
     
    416418  plugin_attrib = 'gamelist'
    417419
    418420  def addGame(self, data):
     421    if len(data['name']) > 48:
     422      data['name'] = data[:48]
    419423    itemXml = ET.Element("game", data)
    420424    self.xml.append(itemXml)
    421425