Author: mir3x Date: Thu Jan 12 11:12:57 2017 New Revision: 34820 URL: http://svn.gna.org/viewcvs/freeciv?rev=34820&view=rev Log: Qt client - use city_improvement_upkeep to calculate upkeep in city dialog Reported by Gogo Gugelhupf <gogo>
See bug #25422 Modified: trunk/client/gui-qt/citydlg.cpp trunk/client/gui-qt/citydlg.h trunk/client/gui-qt/repodlgs.cpp Modified: trunk/client/gui-qt/citydlg.cpp URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/citydlg.cpp?rev=34820&r1=34819&r2=34820&view=diff ============================================================================== --- trunk/client/gui-qt/citydlg.cpp (original) +++ trunk/client/gui-qt/citydlg.cpp Thu Jan 12 11:12:57 2017 @@ -299,7 +299,7 @@ setFixedWidth(impr_pixmap->map_pixmap.width() + 4); setFixedHeight(impr_pixmap->map_pixmap.height()); - setToolTip(get_tooltip_improvement(building).trimmed()); + setToolTip(get_tooltip_improvement(building, city).trimmed()); } /**************************************************************************** @@ -3105,8 +3105,8 @@ fc_assert_action(VUT_IMPROVEMENT == target.kind, continue); sprite = get_building_sprite(tileset, target.value.building); - upkeep = upkeep + target.value.building->upkeep; - if (sprite != NULL) { + upkeep = upkeep + city_improvement_upkeep(pcity, target.value.building); + if (sprite != nullptr) { pix = sprite->pm; pix_scaled = pix->scaledToHeight(h); } @@ -3522,16 +3522,22 @@ /*************************************************************************** Returns improvement properties to append in tooltip ***************************************************************************/ -QString get_tooltip_improvement(impr_type *building) +QString get_tooltip_improvement(impr_type *building, struct city *pcity) { QString def_str; - + QString upkeep; + + if (pcity != nullptr) { + upkeep = QString::number(city_improvement_upkeep(pcity, building)); + } else { + upkeep = QString::number(building->upkeep); + } def_str = "<p style='white-space:pre'><b>" + QString(improvement_name_translation(building)) + "</b>\n"; def_str += QString(_("Cost: %1, Upkeep: %2\n\n")) .arg(impr_build_shield_cost(building)) - .arg(building->upkeep); + .arg(upkeep); return def_str; } Modified: trunk/client/gui-qt/citydlg.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/citydlg.h?rev=34820&r1=34819&r2=34820&view=diff ============================================================================== --- trunk/client/gui-qt/citydlg.h (original) +++ trunk/client/gui-qt/citydlg.h Thu Jan 12 11:12:57 2017 @@ -60,7 +60,8 @@ class QImage; QString get_tooltip(QVariant qvar); -QString get_tooltip_improvement(impr_type *building); +QString get_tooltip_improvement(impr_type *building, + struct city *pcity = nullptr); QString get_tooltip_unit(struct unit_type *unit); QString bold(QString text); Modified: trunk/client/gui-qt/repodlgs.cpp URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/repodlgs.cpp?rev=34820&r1=34819&r2=34820&view=diff ============================================================================== --- trunk/client/gui-qt/repodlgs.cpp (original) +++ trunk/client/gui-qt/repodlgs.cpp Thu Jan 12 11:12:57 2017 @@ -57,7 +57,8 @@ extern QString split_text(QString text, bool cut); extern QString cut_helptext(QString text); -extern QString get_tooltip_improvement(impr_type *building); +extern QString get_tooltip_improvement(impr_type *building, + struct city *pcity); extern QString get_tooltip_unit(struct unit_type *unit); extern QApplication *qapp; /**************************************************************************** @@ -328,7 +329,7 @@ + QString(advance_name_translation( advance_by_number(rttp->tech_id))) + "</b>\n"; } else if (rttp->timpr != nullptr) { - def_str = get_tooltip_improvement(rttp->timpr); + def_str = get_tooltip_improvement(rttp->timpr, nullptr); tt_text = helptext_building(buffer, sizeof(buffer), client.conn.playing, NULL, rttp->timpr); tt_text = cut_helptext(tt_text); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits