From ade168344165534061b8f184866e2808af7f5d48 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 16 Dec 2012 17:20:01 +0300 Subject: Simplify skills loading. Also putting in defines legacy manaserv code. --- src/gui/skilldialog.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src/gui/skilldialog.cpp') diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp index 9f484de8d..97e2fbdf1 100644 --- a/src/gui/skilldialog.cpp +++ b/src/gui/skilldialog.cpp @@ -264,7 +264,7 @@ SkillDialog::SkillDialog() : SkillDialog::~SkillDialog() { // Clear gui - loadSkills(""); + clearSkills(); } void SkillDialog::action(const gcn::ActionEvent &event) @@ -358,18 +358,20 @@ void SkillDialog::update() } } -void SkillDialog::loadSkills(const std::string &file) +void SkillDialog::clearSkills() { mTabs->removeAll(); - delete_all(mSkills); mSkills.clear(); +} - if (file.length() == 0) - return; +void SkillDialog::loadSkills() +{ + clearSkills(); - XML::Document doc(file); - const XmlNodePtr root = doc.rootNode(); + XML::Document doc("ea-skills.xml"); + XML::Document doc2("skills.xml"); + XmlNodePtr root = doc.rootNode(); int setCount = 0; std::string setName; @@ -377,11 +379,16 @@ void SkillDialog::loadSkills(const std::string &file) SkillListBox *listbox; SkillTab *tab; + if (!root || !xmlNameEqual(root, "skills")) + root = doc2.rootNode(); + if (!root || !xmlNameEqual(root, "skills")) { - logger->log("Error loading skills file: %s", file.c_str()); + logger->log("Error loading skills"); +#ifdef MANASERV_SUPPORT if (Net::getNetworkType() != ServerInfo::MANASERV) +#endif { SkillModel *const model = new SkillModel(); if (!mDefaultModel) -- cgit v1.2.3-60-g2f50