[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-cvs
Subject: Nigel Liang : winecfg: Add menu font settings to desktop integration
From: Alexandre Julliard <julliard () wine ! codeweavers ! com>
Date: 2007-07-31 12:55:13
Message-ID: E1IFrFp-0005cp-IL () wine ! codeweavers ! com
[Download RAW message or body]
Module: wine
Branch: master
Commit: a4d8f32d5521a95264b77f000758704148846a21
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a4d8f32d5521a95264b77f000758704148846a21
Author: Nigel Liang <ncliang@gmail.com>
Date: Mon Jul 30 21:06:44 2007 -0700
winecfg: Add menu font settings to desktop integration tab.
---
programs/winecfg/Cs.rc | 1 +
programs/winecfg/De.rc | 1 +
programs/winecfg/En.rc | 1 +
programs/winecfg/Es.rc | 1 +
programs/winecfg/Fr.rc | 1 +
programs/winecfg/Ko.rc | 1 +
programs/winecfg/No.rc | 1 +
programs/winecfg/Pl.rc | 1 +
programs/winecfg/Ro.rc | 1 +
programs/winecfg/Ru.rc | 1 +
programs/winecfg/resource.h | 1 +
programs/winecfg/theme.c | 56 ++++++++++++++++++++++++++++++++++++++++++-
12 files changed, 66 insertions(+), 1 deletions(-)
diff --git a/programs/winecfg/Cs.rc b/programs/winecfg/Cs.rc
index 7dbf274..149b642 100644
--- a/programs/winecfg/Cs.rc
+++ b/programs/winecfg/Cs.rc
@@ -311,4 +311,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Písmo titulku aktivního okna"
IDC_SYSPARAMS_INACTIVE_TITLE "Pozadí titulku neaktivného okna"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Písmo titulku neaktivního okna"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/De.rc b/programs/winecfg/De.rc
index 0ec296e..8db8fde 100644
--- a/programs/winecfg/De.rc
+++ b/programs/winecfg/De.rc
@@ -306,4 +306,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Aktiver Titelleistentext"
IDC_SYSPARAMS_INACTIVE_TITLE "Inaktive Titelleiste"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Inaktiver Titelleistentext"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/En.rc b/programs/winecfg/En.rc
index 9243e3c..93f5091 100644
--- a/programs/winecfg/En.rc
+++ b/programs/winecfg/En.rc
@@ -308,4 +308,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Active Title Text"
IDC_SYSPARAMS_INACTIVE_TITLE "Inactive Title Bar"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Inactive Title Text"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/Es.rc b/programs/winecfg/Es.rc
index 3e79eed..a8b773a 100644
--- a/programs/winecfg/Es.rc
+++ b/programs/winecfg/Es.rc
@@ -306,4 +306,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Texto de barra de título activa"
IDC_SYSPARAMS_INACTIVE_TITLE "Barra de título inactiva"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Texto de barra de título inactiva"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/Fr.rc b/programs/winecfg/Fr.rc
index 148b35b..83dceff 100644
--- a/programs/winecfg/Fr.rc
+++ b/programs/winecfg/Fr.rc
@@ -306,4 +306,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Texte de la barre de titre active"
IDC_SYSPARAMS_INACTIVE_TITLE "Barre de titre inactive"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Texte de la barre de titre inactive"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/Ko.rc b/programs/winecfg/Ko.rc
index 8909743..edc6613 100644
--- a/programs/winecfg/Ko.rc
+++ b/programs/winecfg/Ko.rc
@@ -308,4 +308,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "È°¼ºµÈ Á¦¸ñ ¹®ÀÚ"
IDC_SYSPARAMS_INACTIVE_TITLE "ºñÈ°¼ºµÈ Á¦¸ñ ¸·´ë"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "ºñÈ°¼ºµÈ Á¦¸ñ ¹®ÀÚ"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/No.rc b/programs/winecfg/No.rc
index 5d1f379..bc6be43 100644
--- a/programs/winecfg/No.rc
+++ b/programs/winecfg/No.rc
@@ -305,4 +305,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Aktiv titteltekst"
IDC_SYSPARAMS_INACTIVE_TITLE "Inaktiv tittellinje"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Inaktiv titteltekst"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/Pl.rc b/programs/winecfg/Pl.rc
index 4134a04..c73e7a3 100644
--- a/programs/winecfg/Pl.rc
+++ b/programs/winecfg/Pl.rc
@@ -311,4 +311,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Tytu³ aktywnego okna"
IDC_SYSPARAMS_INACTIVE_TITLE "T³o nag³ówka nieaktywnego okna"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Tytu³ nieaktywnego okna"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/Ro.rc b/programs/winecfg/Ro.rc
index eb22685..e43077a 100644
--- a/programs/winecfg/Ro.rc
+++ b/programs/winecfg/Ro.rc
@@ -307,6 +307,7 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Text bară de titlu activă"
IDC_SYSPARAMS_INACTIVE_TITLE "Bară de titlu inactivă"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Text bară de titlu inactivă"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
#pragma code_page(default)
diff --git a/programs/winecfg/Ru.rc b/programs/winecfg/Ru.rc
index 5037338..889090e 100644
--- a/programs/winecfg/Ru.rc
+++ b/programs/winecfg/Ru.rc
@@ -307,4 +307,5 @@ BEGIN
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Àêòèâíîå îêíî - òåêñò"
IDC_SYSPARAMS_INACTIVE_TITLE "Ïàññèâíîå îêíî"
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Ïàññèâíîå îêíî - òåêñò"
+ IDC_SYSPARAMS_MSGBOX_TEXT "Message Box Text"
END
diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h
index c484cee..0166f71 100644
--- a/programs/winecfg/resource.h
+++ b/programs/winecfg/resource.h
@@ -231,3 +231,4 @@
#define IDC_SYSPARAMS_ACTIVE_TITLE_TEXT 8413
#define IDC_SYSPARAMS_INACTIVE_TITLE 8414
#define IDC_SYSPARAMS_INACTIVE_TITLE_TEXT 8415
+#define IDC_SYSPARAMS_MSGBOX_TEXT 8416
diff --git a/programs/winecfg/theme.c b/programs/winecfg/theme.c
index 4380eae..5797c96 100644
--- a/programs/winecfg/theme.c
+++ b/programs/winecfg/theme.c
@@ -835,6 +835,7 @@ static struct
const char *color_reg;
int size;
COLORREF color;
+ LOGFONTW lf;
} metrics[] =
{
{-1, COLOR_BTNFACE, "ButtonFace" }, /* \
IDC_SYSPARAMS_BUTTON */ @@ -852,7 +853,8 @@ static struct
{SM_CXSIZE, COLOR_ACTIVECAPTION, "ActiveTitle" }, /* \
IDC_SYSPARAMS_ACTIVE_TITLE */
{-1, COLOR_CAPTIONTEXT, "TitleText" }, /* \
IDC_SYSPARAMS_ACTIVE_TITLE_TEXT */
{-1, COLOR_INACTIVECAPTION, "InactiveTitle" }, /* \
IDC_SYSPARAMS_INACTIVE_TITLE */
- {-1, COLOR_INACTIVECAPTIONTEXT,"InactiveTitleText" } /* \
IDC_SYSPARAMS_INACTIVE_TITLE_TEXT */ + {-1, \
COLOR_INACTIVECAPTIONTEXT,"InactiveTitleText" }, /* IDC_SYSPARAMS_INACTIVE_TITLE_TEXT \
*/ + {-1, -1, "MsgBoxText" } /* \
IDC_SYSPARAMS_MSGBOX_TEXT */ };
static void save_sys_color(int idx, COLORREF clr)
@@ -867,6 +869,7 @@ static void read_sysparams(HWND hDlg)
{
WCHAR buffer[256];
HWND list = GetDlgItem(hDlg, IDC_SYSPARAM_COMBO);
+ NONCLIENTMETRICSW nonclient_metrics;
int i, idx;
for (i = 0; i < sizeof(metrics) / sizeof(metrics[0]); i++)
@@ -881,6 +884,18 @@ static void read_sysparams(HWND hDlg)
if (metrics[i].color_idx != -1)
metrics[i].color = GetSysColor(metrics[i].color_idx);
}
+
+ nonclient_metrics.cbSize = sizeof(NONCLIENTMETRICSW);
+ SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), \
&nonclient_metrics, 0); +
+ memcpy(&(metrics[IDC_SYSPARAMS_MENU_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ &(nonclient_metrics.lfMenuFont), sizeof(LOGFONTW));
+ memcpy(&(metrics[IDC_SYSPARAMS_ACTIVE_TITLE_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ &(nonclient_metrics.lfCaptionFont), sizeof(LOGFONTW));
+ memcpy(&(metrics[IDC_SYSPARAMS_TOOLTIP_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ &(nonclient_metrics.lfStatusFont), sizeof(LOGFONTW));
+ memcpy(&(metrics[IDC_SYSPARAMS_MSGBOX_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ &(nonclient_metrics.lfMessageFont), sizeof(LOGFONTW));
}
static void apply_sysparams(void)
@@ -900,6 +915,19 @@ static void apply_sysparams(void)
nonclient_metrics.iScrollWidth = nonclient_metrics.iScrollHeight =
metrics[IDC_SYSPARAMS_SCROLLBAR - IDC_SYSPARAMS_BUTTON].size;
+ memcpy(&(nonclient_metrics.lfMenuFont),
+ &(metrics[IDC_SYSPARAMS_MENU_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ sizeof(LOGFONTW));
+ memcpy(&(nonclient_metrics.lfCaptionFont),
+ &(metrics[IDC_SYSPARAMS_ACTIVE_TITLE_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ sizeof(LOGFONTW));
+ memcpy(&(nonclient_metrics.lfStatusFont),
+ &(metrics[IDC_SYSPARAMS_TOOLTIP_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ sizeof(LOGFONTW));
+ memcpy(&(nonclient_metrics.lfMessageFont),
+ &(metrics[IDC_SYSPARAMS_MSGBOX_TEXT - IDC_SYSPARAMS_BUTTON].lf),
+ sizeof(LOGFONTW));
+
SystemParametersInfoW(SPI_SETNONCLIENTMETRICS, sizeof(nonclient_metrics), \
&nonclient_metrics, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
@@ -932,6 +960,13 @@ static void on_sysparam_change(HWND hDlg)
else
set_text(hDlg, IDC_SYSPARAM_SIZE, "");
+ EnableWindow(GetDlgItem(hDlg, IDC_SYSPARAM_FONT),
+ index == IDC_SYSPARAMS_MENU_TEXT-IDC_SYSPARAMS_BUTTON ||
+ index == IDC_SYSPARAMS_ACTIVE_TITLE_TEXT-IDC_SYSPARAMS_BUTTON ||
+ index == IDC_SYSPARAMS_TOOLTIP_TEXT-IDC_SYSPARAMS_BUTTON ||
+ index == IDC_SYSPARAMS_MSGBOX_TEXT-IDC_SYSPARAMS_BUTTON
+ );
+
updating_ui = FALSE;
}
@@ -970,6 +1005,21 @@ static void on_draw_item(HWND hDlg, WPARAM wParam, LPARAM \
lParam) }
}
+static void on_select_font(HWND hDlg)
+{
+ CHOOSEFONTW cf;
+ int index = SendDlgItemMessageW(hDlg, IDC_SYSPARAM_COMBO, CB_GETCURSEL, 0, 0);
+ index = SendDlgItemMessageW(hDlg, IDC_SYSPARAM_COMBO, CB_GETITEMDATA, index, 0);
+
+ ZeroMemory(&cf, sizeof(cf));
+ cf.lStructSize = sizeof(CHOOSEFONTW);
+ cf.hwndOwner = hDlg;
+ cf.lpLogFont = &(metrics[index].lf);
+ cf.Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT | CF_NOSCRIPTSEL;
+
+ ChooseFontW(&cf);
+}
+
INT_PTR CALLBACK
ThemeDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
@@ -1030,6 +1080,10 @@ ThemeDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM \
lParam) on_theme_install (hDlg);
break;
+ case IDC_SYSPARAM_FONT:
+ on_select_font(hDlg);
+ break;
+
case IDC_BROWSE_SFPATH:
if (browse_for_unix_folder(hDlg, \
psfiSelected->szLinkTarget)) { update_shell_folder_listview(hDlg);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic