From c338f02abf2553b01511e88216af6eda51592642 Mon Sep 17 00:00:00 2001
From: Ilya Shpigor <shpigor@etersoft.ru>
Date: Fri, 15 May 2009 12:12:45 +0400
Subject: [PATCH] shell32: Add WINE@Etersoft product string in the winver

---
 dlls/shell32/shell32_Ru.rc  |   23 ++++++++++++-----------
 dlls/shell32/shell32_main.c |    8 +++++++-
 dlls/shell32/shresdef.h     |    1 +
 3 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/dlls/shell32/shell32_Ru.rc b/dlls/shell32/shell32_Ru.rc
index fdf1add..fa3d6ab 100644
--- a/dlls/shell32/shell32_Ru.rc
+++ b/dlls/shell32/shell32_Ru.rc
@@ -159,25 +159,26 @@ FONT 8, "MS Shell Dlg"
     LTEXT "", IDD_MESSAGE, 40, 10, 238, 52, 0
 }
 
-SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 335, 200
+SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 335, 216
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Î %s"
 FONT 10, "MS Shell Dlg"
 {
 /*ICON "", stc1, 10, 10, 30, 30*/
 CONTROL "", IDC_ABOUT_LOGO_ETERSOFT, "Static", SS_BITMAP, 0, 0, 60, 60
-DEFPUSHBUTTON "OK", IDOK, 256, 178, 70, 16, WS_TABSTOP
-PUSHBUTTON "&Ëèöåíçèÿ Wine...", IDC_ABOUT_LICENSE, 152, 178, 70, 16, WS_TABSTOP
-PUSHBUTTON "&Ëèöåíçèÿ Etersoft", IDC_ABOUT_LICENSE_ETERSOFT, 152, 158, 70, 16, WS_TABSTOP
-LISTBOX IDC_ABOUT_LISTBOX, 8, 107, 137, 90, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+DEFPUSHBUTTON "OK", IDOK, 256, 194, 70, 16, WS_TABSTOP
+PUSHBUTTON "&Ëèöåíçèÿ Wine...", IDC_ABOUT_LICENSE, 152, 194, 70, 16, WS_TABSTOP
+PUSHBUTTON "&Ëèöåíçèÿ Etersoft", IDC_ABOUT_LICENSE_ETERSOFT, 152, 174, 70, 16, WS_TABSTOP
+LISTBOX IDC_ABOUT_LISTBOX, 8, 123, 137, 90, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
 LTEXT "", IDC_ABOUT_STATIC_TEXT1, 35, 65, 137, 8
 LTEXT "Âåðñèÿ %s", IDC_ABOUT_STATIC_TEXT2, 35, 73, 290, 8
-LTEXT "%s", IDC_ABOUT_STATIC_OWNER, 153, 98, 174, 10
-LTEXT "%s", IDC_ABOUT_STATIC_RESPONSIBLE, 153, 110, 174, 10
-LTEXT "%s", IDC_ABOUT_STATIC_REGNUM, 153, 122, 174, 10
-LTEXT "", IDC_ABOUT_STATIC_TEXT3, 153, 134, 137, 8
-LTEXT "", IDC_ABOUT_STATIC_LINK, 153, 142, 160, 8, SS_NOTIFY
-LTEXT "Ðàçðàáîò÷èêè Wine:", IDC_ABOUT_WINE_TEXT, 8, 98, 137, 8
+LTEXT "%s", IDC_ABOUT_STATIC_PRODUCT, 35, 89, 290, 8
+LTEXT "%s", IDC_ABOUT_STATIC_OWNER, 153, 114, 174, 10
+LTEXT "%s", IDC_ABOUT_STATIC_RESPONSIBLE, 153, 126, 174, 10
+LTEXT "%s", IDC_ABOUT_STATIC_REGNUM, 153, 138, 174, 10
+LTEXT "", IDC_ABOUT_STATIC_TEXT3, 153, 150, 137, 8
+LTEXT "", IDC_ABOUT_STATIC_LINK, 153, 158, 160, 8, SS_NOTIFY
+LTEXT "Ðàçðàáîò÷èêè Wine:", IDC_ABOUT_WINE_TEXT, 8, 114, 137, 8
 }
 
 SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index d8a949d..2b87128 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -1007,7 +1007,7 @@ INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
         {
             ABOUT_INFO *info = (ABOUT_INFO *)lParam;
             CHAR nversion[512];
-            WCHAR template[512], buffer[512], version[512];
+            WCHAR template[512], buffer[512], version[512], product[512];
             WCHAR url[512], regnum[64], owner[256], responsible[256];
             WCHAR templ2[] = {'%','s',':',' ','%','s',0};
             WCHAR loadstr[512];
@@ -1067,6 +1067,7 @@ INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
                 MultiByteToWideChar( CP_UTF8, 0, etersoft_getlicense(ETERSOFT_LICENSE_RESPONSIBLE, 0), -1, responsible,  sizeof(responsible)/sizeof(WCHAR) );
                 MultiByteToWideChar( CP_UTF8, 0, etersoft_getlicense(ETERSOFT_LICENSE_REGNUM, 0), -1,regnum,  sizeof(regnum)/sizeof(WCHAR) );
                 MultiByteToWideChar( CP_UTF8, 0, etersoft_getlicense(ETERSOFT_LICENSE_URL, 0), -1,url, sizeof(url)/sizeof(WCHAR) );
+                MultiByteToWideChar( CP_UTF8, 0, etersoft_getlicense(ETERSOFT_LICENSE_PRODUCT, 0), -1,product, sizeof(url)/sizeof(WCHAR) );
 
                 GetWindowTextW( hWnd, template, sizeof(template)/sizeof(WCHAR) );
                 sprintfW( buffer, template, info->szApp );
@@ -1079,6 +1080,11 @@ INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
                 sprintfW( buffer, template, version);
                 SetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_TEXT2), buffer );
 
+                GetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_PRODUCT),
+                                template, sizeof(template)/sizeof(WCHAR) );
+                sprintfW( buffer, template, product);
+                SetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_PRODUCT), buffer );
+
                 GetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_OWNER),
                                 template, sizeof(template)/sizeof(WCHAR) );
 
diff --git a/dlls/shell32/shresdef.h b/dlls/shell32/shresdef.h
index 201df04..a67bce4 100644
--- a/dlls/shell32/shresdef.h
+++ b/dlls/shell32/shresdef.h
@@ -197,6 +197,7 @@ FIXME: Need to add them, but for now just let them use the same: searching.avi
 #define IDC_ABOUT_STATIC_REGNUM 106
 #define IDC_ABOUT_STATIC_LINK 107
 #define IDC_ABOUT_LOGO_ETERSOFT 108
+#define IDC_ABOUT_STATIC_PRODUCT   109
 
 /* run dialog */
 #define IDC_RUNDLG_DESCRIPTION  12289
-- 
1.6.2.5

