summaryrefslogtreecommitdiff
path: root/tipper/tipper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tipper/tipper.cpp')
-rw-r--r--tipper/tipper.cpp42
1 files changed, 24 insertions, 18 deletions
diff --git a/tipper/tipper.cpp b/tipper/tipper.cpp
index cc03ca9..7d45727 100644
--- a/tipper/tipper.cpp
+++ b/tipper/tipper.cpp
@@ -12,6 +12,8 @@
HMODULE hInst = 0;
HANDLE mainThread = 0;
+bool unicode_system;
+
FontID font_id_title = {0}, font_id_labels = {0}, font_id_values = {0};
ColourID colour_id_bg = {0}, colour_id_border = {0}, colour_id_divider = {0}, colour_id_sidebar = {0};
FontIDW font_id_titlew = {0}, font_id_labelsw = {0}, font_id_valuesw = {0};
@@ -58,33 +60,34 @@ extern "C" __declspec(dllexport) PLUGININFO* MirandaPluginInfo(DWORD mirandaVers
}
int ReloadFont(WPARAM wParam, LPARAM lParam) {
- LOGFONT log_font;
if(ServiceExists(MS_FONT_GETW)) {
+ LOGFONTW log_font;
if(hFontTitle) DeleteObject(hFontTitle);
options.title_col = CallService(MS_FONT_GETW, (WPARAM)&font_id_titlew, (LPARAM)&log_font);
- hFontTitle = CreateFontIndirect(&log_font);
+ hFontTitle = CreateFontIndirectW(&log_font);
if(hFontLabels) DeleteObject(hFontLabels);
options.label_col = CallService(MS_FONT_GETW, (WPARAM)&font_id_labelsw, (LPARAM)&log_font);
- hFontLabels = CreateFontIndirect(&log_font);
+ hFontLabels = CreateFontIndirectW(&log_font);
if(hFontValues) DeleteObject(hFontValues);
options.value_col = CallService(MS_FONT_GETW, (WPARAM)&font_id_valuesw, (LPARAM)&log_font);
- hFontValues = CreateFontIndirect(&log_font);
+ hFontValues = CreateFontIndirectW(&log_font);
options.bg_col = CallService(MS_COLOUR_GETW, (WPARAM)&colour_id_bgw, 0);
options.border_col = CallService(MS_COLOUR_GETW, (WPARAM)&colour_id_borderw, 0);
options.sidebar_col = CallService(MS_COLOUR_GETW, (WPARAM)&colour_id_sidebarw, 0);
options.div_col = CallService(MS_COLOUR_GETW, (WPARAM)&colour_id_dividerw, 0);
} else {
+ LOGFONTA log_font;
if(hFontTitle) DeleteObject(hFontTitle);
options.title_col = CallService(MS_FONT_GET, (WPARAM)&font_id_title, (LPARAM)&log_font);
- hFontTitle = CreateFontIndirect(&log_font);
+ hFontTitle = CreateFontIndirectA(&log_font);
if(hFontLabels) DeleteObject(hFontLabels);
options.label_col = CallService(MS_FONT_GET, (WPARAM)&font_id_labels, (LPARAM)&log_font);
- hFontLabels = CreateFontIndirect(&log_font);
+ hFontLabels = CreateFontIndirectA(&log_font);
if(hFontValues) DeleteObject(hFontValues);
options.value_col = CallService(MS_FONT_GET, (WPARAM)&font_id_values, (LPARAM)&log_font);
- hFontValues = CreateFontIndirect(&log_font);
+ hFontValues = CreateFontIndirectA(&log_font);
options.bg_col = CallService(MS_COLOUR_GET, (WPARAM)&colour_id_bg, 0);
options.border_col = CallService(MS_COLOUR_GET, (WPARAM)&colour_id_border, 0);
@@ -201,16 +204,16 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
colour_id_sidebarw.defcolour = RGB(192, 192, 192);
colour_id_sidebarw.order = 0;
- CallService(MS_COLOUR_REGISTERT, (WPARAM)&colour_id_bgw, 0);
- CallService(MS_COLOUR_REGISTERT, (WPARAM)&colour_id_borderw, 0);
- CallService(MS_COLOUR_REGISTERT, (WPARAM)&colour_id_dividerw, 0);
- CallService(MS_COLOUR_REGISTERT, (WPARAM)&colour_id_sidebarw, 0);
+ CallService(MS_COLOUR_REGISTERW, (WPARAM)&colour_id_bgw, 0);
+ CallService(MS_COLOUR_REGISTERW, (WPARAM)&colour_id_borderw, 0);
+ CallService(MS_COLOUR_REGISTERW, (WPARAM)&colour_id_dividerw, 0);
+ CallService(MS_COLOUR_REGISTERW, (WPARAM)&colour_id_sidebarw, 0);
ReloadFont(0, 0);
HookEvent(ME_FONT_RELOAD, ReloadFont);
} else if(ServiceExists(MS_FONT_REGISTER)) {
- font_id_title.cbSize = sizeof(FontIDW);
+ font_id_title.cbSize = sizeof(FontID);
font_id_title.flags = FIDF_ALLOWEFFECTS;
t2a(TranslateT("Tooltips"), font_id_title.group, 64);
t2a(TranslateT("Title"), font_id_title.name, 64);
@@ -224,7 +227,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
font_id_title.deffontsettings.colour = RGB(255, 0, 0);
font_id_title.flags |= FIDF_DEFAULTVALID;
- font_id_labels.cbSize = sizeof(FontIDW);
+ font_id_labels.cbSize = sizeof(FontID);
font_id_labels.flags = FIDF_ALLOWEFFECTS;
t2a(TranslateT("Tooltips"), font_id_labels.group, 64);
t2a(TranslateT("Labels"), font_id_labels.name, 64);
@@ -238,7 +241,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
font_id_labels.deffontsettings.colour = RGB(128, 128, 128);
font_id_labels.flags |= FIDF_DEFAULTVALID;
- font_id_values.cbSize = sizeof(FontIDW);
+ font_id_values.cbSize = sizeof(FontID);
font_id_values.flags = FIDF_ALLOWEFFECTS;
t2a(TranslateT("Tooltips"), font_id_values.group, 64);
t2a(TranslateT("Values"), font_id_values.name, 64);
@@ -256,7 +259,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
CallService(MS_FONT_REGISTER, (WPARAM)&font_id_labels, 0);
CallService(MS_FONT_REGISTER, (WPARAM)&font_id_values, 0);
- colour_id_bg.cbSize = sizeof(ColourIDW);
+ colour_id_bg.cbSize = sizeof(ColourID);
t2a(TranslateT("Tooltips"), colour_id_bg.group, 64);
t2a(TranslateT("Background"), colour_id_bg.name, 64);
strcpy(colour_id_bg.dbSettingsGroup, MODULE);
@@ -264,7 +267,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
colour_id_bg.defcolour = RGB(219, 219, 219);
colour_id_bg.order = 0;
- colour_id_border.cbSize = sizeof(ColourIDW);
+ colour_id_border.cbSize = sizeof(ColourID);
t2a(TranslateT("Tooltips"), colour_id_border.group, 64);
t2a(TranslateT("Border"), colour_id_border.name, 64);
strcpy(colour_id_border.dbSettingsGroup, MODULE);
@@ -272,7 +275,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
colour_id_border.defcolour = 0;
colour_id_border.order = 0;
- colour_id_divider.cbSize = sizeof(ColourIDW);
+ colour_id_divider.cbSize = sizeof(ColourID);
t2a(TranslateT("Tooltips"), colour_id_divider.group, 64);
t2a(TranslateT("Dividers"), colour_id_divider.name, 64);
strcpy(colour_id_divider.dbSettingsGroup, MODULE);
@@ -280,7 +283,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
colour_id_divider.defcolour = 0;
colour_id_divider.order = 0;
- colour_id_sidebar.cbSize = sizeof(ColourIDW);
+ colour_id_sidebar.cbSize = sizeof(ColourID);
t2a(TranslateT("Tooltips"), colour_id_sidebar.group, 64);
t2a(TranslateT("Sidebar"), colour_id_sidebar.name, 64);
strcpy(colour_id_sidebar.dbSettingsGroup, MODULE);
@@ -360,6 +363,9 @@ extern "C" int TIPPER_API Load(PLUGINLINK *link) {
set_codepage();
+ char szVer[128];
+ unicode_system = (CallService(MS_SYSTEM_GETVERSIONTEXT, (WPARAM)sizeof(szVer), (LPARAM)szVer) == 0 && strstr(szVer, "Unicode"));
+
// get the internal malloc/free()
memoryManagerInterface.cbSize = sizeof(memoryManagerInterface);
CallService(MS_SYSTEM_GET_MMI, 0, (LPARAM)&memoryManagerInterface);