Author: mir3x
Date: Thu Jan 12 11:12:49 2017
New Revision: 34819
URL: http://svn.gna.org/viewcvs/freeciv?rev=34819&view=rev
Log:
Qt client - use city_improvement_upkeep to calculate upkeep in city dialog
Reported by Gogo Gugelhupf <gogo>
See bug #25422
Modified:
branches/S3_0/client/gui-qt/citydlg.cpp
branches/S3_0/client/gui-qt/citydlg.h
branches/S3_0/client/gui-qt/repodlgs.cpp
Modified: branches/S3_0/client/gui-qt/citydlg.cpp
URL:
http://svn.gna.org/viewcvs/freeciv/branches/S3_0/client/gui-qt/citydlg.cpp?rev=34819&r1=34818&r2=34819&view=diff
==============================================================================
--- branches/S3_0/client/gui-qt/citydlg.cpp (original)
+++ branches/S3_0/client/gui-qt/citydlg.cpp Thu Jan 12 11:12:49 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: branches/S3_0/client/gui-qt/citydlg.h
URL:
http://svn.gna.org/viewcvs/freeciv/branches/S3_0/client/gui-qt/citydlg.h?rev=34819&r1=34818&r2=34819&view=diff
==============================================================================
--- branches/S3_0/client/gui-qt/citydlg.h (original)
+++ branches/S3_0/client/gui-qt/citydlg.h Thu Jan 12 11:12:49 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: branches/S3_0/client/gui-qt/repodlgs.cpp
URL:
http://svn.gna.org/viewcvs/freeciv/branches/S3_0/client/gui-qt/repodlgs.cpp?rev=34819&r1=34818&r2=34819&view=diff
==============================================================================
--- branches/S3_0/client/gui-qt/repodlgs.cpp (original)
+++ branches/S3_0/client/gui-qt/repodlgs.cpp Thu Jan 12 11:12:49 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
[email protected]
https://mail.gna.org/listinfo/freeciv-commits