[Top] / [eMule] / [cleanup] / [0.29b]

MetMedic
eMule cleanup
eMule Light
Libraries
Cleanup
0.29a
0.29b
0.29c
0.30a

cleanup.0b
cleanup.1c
cleanup.2
cleanup.3
cleanup.4
cleanup.5
cleanup.6


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..