Commit 7500e0fe authored by Mike McCormack's avatar Mike McCormack Committed by Alexandre Julliard

msi: Update the progress control while installing.

parent ea3ab495
...@@ -62,6 +62,8 @@ struct msi_control_tag ...@@ -62,6 +62,8 @@ struct msi_control_tag
HICON hIcon; HICON hIcon;
LPWSTR tabnext; LPWSTR tabnext;
HMODULE hDll; HMODULE hDll;
float progress_current;
float progress_max;
WCHAR name[1]; WCHAR name[1];
}; };
...@@ -335,6 +337,8 @@ static msi_control *msi_dialog_create_window( msi_dialog *dialog, ...@@ -335,6 +337,8 @@ static msi_control *msi_dialog_create_window( msi_dialog *dialog,
control->hIcon = NULL; control->hIcon = NULL;
control->hDll = NULL; control->hDll = NULL;
control->tabnext = strdupW( MSI_RecordGetString( rec, 11) ); control->tabnext = strdupW( MSI_RecordGetString( rec, 11) );
control->progress_current = 0;
control->progress_max = 100;
x = MSI_RecordGetInteger( rec, 4 ); x = MSI_RecordGetInteger( rec, 4 );
y = MSI_RecordGetInteger( rec, 5 ); y = MSI_RecordGetInteger( rec, 5 );
...@@ -479,11 +483,29 @@ void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control, ...@@ -479,11 +483,29 @@ void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control,
} }
else if( !lstrcmpW(attribute, szProgress) ) else if( !lstrcmpW(attribute, szProgress) )
{ {
/* FIXME: should forward to progress bar */ DWORD func, val;
static int display_fixme = 1;
if (display_fixme) func = MSI_RecordGetInteger( rec , 1 );
FIXME("Attribute %s not being set\n", debugstr_w(attribute)); val = MSI_RecordGetInteger( rec , 2 );
display_fixme = 0;
switch (func)
{
case 0: /* init */
ctrl->progress_max = val;
ctrl->progress_current = 0;
SendMessageW(ctrl->hwnd, PBM_SETRANGE, 0, MAKELPARAM(0,100));
SendMessageW(ctrl->hwnd, PBM_SETPOS, 0, 0);
break;
case 1: /* FIXME: not sure what this is supposed to do */
break;
case 2: /* move */
ctrl->progress_current += val;
SendMessageW(ctrl->hwnd, PBM_SETPOS, 100*(ctrl->progress_current/ctrl->progress_max), 0);
break;
default:
ERR("Unknown progress message %ld\n", func);
break;
}
} }
else else
{ {
......
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