Author: ai0867
Date: Wed Oct 12 18:41:16 2011
New Revision: 51451

URL: http://svn.gna.org/viewcvs/wesnoth?rev=51451&view=rev
Log:
Partially restore r51335, which fixes bug #18745. This version if flawed 
though, and does not yet work for female units.

Modified:
    trunk/src/dialogs.cpp
    trunk/src/display.cpp
    trunk/src/help.cpp
    trunk/src/reports.cpp
    trunk/src/unit.hpp
    trunk/src/unit_abilities.cpp
    trunk/src/unit_types.cpp
    trunk/src/unit_types.hpp

Modified: trunk/src/dialogs.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/dialogs.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/dialogs.cpp (original)
+++ trunk/src/dialogs.cpp Wed Oct 12 18:41:16 2011
@@ -942,8 +942,8 @@
        det.traits = utils::join(u.trait_names(), ", ");
 
        //we filter to remove the tooltips (increment by 2)
-       const std::vector<std::string> &abilities = u.ability_tooltips(true);
-       for(std::vector<std::string>::const_iterator a = abilities.begin();
+       const std::vector<t_string> &abilities = u.ability_tooltips(true);
+       for(std::vector<t_string>::const_iterator a = abilities.begin();
                 a != abilities.end(); a+=2) {
                det.abilities.push_back(*a);
        }

Modified: trunk/src/display.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/display.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/display.cpp (original)
+++ trunk/src/display.cpp Wed Oct 12 18:41:16 2011
@@ -2212,6 +2212,7 @@
        SDL_Rect &rect = reportRects_[report_name];
        const SDL_Rect &new_rect = item->location(screen_area());
        surface &surf = reportSurfaces_[report_name];
+       /// @todo check to see if reports_ is ever updated
        config &report = reports_[report_name];
 
        // Report and its location is unchanged since last time. Do nothing.
@@ -2375,10 +2376,10 @@
                }
 
                skip_element:
-               t = (*elements.first)["tooltip"].str();
+               t = (*elements.first)["tooltip"].t_str().base_str();
                if (!t.empty()) {
                        if (!used_ellipsis) {
-                               tooltips::add_tooltip(area, t, 
(*elements.first)["help"]);
+                               tooltips::add_tooltip(area, t, 
(*elements.first)["help"].t_str().base_str());
                        } else {
                                // Collect all tooltips for the ellipsis.
                                // TODO: need a better separator

Modified: trunk/src/help.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/help.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/help.cpp (original)
+++ trunk/src/help.cpp Wed Oct 12 18:41:16 2011
@@ -1180,13 +1180,13 @@
                        abil_vecs[0] = &type.abilities();
                        abil_vecs[1] = &type.adv_abilities();
 
-                       std::vector<std::string> const* desc_vecs[2];
+                       std::vector<t_string> const* desc_vecs[2];
                        desc_vecs[0] = &type.ability_tooltips();
                        desc_vecs[1] = &type.adv_ability_tooltips();
 
                        for(int i=0; i<2; ++i) {
                                std::vector<t_string> const& abil_vec = 
*abil_vecs[i];
-                               std::vector<std::string> const& desc_vec = 
*desc_vecs[i];
+                               std::vector<t_string> const& desc_vec = 
*desc_vecs[i];
                                for(size_t j=0; j < abil_vec.size(); ++j) {
                                        t_string const& abil_name = abil_vec[j];
                                        if (ability_description.find(abil_name) 
== ability_description.end()) {
@@ -1251,9 +1251,9 @@
 
                        std::stringstream text;
 
-                       const std::string& description = f["description"];
+                       const config::attribute_value& description = 
f["description"];
                        if (!description.empty()) {
-                               text << description << "\n";
+                               text << description.t_str() << "\n";
                                text << "\n";
                        }
 
@@ -1282,9 +1282,9 @@
                std::stringstream text;
                text << "<header>text='" << _("Era:") << " " << era["name"] << 
"'</header>" << "\n";
                text << "\n";
-               const std::string& description = era["description"];
+               const config::attribute_value& description = era["description"];
                if (!description.empty()) {
-                       text << description << "\n";
+                       text << description.t_str() << "\n";
                        text << "\n";
                }
 

Modified: trunk/src/reports.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/reports.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/reports.cpp (original)
+++ trunk/src/reports.cpp Wed Oct 12 18:41:16 2011
@@ -346,16 +346,16 @@
 {
        if (!u) return report();
        config res;
-       const std::vector<std::string> &abilities = u->ability_tooltips();
-       for (std::vector<std::string>::const_iterator i = abilities.begin(),
+       const std::vector<t_string> &abilities = u->ability_tooltips();
+       for (std::vector<t_string>::const_iterator i = abilities.begin(),
             i_end = abilities.end(); i != i_end; ++i)
        {
                std::ostringstream str, tooltip;
-               const std::string &name = *i;
-               str << gettext(name.c_str());
+               const std::string &name = i->base_str();
+               str << i->str();
                if (i + 2 != i_end) str << ", ";
                ++i;
-               tooltip << _("Ability: ") << *i;
+               tooltip << _("Ability: ") << i->str();
                add_text(res, str.str(), tooltip.str(), "ability_" + name);
        }
        return res;

Modified: trunk/src/unit.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit.hpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit.hpp (original)
+++ trunk/src/unit.hpp Wed Oct 12 18:41:16 2011
@@ -304,7 +304,7 @@
        unit_ability_list get_abilities(const std::string &ability, const 
map_location& loc) const;
        unit_ability_list get_abilities(const std::string &ability) const
        { return get_abilities(ability, loc_); }
-       std::vector<std::string> ability_tooltips(bool force_active = false) 
const;
+       std::vector<t_string> ability_tooltips(bool force_active = false) const;
        std::vector<std::string> get_ability_list() const;
        bool has_ability_type(const std::string& ability) const;
 

Modified: trunk/src/unit_abilities.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_abilities.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit_abilities.cpp (original)
+++ trunk/src/unit_abilities.cpp Wed Oct 12 18:41:16 2011
@@ -201,9 +201,9 @@
        return res;
 }
 
-std::vector<std::string> unit::ability_tooltips(bool force_active) const
-{
-       std::vector<std::string> res;
+std::vector<t_string> unit::ability_tooltips(bool force_active) const
+{
+       std::vector<t_string> res;
 
        const config &abilities = cfg_.child("abilities");
        if (!abilities) return res;
@@ -212,24 +212,24 @@
        {
                if (force_active || ability_active(ab.key, ab.cfg, loc_))
                {
-                       std::string const &name =
+                       t_string const &name =
                                gender_ == unit_race::MALE || 
ab.cfg["female_name"].empty() ?
-                               ab.cfg["name"] : ab.cfg["female_name"];
+                               ab.cfg["name"].t_str() : 
ab.cfg["female_name"].t_str();
 
                        if (!name.empty()) {
                                res.push_back(name);
-                               res.push_back(ab.cfg["description"]);
+                               res.push_back(ab.cfg["description"].t_str());
                        }
                }
                else
                {
-                       std::string const &name =
+                       t_string const &name =
                                gender_ == unit_race::MALE || 
ab.cfg["female_name_inactive"].empty() ?
-                               ab.cfg["name_inactive"] : 
ab.cfg["female_name_inactive"];
+                               ab.cfg["name_inactive"].t_str() : 
ab.cfg["female_name_inactive"].t_str();
 
                        if (!name.empty()) {
                                res.push_back(name);
-                               res.push_back(ab.cfg["description_inactive"]);
+                               
res.push_back(ab.cfg["description_inactive"].t_str());
                        }
                }
        }

Modified: trunk/src/unit_types.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_types.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit_types.cpp (original)
+++ trunk/src/unit_types.cpp Wed Oct 12 18:41:16 2011
@@ -802,10 +802,10 @@
        if (const config &abil_cfg = cfg.child("abilities"))
        {
                foreach (const config::any_child &ab, 
abil_cfg.all_children_range()) {
-                       const std::string &name = ab.cfg["name"];
+                       const config::attribute_value &name = ab.cfg["name"];
                        if (!name.empty()) {
-                               abilities_.push_back(name);
-                               
ability_tooltips_.push_back(ab.cfg["description"]);
+                               abilities_.push_back(name.t_str());
+                               ability_tooltips_.push_back( 
ab.cfg["description"].t_str() );
                        }
                }
        }
@@ -819,10 +819,10 @@
                                continue;
                        }
                        foreach (const config::any_child &ab, 
abil_cfg.all_children_range()) {
-                               const std::string &name = ab.cfg["name"];
+                               const config::attribute_value &name = 
ab.cfg["name"];
                                if (!name.empty()) {
-                                       adv_abilities_.push_back(name);
-                                       
adv_ability_tooltips_.push_back(ab.cfg["description"]);
+                                       adv_abilities_.push_back(name.t_str());
+                                       adv_ability_tooltips_.push_back( 
ab.cfg["description"].t_str() );
                                }
                        }
                }

Modified: trunk/src/unit_types.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_types.hpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit_types.hpp (original)
+++ trunk/src/unit_types.hpp Wed Oct 12 18:41:16 2011
@@ -257,11 +257,11 @@
        fixed_t alpha() const { return alpha_; }
 
        const std::vector<t_string>& abilities() const { return abilities_; }
-       const std::vector<std::string>& ability_tooltips() const { return 
ability_tooltips_; }
+       const std::vector<t_string>& ability_tooltips() const { return 
ability_tooltips_; }
 
        // some extra abilities may be gained through AMLA advancements
        const std::vector<t_string>& adv_abilities() const { return 
adv_abilities_; }
-       const std::vector<std::string>& adv_ability_tooltips() const { return 
adv_ability_tooltips_; }
+       const std::vector<t_string>& adv_ability_tooltips() const { return 
adv_ability_tooltips_; }
 
        bool can_advance() const { return !advances_to_.empty(); }
 
@@ -322,7 +322,7 @@
        fixed_t alpha_;
 
        std::vector<t_string> abilities_, adv_abilities_;
-       std::vector<std::string> ability_tooltips_, adv_ability_tooltips_;
+       std::vector<t_string> ability_tooltips_, adv_ability_tooltips_;
 
        bool zoc_, hide_help_;
 


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to