From e3e06551140c83c65027213d9979b10e85fd3383 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Sun, 23 Apr 2023 03:06:31 +0300 Subject: [PATCH 32/32] Ruledit: Add effects count to stats See osdn #47906 Signed-off-by: Marko Lindqvist --- tools/ruledit/tab_misc.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tools/ruledit/tab_misc.cpp b/tools/ruledit/tab_misc.cpp index 7a3902beb0..45e3a809ae 100644 --- a/tools/ruledit/tab_misc.cpp +++ b/tools/ruledit/tab_misc.cpp @@ -228,6 +228,10 @@ tab_misc::tab_misc(ruledit_gui *ui_in) : QWidget() stats->setItem(5, 6, item); item = new QTableWidgetItem("-"); stats->setItem(5, 7, item); + item = new QTableWidgetItem(QString::fromUtf8(RQ_("?stat:Effects"))); + stats->setItem(6, 6, item); + item = new QTableWidgetItem("-"); + stats->setItem(6, 7, item); stats->verticalHeader()->setVisible(false); stats->horizontalHeader()->setVisible(false); stats->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -317,6 +321,20 @@ void tab_misc::save_now() ui->display_msg(R__("Ruleset saved")); } +/**********************************************************************//** + Callback to count number of effects + + @param peff effect to look at - ignored by this callback + @param data pointer to counter integer + @return that iteration should continue until all effects calculated +**************************************************************************/ +static bool effect_counter(struct effect *peff, void *data) +{ + (*(int *)data)++; + + return TRUE; +} + /**********************************************************************//** Recalculate stats **************************************************************************/ @@ -439,6 +457,10 @@ void tab_misc::refresh_stats() } multipliers_re_active_iterate_end; stats->item(row++, 7)->setText(QString::number(count)); + count = 0; + iterate_effect_cache(effect_counter, &count); + stats->item(row++, 7)->setText(QString::number(count)); + stats->resizeColumnsToContents(); } -- 2.39.2