msi: Update the progress control while installing.
This commit is contained in:
parent
ea3ab4952b
commit
7500e0feab
|
@ -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,
|
||||||
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,
|
||||||
}
|
}
|
||||||
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
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue