Cleanup patch 1c - language library
[Patch date 2003-06-30 01:40]
Switched from C-style memory and array management to CPtrList. Doesn't
seem to be much cleaner, but at least it's much more C++ now.
Cleanup patch 1b - language library
[Patch date 2003-06-28 20:00]
1b contains minor changes to language library as well as a minor upload speed calculation
fix.
Main fixed issues in language library are: memory leak in LoadLib();
supported language list replaces assumptions made from compile time definitions.
Cleanup patch 1 - language library
[Patch date 2003-06-25 13:10]
This patch is based on cleanup.0b.
You might remember how things were done in 0.29a language separation.. OK, recap:
Created subdirectory lang, and in there all stringtable resources, each
language in it's own file. Each language gets a project file, too. Identifiers in
common file lang.h. Also, project lang, which will build
into a static library that contains CStringLocalizer class. lang.rc,
included in emule.rc, that will include those languages configured as
statically linked resources, as per lang_config.h. And one solution,
lang.sln, to rule the directory.
Next, add language project (but not language resource dll projects) to emule solution.
Badly mangle I18N.cpp and otherfunctions.h - content was
moved to separate library afterall. Add new member variable stringLocalizer
to CEmuleApp. Also add InstanceExit() method which wasn't
in there before.. I want separate localizer for each instance, afterall. Some changes
to preferences.h and preferences.cpp in vain attempts in
separating string localization and locale managment from main source files.. Touched
PPgGeneral.cpp, too.
Note that this separation was much cleaner in places than the earlier attempts, partially
due to I18N. I'm not completely happy with the result, but I guess it's the best I
can do without stopping to design before implementing.. |