diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbwsiniparser_p.cpp --- a/src/hbcore/utils/hbwsiniparser_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbwsiniparser_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,9 +30,8 @@ #include "hbwsiniparser_p.h" -// ======== MEMBER FUNCTIONS ======== +#define WSINI_PARSE_ENTRY(keyword, func) { keyword, &HbWsiniParser::call_##func } -#define WSINI_PARSE_ENTRY(keyword, func) { keyword, &HbWsiniParser::call_##func } const HbWsiniParser::ParserEntry HbWsiniParser::mParseTable[] = { WSINI_PARSE_ENTRY("S60_HWSTATE_KEYCODE", hardwareStateKeycode), //S60_HWSTATE_KEYCODEn @@ -51,14 +50,23 @@ a wsini file is put in the directory c:\hb\data, then that wsini will simulate the behavior on a Symbian device. */ -void HbWsiniParser::parseModes(QMap &modes) +void HbWsiniParser::parseModes(QMap &modes, const QString &wsIniFile) { HbWsiniParser parser(modes); #if defined(Q_WS_S60) + Q_UNUSED(wsIniFile); parser.parseFile("z:\\system\\data\\wsini.ini"); -#elif defined(Q_OS_WIN32) - parser.parseFile("c:/hb/data/wsini.ini"); -#endif +#else //!Q_WS_S60 + // For unit testing + if (!wsIniFile.isEmpty()) { + parser.parseFile(wsIniFile); + } else { +#if defined(Q_OS_WIN32) + // In windows try to parse file from the hard-coded location + parser.parseFile("c:/hb/data/wsini.ini"); +#endif //Q_OS_WIN32 + } +#endif //!Q_WS_S60 } HbWsiniParser::HbWsiniParser(QMap &modes)