Skip to content

Commit

Permalink
unit_recruit: Show unrecruitable units in gray, rather than red
Browse files Browse the repository at this point in the history
Matches new unit_recall behavior

(cherry picked from commit cb07373)
  • Loading branch information
jostephd authored and Wedge009 committed Nov 13, 2019
1 parent ba863fc commit ad5476f
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions src/gui/dialogs/unit_recruit.cpp
Expand Up @@ -13,6 +13,7 @@

#define GETTEXT_DOMAIN "wesnoth-lib"

#include "font/text_formatting.hpp"
#include "gui/auxiliary/find_widget.hpp"
#include "gui/dialogs/unit_recruit.hpp"
#include "gui/widgets/button.hpp"
Expand Down Expand Up @@ -52,9 +53,11 @@ unit_recruit::unit_recruit(std::vector<const unit_type*>& recruit_list, team& te
});
}

static std::string can_afford_unit(const std::string& text, const bool can_afford)
static const color_t inactive_row_color(0x96, 0x96, 0x96);

static inline std::string can_afford_unit(const std::string& text, const bool can_afford)
{
return can_afford ? text : "<span color='#ff0000'>" + text + "</span>";
return can_afford ? text : font::span_color(inactive_row_color, text);
}

// Compare unit_create::filter_text_change
Expand Down Expand Up @@ -139,7 +142,7 @@ void unit_recruit::pre_show(window& window)

column["use_markup"] = "true";

column["label"] = image_string;
column["label"] = image_string + (can_afford ? "" : "~GS()");
row_data.emplace("unit_image", column);

column["label"] = can_afford_unit(recruit->type_name(), can_afford);
Expand All @@ -148,7 +151,12 @@ void unit_recruit::pre_show(window& window)
column["label"] = can_afford_unit(cost_string, can_afford);
row_data.emplace("unit_cost", column);

list.add_row(row_data);
grid& grid = list.add_row(row_data);
if(!can_afford) {
image *gold_icon = dynamic_cast<image*>(grid.find("gold_icon", false));
assert(gold_icon);
gold_icon->set_image(gold_icon->get_image() + "~GS()");
}
}

list_item_clicked(window);
Expand Down

0 comments on commit ad5476f

Please sign in to comment.