void AutoReplaceMap::add(const TCHAR * aFrom, const TCHAR * to, BOOL useVariables) { scoped_free<TCHAR> from = filterText(aFrom); replacements[from.get()] = AutoReplacement(to, useVariables); writeAutoReplaceMap(); }
void AutoReplaceMap::loadAutoReplaceMap() { FILE *file = _tfopen(filename, _T("rb")); if (file == NULL) return; char tmp[1024]; char c; int pos = 0; while((c = fgetc(file)) != EOF) { if (c == '\n' || c == '\r' || pos >= MAX_REGS(tmp) - 1) { if (pos > 0) { tmp[pos] = '\0'; // Get from BOOL useVars; char *p; if ((p = strstr(tmp, "->")) != NULL) { *p = '\0'; p += 2; useVars = FALSE; } else if ((p = strstr(tmp, "-V>")) != NULL) { *p = '\0'; p += 3; useVars = TRUE; } if (p != NULL) { Utf8ToTchar find(tmp); Utf8ToTchar replace(p); lstrtrim(find); lstrtrim(replace); if (find[0] != 0 && replace[0] != 0) replacements[find.get()] = AutoReplacement(replace, useVars); } } pos = 0; } else { tmp[pos] = c; pos ++; } } fclose(file); }
void AddWord(const TCHAR *find, const TCHAR *replace, BOOL useVars) { autoReplaceMap[find] = AutoReplacement(replace, useVars); changed = TRUE; }