summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/windows/skilldialog.cpp25
-rw-r--r--src/gui/windows/skilldialog.h2
2 files changed, 27 insertions, 0 deletions
diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp
index 8ded2a001..e60465367 100644
--- a/src/gui/windows/skilldialog.cpp
+++ b/src/gui/windows/skilldialog.cpp
@@ -302,6 +302,31 @@ void SkillDialog::updateModels()
}
}
+void SkillDialog::updateModelsHidden()
+{
+ std::set<SkillModel*> models;
+
+ FOR_EACH (SkillMap::const_iterator, it, mSkills)
+ {
+ SkillInfo *const info = (*it).second;
+ if (info != nullptr)
+ {
+ if (info->visible == Visible_false)
+ {
+ SkillModel *const model = info->model;
+ if (model != nullptr)
+ models.insert(model);
+ }
+ }
+ }
+ FOR_EACH (std::set<SkillModel*>::iterator, it, models)
+ {
+ SkillModel *const model = *it;
+ if (model != nullptr)
+ model->updateVisibilities();
+ }
+}
+
void SkillDialog::clearSkills()
{
mTabs->removeAll(true);
diff --git a/src/gui/windows/skilldialog.h b/src/gui/windows/skilldialog.h
index e5921f82c..41c6b0108 100644
--- a/src/gui/windows/skilldialog.h
+++ b/src/gui/windows/skilldialog.h
@@ -81,6 +81,8 @@ class SkillDialog final : public Window,
void updateModels();
+ void updateModelsHidden();
+
void loadXmlFile(const std::string &fileName,
const SkipError skipError);