Owen Rudge : appwiz.cpl: Add basic Support Information dialog.
Alexandre Julliard
julliard at winehq.org
Fri Jul 25 08:13:56 CDT 2008
Module: wine
Branch: master
Commit: d508a58cafbb42230a7a77e49a79319d2c8a1764
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d508a58cafbb42230a7a77e49a79319d2c8a1764
Author: Owen Rudge <owen at owenrudge.net>
Date: Mon Jul 21 19:44:02 2008 +0100
appwiz.cpl: Add basic Support Information dialog.
---
dlls/appwiz.cpl/En.rc | 25 ++++++++++++++
dlls/appwiz.cpl/appwiz.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++
dlls/appwiz.cpl/res.h | 10 ++++++
3 files changed, 117 insertions(+), 0 deletions(-)
diff --git a/dlls/appwiz.cpl/En.rc b/dlls/appwiz.cpl/En.rc
index fde9fa1..155f46c 100644
--- a/dlls/appwiz.cpl/En.rc
+++ b/dlls/appwiz.cpl/En.rc
@@ -51,3 +51,28 @@ FONT 8, "MS Sans Serif"
CONTROL "&Support Info...", IDC_SUPPORT_INFO, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 176, 198, 64, 14
CONTROL 3, 1003, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 7, 57, 21, 20
}
+
+IDD_INFO DIALOG 0, 0, 256, 138
+STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "Support Information"
+FONT 8, "MS Sans Serif"
+{
+ CONTROL "OK", IDOK, "BUTTON", BS_DEFPUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 116, 50, 14
+ CONTROL "The following information can be used to get technical support for %s:", IDC_INFO_LABEL, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 12, 9, 228, 19
+ CONTROL "Publisher:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 30, 60, 8
+ CONTROL "Version:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 40, 60, 8
+ CONTROL "Contact:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 50, 60, 8
+ CONTROL "Support Information:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 60, 64, 8
+ CONTROL "Support Telephone:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 70, 68, 8
+ CONTROL "Readme:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 80, 60, 8
+ CONTROL "Product Updates:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 90, 60, 8
+ CONTROL "Comments:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 100, 60, 8
+ CONTROL "", IDC_INFO_PUBLISHER, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 30, 136, 8
+ CONTROL "", IDC_INFO_VERSION, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 40, 136, 8
+ CONTROL "", IDC_INFO_CONTACT, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 50, 136, 8
+ CONTROL "", IDC_INFO_SUPPORT, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 60, 136, 8
+ CONTROL "", IDC_INFO_PHONE, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 70, 136, 8
+ CONTROL "", IDC_INFO_README, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 80, 136, 8
+ CONTROL "", IDC_INFO_UPDATES, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 90, 136, 8
+ CONTROL "", IDC_INFO_COMMENTS, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 100, 136, 8
+}
diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c
index fa4d573..a13dea1 100644
--- a/dlls/appwiz.cpl/appwiz.c
+++ b/dlls/appwiz.cpl/appwiz.c
@@ -426,6 +426,72 @@ static void UninstallProgram(int id)
}
}
+/******************************************************************************
+ * Name : SupportInfoDlgProc
+ * Description: Callback procedure for support info dialog
+ * Parameters : hWnd - hWnd of the window
+ * msg - reason for calling function
+ * wParam - additional parameter
+ * lParam - additional parameter
+ * Returns : Dependant on message
+ */
+static BOOL CALLBACK SupportInfoDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ APPINFO *iter;
+ WCHAR oldtitle[MAX_STRING_LEN];
+ WCHAR buf[MAX_STRING_LEN];
+
+ switch(msg)
+ {
+ case WM_INITDIALOG:
+ for (iter = AppInfo; iter; iter = iter->next)
+ {
+ if (iter->id == (int) lParam)
+ {
+ /* Update the main label with the app name */
+ if (GetWindowTextW(GetDlgItem(hWnd, IDC_INFO_LABEL), oldtitle,
+ MAX_STRING_LEN) != 0)
+ {
+ wsprintfW(buf, oldtitle, iter->title);
+ SetWindowTextW(GetDlgItem(hWnd, IDC_INFO_LABEL), buf);
+ }
+
+ break;
+ }
+ }
+
+ return TRUE;
+
+ case WM_DESTROY:
+ return 0;
+
+ case WM_COMMAND:
+ switch (LOWORD(wParam))
+ {
+ case IDOK:
+ EndDialog(hWnd, TRUE);
+ break;
+
+ }
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/******************************************************************************
+ * Name : SupportInfo
+ * Description: Displays the Support Information dialog
+ * Parameters : hWnd - Handle of the main dialog
+ * id - ID of the application to display information for
+ */
+static void SupportInfo(HWND hWnd, int id)
+{
+ DialogBoxParamW(hInst, MAKEINTRESOURCEW(IDD_INFO), hWnd, (DLGPROC)
+ SupportInfoDlgProc, (LPARAM) id);
+}
+
/* Definition of column headers for AddListViewColumns function */
typedef struct AppWizColumn {
int width;
@@ -609,6 +675,22 @@ static BOOL CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPar
hImageList = ResetApplicationList(FALSE, hWnd, hImageList);
break;
+
+ case IDC_SUPPORT_INFO:
+ selitem = SendDlgItemMessageW(hWnd, IDL_PROGRAMS,
+ LVM_GETNEXTITEM, -1, LVNI_FOCUSED | LVNI_SELECTED);
+
+ if (selitem != -1)
+ {
+ lvItem.iItem = selitem;
+ lvItem.mask = LVIF_PARAM;
+
+ if (SendDlgItemMessageW(hWnd, IDL_PROGRAMS, LVM_GETITEMW,
+ 0, (LPARAM) &lvItem))
+ SupportInfo(hWnd, lvItem.lParam);
+ }
+
+ break;
}
return TRUE;
diff --git a/dlls/appwiz.cpl/res.h b/dlls/appwiz.cpl/res.h
index 2aff5ca..ea32be8 100644
--- a/dlls/appwiz.cpl/res.h
+++ b/dlls/appwiz.cpl/res.h
@@ -30,6 +30,16 @@
#define IDC_ADDREMOVE 1012
#define IDC_SUPPORT_INFO 1013
+#define IDC_INFO_PUBLISHER 1100
+#define IDC_INFO_VERSION 1101
+#define IDC_INFO_CONTACT 1102
+#define IDC_INFO_SUPPORT 1103
+#define IDC_INFO_PHONE 1104
+#define IDC_INFO_README 1105
+#define IDC_INFO_UPDATES 1106
+#define IDC_INFO_COMMENTS 1107
+#define IDC_INFO_LABEL 1108
+
/* Icons */
#define ICO_MAIN 1
More information about the wine-cvs
mailing list