From 4327fe71fe599e7a34d72541b792f5fcbb5614df Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 25 Feb 2016 20:42:00 +0000 Subject: [PATCH] Use readonly edit controls in some Windows dialogs. This makes the About and Licence boxes copy-and-pasteable, similarly to what I've just done on Unix. (But unlike on the Unix side, here I haven't touched the host key prompt dialog, because that's a standard Windows MessageBox and not easy to mess around with. Plus, in any case, you can already hit ^C to copy the whole text out of a MessageBox. Same goes for the PGP fingerprints dialog.) As a side effect, several copies of the copyright notice and licence text have moved from .rc files into C source. I've updated CHECKLST.txt, but they won't stay there for long. (cherry picked from commit 2eb952ca31aa13d1f6f429305fbb6f43a9a28c56) Conflicts: windows/pageant.rc windows/puttygen.rc windows/win_res.rc2 (cherry-picker's notes: the conflict was just because several copies of the licence text were deleted, and they weren't quite the same between branches) --- CHECKLST.txt | 8 ++++---- windows/pageant.rc | 45 +++++++------------------------------------ windows/puttygen.rc | 45 +++++++------------------------------------ windows/win_res.h | 8 +++----- windows/win_res.rc2 | 47 ++++++++------------------------------------- windows/windlg.c | 41 +++++++++++++++++++++++++++++++++++++-- windows/winpgen.c | 39 ++++++++++++++++++++++++++++++++++++- windows/winpgnt.c | 39 ++++++++++++++++++++++++++++++++++++- 8 files changed, 144 insertions(+), 128 deletions(-) diff --git a/CHECKLST.txt b/CHECKLST.txt index dd1218a7..2cf15dc7 100644 --- a/CHECKLST.txt +++ b/CHECKLST.txt @@ -13,15 +13,15 @@ The LICENCE file in the main source distribution: - putty/LICENCE -The resource files: +The various About and Licence boxes: - - putty/windows/pageant.rc + - putty/windows/winpgnt.c + the copyright date appears twice, once in the About box and once in the Licence box. Don't forget to change both! - - putty/windows/puttygen.rc + - putty/windows/winpgen.c + the copyright date appears twice, once in the About box and once in the Licence box. Don't forget to change both! - - putty/windows/win_res.rc2 + - putty/windows/windlg.c + the copyright date appears twice, once in the About box and once in the Licence box. Don't forget to change both! - putty/windows/version.rc2 diff --git a/windows/pageant.rc b/windows/pageant.rc index 20ec509b..91432cc7 100644 --- a/windows/pageant.rc +++ b/windows/pageant.rc @@ -36,56 +36,25 @@ BEGIN END /* Accelerators used: cl */ -213 DIALOG DISCARDABLE 140, 40, 136, 70 +213 DIALOG DISCARDABLE 140, 40, 214, 74 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "About Pageant" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "&Close", IDOK, 82, 52, 48, 14 - PUSHBUTTON "View &Licence", 101, 6, 52, 70, 14 - CTEXT "Pageant", 102, 10, 6, 120, 8 - CTEXT "", 100, 10, 16, 120, 16 - CTEXT "\251 1997-2015 Simon Tatham. All rights reserved.", - 103, 10, 34, 120, 16 + DEFPUSHBUTTON "&Close", IDOK, 160, 56, 48, 14 + PUSHBUTTON "View &Licence", 101, 6, 56, 70, 14 + EDITTEXT 1000, 10, 6, 194, 48, ES_READONLY | ES_MULTILINE | ES_CENTER, WS_EX_STATICEDGE END /* No accelerators used */ -214 DIALOG DISCARDABLE 50, 50, 226, 263 +214 DIALOG DISCARDABLE 50, 50, 326, 231 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "PuTTY Licence" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "OK", IDOK, 98, 243, 44, 14 - - LTEXT "Copyright \251 1997-2015 Simon Tatham", 1000, 10, 10, 206, 8 - - LTEXT "Portions copyright Robert de Bath, Joris van Rantwijk, Delian", 1001, 10, 26, 206, 8 - LTEXT "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas", 1002, 10, 34, 206, 8 - LTEXT "Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa,", 1003, 10, 42, 206, 8 - LTEXT "Markus Kuhn, Colin Watson, and CORE SDI S.A.", 1004, 10, 50, 206, 8 - - LTEXT "Permission is hereby granted, free of charge, to any person", 1005, 10, 66, 206, 8 - LTEXT "obtaining a copy of this software and associated documentation", 1006, 10, 74, 206, 8 - LTEXT "files (the ""Software""), to deal in the Software without restriction,", 1007, 10, 82, 206, 8 - LTEXT "including without limitation the rights to use, copy, modify, merge,", 1008, 10, 90, 206, 8 - LTEXT "publish, distribute, sublicense, and/or sell copies of the Software,", 1009, 10, 98, 206, 8 - LTEXT "and to permit persons to whom the Software is furnished to do so,", 1010, 10, 106, 206, 8 - LTEXT "subject to the following conditions:", 1011, 10, 114, 206, 8 - - LTEXT "The above copyright notice and this permission notice shall be", 1012, 10, 130, 206, 8 - LTEXT "included in all copies or substantial portions of the Software.", 1013, 10, 138, 206, 8 - - LTEXT "THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT", 1014, 10, 154, 206, 8 - LTEXT "WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,", 1015, 10, 162, 206, 8 - LTEXT "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF", 1016, 10, 170, 206, 8 - LTEXT "MERCHANTABILITY, FITNESS FOR A PARTICULAR", 1017, 10, 178, 206, 8 - LTEXT "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE", 1018, 10, 186, 206, 8 - LTEXT "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES", 1019, 10, 194, 206, 8 - LTEXT "OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,", 1020, 10, 202, 206, 8 - LTEXT "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN", 1021, 10, 210, 206, 8 - LTEXT "CONNECTION WITH THE SOFTWARE OR THE USE OR", 1022, 10, 218, 206, 8 - LTEXT "OTHER DEALINGS IN THE SOFTWARE.", 1023, 10, 226, 206, 8 + DEFPUSHBUTTON "OK", IDOK, 148, 211, 44, 14 + EDITTEXT 1000, 10, 10, 306, 192, ES_READONLY | ES_MULTILINE | ES_LEFT, WS_EX_STATICEDGE END #include "version.rc2" diff --git a/windows/puttygen.rc b/windows/puttygen.rc index 9547e754..5c61ee7d 100644 --- a/windows/puttygen.rc +++ b/windows/puttygen.rc @@ -29,56 +29,25 @@ BEGIN END /* Accelerators used: cl */ -213 DIALOG DISCARDABLE 140, 40, 136, 70 +213 DIALOG DISCARDABLE 140, 40, 214, 74 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "About PuTTYgen" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "&Close", IDOK, 82, 52, 48, 14 - PUSHBUTTON "View &Licence", 101, 6, 52, 70, 14 - CTEXT "PuTTYgen", 102, 10, 6, 120, 8 - CTEXT "", 100, 10, 16, 120, 16 - CTEXT "\251 1997-2015 Simon Tatham. All rights reserved.", - 103, 10, 34, 120, 16 + DEFPUSHBUTTON "&Close", IDOK, 160, 56, 48, 14 + PUSHBUTTON "View &Licence", 101, 6, 56, 70, 14 + EDITTEXT 1000, 10, 6, 194, 48, ES_READONLY | ES_MULTILINE | ES_CENTER, WS_EX_STATICEDGE END /* No accelerators used */ -214 DIALOG DISCARDABLE 50, 50, 226, 263 +214 DIALOG DISCARDABLE 50, 50, 326, 231 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "PuTTY Licence" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "OK", IDOK, 98, 243, 44, 14 - - LTEXT "Copyright \251 1997-2015 Simon Tatham", 1000, 10, 10, 206, 8 - - LTEXT "Portions copyright Robert de Bath, Joris van Rantwijk, Delian", 1001, 10, 26, 206, 8 - LTEXT "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas", 1002, 10, 34, 206, 8 - LTEXT "Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa,", 1003, 10, 42, 206, 8 - LTEXT "Markus Kuhn, Colin Watson, and CORE SDI S.A.", 1004, 10, 50, 206, 8 - - LTEXT "Permission is hereby granted, free of charge, to any person", 1005, 10, 66, 206, 8 - LTEXT "obtaining a copy of this software and associated documentation", 1006, 10, 74, 206, 8 - LTEXT "files (the ""Software""), to deal in the Software without restriction,", 1007, 10, 82, 206, 8 - LTEXT "including without limitation the rights to use, copy, modify, merge,", 1008, 10, 90, 206, 8 - LTEXT "publish, distribute, sublicense, and/or sell copies of the Software,", 1009, 10, 98, 206, 8 - LTEXT "and to permit persons to whom the Software is furnished to do so,", 1010, 10, 106, 206, 8 - LTEXT "subject to the following conditions:", 1011, 10, 114, 206, 8 - - LTEXT "The above copyright notice and this permission notice shall be", 1012, 10, 130, 206, 8 - LTEXT "included in all copies or substantial portions of the Software.", 1013, 10, 138, 206, 8 - - LTEXT "THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT", 1014, 10, 154, 206, 8 - LTEXT "WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,", 1015, 10, 162, 206, 8 - LTEXT "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF", 1016, 10, 170, 206, 8 - LTEXT "MERCHANTABILITY, FITNESS FOR A PARTICULAR", 1017, 10, 178, 206, 8 - LTEXT "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE", 1018, 10, 186, 206, 8 - LTEXT "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES", 1019, 10, 194, 206, 8 - LTEXT "OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,", 1020, 10, 202, 206, 8 - LTEXT "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN", 1021, 10, 210, 206, 8 - LTEXT "CONNECTION WITH THE SOFTWARE OR THE USE OR", 1022, 10, 218, 206, 8 - LTEXT "OTHER DEALINGS IN THE SOFTWARE.", 1023, 10, 226, 206, 8 + DEFPUSHBUTTON "OK", IDOK, 148, 211, 44, 14 + EDITTEXT 1000, 10, 10, 306, 192, ES_READONLY | ES_MULTILINE | ES_LEFT, WS_EX_STATICEDGE END #include "version.rc2" diff --git a/windows/win_res.h b/windows/win_res.h index 118f7495..4a5a48f6 100644 --- a/windows/win_res.h +++ b/windows/win_res.h @@ -18,11 +18,9 @@ #define IDN_COPY 1002 #define IDA_ICON 1001 -#define IDA_TEXT1 1002 -#define IDA_VERSION 1003 -#define IDA_TEXT2 1004 -#define IDA_LICENCE 1005 -#define IDA_WEB 1006 +#define IDA_TEXT 1002 +#define IDA_LICENCE 1003 +#define IDA_WEB 1004 #define IDC_TAB 1001 #define IDC_TABSTATIC1 1002 diff --git a/windows/win_res.rc2 b/windows/win_res.rc2 index b7dfd945..28e66320 100644 --- a/windows/win_res.rc2 +++ b/windows/win_res.rc2 @@ -16,18 +16,15 @@ IDI_MAINICON ICON "putty.ico" IDI_CFGICON ICON "puttycfg.ico" /* Accelerators used: clw */ -IDD_ABOUTBOX DIALOG DISCARDABLE 140, 40, 214, 70 +IDD_ABOUTBOX DIALOG DISCARDABLE 140, 40, 214, 74 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "About PuTTY" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "&Close", IDOK, 160, 52, 48, 14 - PUSHBUTTON "View &Licence", IDA_LICENCE, 6, 52, 70, 14 - PUSHBUTTON "Visit &Web Site", IDA_WEB, 84, 52, 70, 14 - CTEXT "PuTTY", IDA_TEXT1, 10, 6, 194, 8 - CTEXT "", IDA_VERSION, 10, 16, 194, 16 - CTEXT "\251 1997-2015 Simon Tatham. All rights reserved.", - IDA_TEXT2, 10, 34, 194, 16 + DEFPUSHBUTTON "&Close", IDOK, 160, 56, 48, 14 + PUSHBUTTON "View &Licence", IDA_LICENCE, 6, 56, 70, 14 + PUSHBUTTON "Visit &Web Site", IDA_WEB, 84, 56, 70, 14 + EDITTEXT IDA_TEXT, 10, 6, 194, 48, ES_READONLY | ES_MULTILINE | ES_CENTER, WS_EX_STATICEDGE END /* Accelerators used: aco */ @@ -51,42 +48,14 @@ BEGIN END /* No accelerators used */ -IDD_LICENCEBOX DIALOG DISCARDABLE 50, 50, 226, 263 +IDD_LICENCEBOX DIALOG DISCARDABLE 50, 50, 326, 231 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "PuTTY Licence" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "OK", IDOK, 98, 243, 44, 14 - - LTEXT "Copyright \251 1997-2015 Simon Tatham", 1000, 10, 10, 206, 8 - - LTEXT "Portions copyright Robert de Bath, Joris van Rantwijk, Delian", 1001, 10, 26, 206, 8 - LTEXT "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas", 1002, 10, 34, 206, 8 - LTEXT "Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa,", 1003, 10, 42, 206, 8 - LTEXT "Markus Kuhn, Colin Watson, and CORE SDI S.A.", 1004, 10, 50, 206, 8 - - LTEXT "Permission is hereby granted, free of charge, to any person", 1005, 10, 66, 206, 8 - LTEXT "obtaining a copy of this software and associated documentation", 1006, 10, 74, 206, 8 - LTEXT "files (the ""Software""), to deal in the Software without restriction,", 1007, 10, 82, 206, 8 - LTEXT "including without limitation the rights to use, copy, modify, merge,", 1008, 10, 90, 206, 8 - LTEXT "publish, distribute, sublicense, and/or sell copies of the Software,", 1009, 10, 98, 206, 8 - LTEXT "and to permit persons to whom the Software is furnished to do so,", 1010, 10, 106, 206, 8 - LTEXT "subject to the following conditions:", 1011, 10, 114, 206, 8 - - LTEXT "The above copyright notice and this permission notice shall be", 1012, 10, 130, 206, 8 - LTEXT "included in all copies or substantial portions of the Software.", 1013, 10, 138, 206, 8 - - LTEXT "THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT", 1014, 10, 154, 206, 8 - LTEXT "WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,", 1015, 10, 162, 206, 8 - LTEXT "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF", 1016, 10, 170, 206, 8 - LTEXT "MERCHANTABILITY, FITNESS FOR A PARTICULAR", 1017, 10, 178, 206, 8 - LTEXT "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE", 1018, 10, 186, 206, 8 - LTEXT "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES", 1019, 10, 194, 206, 8 - LTEXT "OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,", 1020, 10, 202, 206, 8 - LTEXT "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN", 1021, 10, 210, 206, 8 - LTEXT "CONNECTION WITH THE SOFTWARE OR THE USE OR", 1022, 10, 218, 206, 8 - LTEXT "OTHER DEALINGS IN THE SOFTWARE.", 1023, 10, 226, 206, 8 + DEFPUSHBUTTON "OK", IDOK, 148, 211, 44, 14 + EDITTEXT IDA_TEXT, 10, 10, 306, 192, ES_READONLY | ES_MULTILINE | ES_LEFT, WS_EX_STATICEDGE END #include "version.rc2" diff --git a/windows/windlg.c b/windows/windlg.c index 716d046b..0e1d29a0 100644 --- a/windows/windlg.c +++ b/windows/windlg.c @@ -170,6 +170,37 @@ static int CALLBACK LicenceProc(HWND hwnd, UINT msg, char *str = dupprintf("%s Licence", appname); SetWindowText(hwnd, str); sfree(str); + + SetDlgItemText(hwnd, IDA_TEXT, + "Copyright 1997-2015 Simon Tatham.\r\n\r\n" + + "Portions copyright Robert de Bath, Joris van Rantwijk, Delian " + "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas " + "Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, " + "Markus Kuhn, Colin Watson, Christopher Staite, and CORE SDI S.A.\r\n\r\n" + + "Permission is hereby granted, free of charge, to any person " + "obtaining a copy of this software and associated documentation " + "files (the ""Software""), to deal in the Software without restriction, " + "including without limitation the rights to use, copy, modify, merge, " + "publish, distribute, sublicense, and/or sell copies of the Software, " + "and to permit persons to whom the Software is furnished to do so, " + "subject to the following conditions:\r\n\r\n" + + "The above copyright notice and this permission notice shall be " + "included in all copies or substantial portions of the Software.\r\n\r\n" + + "THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT " + "WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, " + "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF " + "MERCHANTABILITY, FITNESS FOR A PARTICULAR " + "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " + "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES " + "OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, " + "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN " + "CONNECTION WITH THE SOFTWARE OR THE USE OR " + "OTHER DEALINGS IN THE SOFTWARE." +); } return 1; case WM_COMMAND: @@ -197,8 +228,14 @@ static int CALLBACK AboutProc(HWND hwnd, UINT msg, str = dupprintf("About %s", appname); SetWindowText(hwnd, str); sfree(str); - SetDlgItemText(hwnd, IDA_TEXT1, appname); - SetDlgItemText(hwnd, IDA_VERSION, ver); + { + char *text = dupprintf + ("%s\r\n\r\n%s\r\n\r\n%s", + appname, ver, + "\251 1997-2015 Simon Tatham. All rights reserved."); + SetDlgItemText(hwnd, IDA_TEXT, text); + sfree(text); + } return 1; case WM_COMMAND: switch (LOWORD(wParam)) { diff --git a/windows/winpgen.c b/windows/winpgen.c index 33d76c64..d0d095da 100644 --- a/windows/winpgen.c +++ b/windows/winpgen.c @@ -253,6 +253,36 @@ static int CALLBACK LicenceProc(HWND hwnd, UINT msg, rd.right - rd.left, rd.bottom - rd.top, TRUE); } + SetDlgItemText(hwnd, 1000, + "Copyright 1997-2015 Simon Tatham.\r\n\r\n" + + "Portions copyright Robert de Bath, Joris van Rantwijk, Delian " + "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas " + "Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, " + "Markus Kuhn, Colin Watson, Christopher Staite, and CORE SDI S.A.\r\n\r\n" + + "Permission is hereby granted, free of charge, to any person " + "obtaining a copy of this software and associated documentation " + "files (the ""Software""), to deal in the Software without restriction, " + "including without limitation the rights to use, copy, modify, merge, " + "publish, distribute, sublicense, and/or sell copies of the Software, " + "and to permit persons to whom the Software is furnished to do so, " + "subject to the following conditions:\r\n\r\n" + + "The above copyright notice and this permission notice shall be " + "included in all copies or substantial portions of the Software.\r\n\r\n" + + "THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT " + "WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, " + "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF " + "MERCHANTABILITY, FITNESS FOR A PARTICULAR " + "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " + "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES " + "OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, " + "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN " + "CONNECTION WITH THE SOFTWARE OR THE USE OR " + "OTHER DEALINGS IN THE SOFTWARE." +); return 1; case WM_COMMAND: switch (LOWORD(wParam)) { @@ -292,7 +322,14 @@ static int CALLBACK AboutProc(HWND hwnd, UINT msg, rd.right - rd.left, rd.bottom - rd.top, TRUE); } - SetDlgItemText(hwnd, 100, ver); + { + char *text = dupprintf + ("Pageant\r\n\r\n%s\r\n\r\n%s", + ver, + "\251 1997-2015 Simon Tatham. All rights reserved."); + SetDlgItemText(hwnd, 1000, text); + sfree(text); + } return 1; case WM_COMMAND: switch (LOWORD(wParam)) { diff --git a/windows/winpgnt.c b/windows/winpgnt.c index 22b60788..facbfa57 100644 --- a/windows/winpgnt.c +++ b/windows/winpgnt.c @@ -183,6 +183,36 @@ static int CALLBACK LicenceProc(HWND hwnd, UINT msg, { switch (msg) { case WM_INITDIALOG: + SetDlgItemText(hwnd, 1000, + "Copyright 1997-2015 Simon Tatham.\r\n\r\n" + + "Portions copyright Robert de Bath, Joris van Rantwijk, Delian " + "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas " + "Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, " + "Markus Kuhn, Colin Watson, Christopher Staite, and CORE SDI S.A.\r\n\r\n" + + "Permission is hereby granted, free of charge, to any person " + "obtaining a copy of this software and associated documentation " + "files (the ""Software""), to deal in the Software without restriction, " + "including without limitation the rights to use, copy, modify, merge, " + "publish, distribute, sublicense, and/or sell copies of the Software, " + "and to permit persons to whom the Software is furnished to do so, " + "subject to the following conditions:\r\n\r\n" + + "The above copyright notice and this permission notice shall be " + "included in all copies or substantial portions of the Software.\r\n\r\n" + + "THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT " + "WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, " + "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF " + "MERCHANTABILITY, FITNESS FOR A PARTICULAR " + "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " + "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES " + "OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, " + "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN " + "CONNECTION WITH THE SOFTWARE OR THE USE OR " + "OTHER DEALINGS IN THE SOFTWARE." +); return 1; case WM_COMMAND: switch (LOWORD(wParam)) { @@ -207,7 +237,14 @@ static int CALLBACK AboutProc(HWND hwnd, UINT msg, { switch (msg) { case WM_INITDIALOG: - SetDlgItemText(hwnd, 100, ver); + { + char *text = dupprintf + ("Pageant\r\n\r\n%s\r\n\r\n%s", + ver, + "\251 1997-2015 Simon Tatham. All rights reserved."); + SetDlgItemText(hwnd, 1000, text); + sfree(text); + } return 1; case WM_COMMAND: switch (LOWORD(wParam)) {