Commit f4d19e6b authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

Added checks when editing window and sb size so that they are kept

consistent.
parent a89063e3
...@@ -611,7 +611,6 @@ static BOOL WINAPI WCUSER_ConfigDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPAR ...@@ -611,7 +611,6 @@ static BOOL WINAPI WCUSER_ConfigDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPAR
0, (LPARAM)s2); 0, (LPARAM)s2);
SendDlgItemMessage(hDlg, IDC_CNF_EDITION_MODE, CB_SETCURSEL, SendDlgItemMessage(hDlg, IDC_CNF_EDITION_MODE, CB_SETCURSEL,
di->config.edition_mode, 0); di->config.edition_mode, 0);
WINE_FIXME("edmo=%d\n", di->config.edition_mode);
} }
break; break;
...@@ -624,7 +623,7 @@ static BOOL WINAPI WCUSER_ConfigDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPAR ...@@ -624,7 +623,7 @@ static BOOL WINAPI WCUSER_ConfigDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPAR
case WM_NOTIFY: case WM_NOTIFY:
{ {
NMHDR* nmhdr = (NMHDR*)lParam; NMHDR* nmhdr = (NMHDR*)lParam;
int x, y; int win_w, win_h, sb_w, sb_h;
BOOL st1, st2; BOOL st1, st2;
di = (struct dialog_info*)GetWindowLong(hDlg, DWL_USER); di = (struct dialog_info*)GetWindowLong(hDlg, DWL_USER);
...@@ -634,21 +633,39 @@ static BOOL WINAPI WCUSER_ConfigDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPAR ...@@ -634,21 +633,39 @@ static BOOL WINAPI WCUSER_ConfigDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPAR
di->hDlg = hDlg; di->hDlg = hDlg;
break; break;
case PSN_APPLY: case PSN_APPLY:
x = GetDlgItemInt(hDlg, IDC_CNF_SB_WIDTH, &st1, FALSE); sb_w = GetDlgItemInt(hDlg, IDC_CNF_SB_WIDTH, &st1, FALSE);
y = GetDlgItemInt(hDlg, IDC_CNF_SB_HEIGHT, &st2, FALSE); sb_h = GetDlgItemInt(hDlg, IDC_CNF_SB_HEIGHT, &st2, FALSE);
if (st1 && st2) if (!st1 || ! st2)
{ {
di->config.sb_width = x; SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_INVALID);
di->config.sb_height = y; return TRUE;
} }
win_w = GetDlgItemInt(hDlg, IDC_CNF_WIN_WIDTH, &st1, FALSE);
x = GetDlgItemInt(hDlg, IDC_CNF_WIN_WIDTH, &st1, FALSE); win_h = GetDlgItemInt(hDlg, IDC_CNF_WIN_HEIGHT, &st2, FALSE);
y = GetDlgItemInt(hDlg, IDC_CNF_WIN_HEIGHT, &st2, FALSE); if (!st1 || !st2)
if (st1 && st2) {
SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_INVALID);
return TRUE;
}
if (win_w > sb_w || win_h > sb_h)
{ {
di->config.win_width = x; WCHAR cap[256];
di->config.win_height = y; WCHAR txt[256];
LoadString(GetModuleHandle(NULL), IDS_DLG_TIT_ERROR,
cap, sizeof(cap) / sizeof(WCHAR));
LoadString(GetModuleHandle(NULL), IDS_DLG_ERR_SBWINSIZE,
txt, sizeof(txt) / sizeof(WCHAR));
MessageBox(hDlg, txt, cap, MB_OK);
SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_INVALID);
return TRUE;
} }
di->config.win_width = win_w;
di->config.win_height = win_h;
di->config.sb_width = sb_w;
di->config.sb_height = sb_h;
di->config.exit_on_die = IsDlgButtonChecked(hDlg, IDC_CNF_CLOSE_EXIT) ? 1 : 0; di->config.exit_on_die = IsDlgButtonChecked(hDlg, IDC_CNF_CLOSE_EXIT) ? 1 : 0;
di->config.edition_mode = SendDlgItemMessage(hDlg, IDC_CNF_EDITION_MODE, CB_GETCURSEL, di->config.edition_mode = SendDlgItemMessage(hDlg, IDC_CNF_EDITION_MODE, CB_GETCURSEL,
0, 0); 0, 0);
......
...@@ -32,8 +32,10 @@ IDS_SEARCH, "&Suchen" ...@@ -32,8 +32,10 @@ IDS_SEARCH, "&Suchen"
IDS_FNT_DISPLAY, "Jeder Buchstabe ist %ld Pixel breit und %ld Pixel hoch" IDS_FNT_DISPLAY, "Jeder Buchstabe ist %ld Pixel breit und %ld Pixel hoch"
IDS_FNT_PREVIEW_1, "Dies ist ein Test" IDS_FNT_PREVIEW_1, "Dies ist ein Test"
IDS_FNT_PREVIEW_2, "" IDS_FNT_PREVIEW_2, ""
IDS_DLG_TIT_DEFAULT "Setup - Standardeinstellungen" IDS_DLG_TIT_DEFAULT, "Setup - Standardeinstellungen"
IDS_DLG_TIT_CURRENT "Setup - aktuelle Einstellungen" IDS_DLG_TIT_CURRENT, "Setup - aktuelle Einstellungen"
IDS_DLG_TIT_ERROR, "Configuration error"
IDS_DLG_ERR_SBWINSIZE, "Screen buffer size must be greater or equal to the window's one"
END END
IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105 IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105
......
...@@ -32,8 +32,10 @@ IDS_SEARCH, "S&earch" ...@@ -32,8 +32,10 @@ IDS_SEARCH, "S&earch"
IDS_FNT_DISPLAY, "Each character is %ld pixels wide on %ld pixels high" IDS_FNT_DISPLAY, "Each character is %ld pixels wide on %ld pixels high"
IDS_FNT_PREVIEW_1, "This is a test" IDS_FNT_PREVIEW_1, "This is a test"
IDS_FNT_PREVIEW_2, "" IDS_FNT_PREVIEW_2, ""
IDS_DLG_TIT_DEFAULT "Setup - Default settings" IDS_DLG_TIT_DEFAULT, "Setup - Default settings"
IDS_DLG_TIT_CURRENT "Setup - Current settings" IDS_DLG_TIT_CURRENT, "Setup - Current settings"
IDS_DLG_TIT_ERROR, "Configuration error"
IDS_DLG_ERR_SBWINSIZE, "Screen buffer size must be greater or equal to the window's one"
END END
IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105 IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105
......
...@@ -32,8 +32,10 @@ IDS_SEARCH, "C&hercher" ...@@ -32,8 +32,10 @@ IDS_SEARCH, "C&hercher"
IDS_FNT_DISPLAY, "Chaque caractre a %ld points en largeur et %ld points en hauteur" IDS_FNT_DISPLAY, "Chaque caractre a %ld points en largeur et %ld points en hauteur"
IDS_FNT_PREVIEW_1, "Ceci est un test" IDS_FNT_PREVIEW_1, "Ceci est un test"
IDS_FNT_PREVIEW_2, "" IDS_FNT_PREVIEW_2, ""
IDS_DLG_TIT_DEFAULT "Configuration par dfault" IDS_DLG_TIT_DEFAULT, "Configuration par dfault"
IDS_DLG_TIT_CURRENT "Configuration courante" IDS_DLG_TIT_CURRENT, "Configuration courante"
IDS_DLG_TIT_ERROR, "Erreur de configuration"
IDS_DLG_ERR_SBWINSIZE, "La taille du tampon cran doit tre plus grande que celle de la fentre"
END END
IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105 IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105
......
...@@ -33,8 +33,10 @@ IDS_SEARCH, "&Keress" ...@@ -33,8 +33,10 @@ IDS_SEARCH, "&Keress"
IDS_FNT_DISPLAY, "Minden karakter %ld pixel szles s %ld pixel magas" IDS_FNT_DISPLAY, "Minden karakter %ld pixel szles s %ld pixel magas"
IDS_FNT_PREVIEW_1, "Ez egy teszt" IDS_FNT_PREVIEW_1, "Ez egy teszt"
IDS_FNT_PREVIEW_2, "" IDS_FNT_PREVIEW_2, ""
IDS_DLG_TIT_DEFAULT "Bellts - alaprtelmezett belltsok" IDS_DLG_TIT_DEFAULT, "Bellts - alaprtelmezett belltsok"
IDS_DLG_TIT_CURRENT "Bellts - aktulis belltsok" IDS_DLG_TIT_CURRENT, "Bellts - aktulis belltsok"
IDS_DLG_TIT_ERROR, "Configuration error"
IDS_DLG_ERR_SBWINSIZE, "Screen buffer size must be greater or equal to the window's one"
END END
IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105 IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105
......
...@@ -34,8 +34,10 @@ IDS_SEARCH, "搜索(&E)" ...@@ -34,8 +34,10 @@ IDS_SEARCH, "搜索(&E)"
IDS_FNT_DISPLAY, "每个字都是 %ld 个像素宽,%ld 个像素高" IDS_FNT_DISPLAY, "每个字都是 %ld 个像素宽,%ld 个像素高"
IDS_FNT_PREVIEW_1, "这是一段测试语句" IDS_FNT_PREVIEW_1, "这是一段测试语句"
IDS_FNT_PREVIEW_2, "" IDS_FNT_PREVIEW_2, ""
IDS_DLG_TIT_DEFAULT "配置 - 默认设置" IDS_DLG_TIT_DEFAULT, "配置 - 默认设置"
IDS_DLG_TIT_CURRENT "配置 - 当前设置" IDS_DLG_TIT_CURRENT, "配置 - 当前设置"
IDS_DLG_TIT_ERROR, "Configuration error"
IDS_DLG_ERR_SBWINSIZE, "Screen buffer size must be greater or equal to the window's one"
END END
IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105 IDD_OPTION DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 140, 105
......
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
#define IDS_DLG_TIT_DEFAULT 0x120 #define IDS_DLG_TIT_DEFAULT 0x120
#define IDS_DLG_TIT_CURRENT 0x121 #define IDS_DLG_TIT_CURRENT 0x121
#define IDS_DLG_TIT_ERROR 0x122
#define IDS_DLG_ERR_SBWINSIZE 0x130
#define IDS_FNT_DISPLAY 0x200 #define IDS_FNT_DISPLAY 0x200
#define IDS_FNT_PREVIEW_1 0x201 #define IDS_FNT_PREVIEW_1 0x201
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment