_cfg_dir.printf(TEXT("%s\\ReactOS"), (LPCTSTR)SpecialFolderFSPath(CSIDL_APPDATA,0));
_cfg_path.printf(TEXT("%s\\ros-explorer-cfg.xml"), _cfg_dir.c_str());
- if (!_cfg.read(_cfg_path))
+ if (!_cfg.read(_cfg_path)) {
+ if (_cfg._last_error != XML_ERROR_NO_ELEMENTS)
+ MessageBox(g_Globals._hwndDesktop, String(_cfg._last_error_msg.c_str()),
+ TEXT("ROS Explorer - reading user settings"), MB_OK);
+
_cfg.read(TEXT("explorer-cfg-template.xml"));
+ }
// read bookmarks
_favorites_path.printf(TEXT("%s\\ros-explorer-bookmarks.xml"), _cfg_dir.c_str());
XMLDoc xbel;
if (!xbel.read(path))
- return false;
+ if (xbel._last_error == XML_ERROR_NO_ELEMENTS)
+ return false;
+ else
+ MessageBox(g_Globals._hwndDesktop, String(xbel._last_error_msg.c_str()),
+ TEXT("ROS Explorer - reading bookmark file"), MB_OK);
const_XMLPos pos(&xbel);
return out.str();
}
+ XML_Error get_error_code() {return XML_GetErrorCode(_parser);}
std::string get_error_string() const;
protected:
struct XMLDoc : public XMLNode
{
XMLDoc()
- : XMLNode("")
+ : XMLNode(""),
+ _last_error(XML_ERROR_NONE)
{
}
XMLDoc(LPCTSTR path)
- : XMLNode("")
+ : XMLNode(""),
+ _last_error(XML_ERROR_NONE)
{
read(path);
}
out << reader.get_position() << " " << reader.get_error_string();
- _last_error = out.str();
+ _last_error = reader.get_error_code();
+ _last_error_msg = out.str();
}
return in;
out << path << reader.get_position() << " " << reader.get_error_string();
- _last_error = out.str();
+ _last_error = reader.get_error_code();
+ _last_error_msg = out.str();
}
return status != XML_STATUS_ERROR;
write_formating(out);
}
- std::string _last_error;
+ XML_Error _last_error;
+ std::string _last_error_msg;
};