Commit fdfb10e0 authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Update the text control when the selection path changes.

parent 6f3f2549
...@@ -614,6 +614,16 @@ void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control, ...@@ -614,6 +614,16 @@ void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control,
MSIFEATURE *feature = msi_seltree_get_selected_feature( ctrl ); MSIFEATURE *feature = msi_seltree_get_selected_feature( ctrl );
MSI_SetPropertyW( dialog->package, ctrl->property, feature->Directory ); MSI_SetPropertyW( dialog->package, ctrl->property, feature->Directory );
} }
else if ( !lstrcmpW(attribute, szSelectionPath) )
{
LPWSTR prop = msi_dialog_dup_property( dialog, ctrl->property, TRUE );
LPWSTR path;
if (!prop) return;
path = msi_dup_property( dialog->package, prop );
SetWindowTextW( ctrl->hwnd, path );
msi_free(prop);
msi_free(path);
}
else else
{ {
FIXME("Attribute %s not being set\n", debugstr_w(attribute)); FIXME("Attribute %s not being set\n", debugstr_w(attribute));
...@@ -730,7 +740,7 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec ) ...@@ -730,7 +740,7 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec )
{ {
msi_control *control; msi_control *control;
struct msi_text_info *info; struct msi_text_info *info;
LPCWSTR text, ptr; LPCWSTR text, ptr, prop;
LPWSTR font_name; LPWSTR font_name;
TRACE("%p %p\n", dialog, rec); TRACE("%p %p\n", dialog, rec);
...@@ -743,6 +753,10 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec ) ...@@ -743,6 +753,10 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec )
if( !info ) if( !info )
return ERROR_SUCCESS; return ERROR_SUCCESS;
control->attributes = MSI_RecordGetInteger( rec, 8 );
prop = MSI_RecordGetString( rec, 9 );
control->property = msi_dialog_dup_property( dialog, prop, FALSE );
text = MSI_RecordGetString( rec, 10 ); text = MSI_RecordGetString( rec, 10 );
font_name = msi_dialog_get_style( text, &ptr ); font_name = msi_dialog_get_style( text, &ptr );
info->font = ( font_name ) ? msi_dialog_find_font( dialog, font_name ) : NULL; info->font = ( font_name ) ? msi_dialog_find_font( dialog, font_name ) : NULL;
...@@ -756,6 +770,9 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec ) ...@@ -756,6 +770,9 @@ static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec )
(LONG_PTR)MSIText_WndProc ); (LONG_PTR)MSIText_WndProc );
SetPropW( control->hwnd, szButtonData, info ); SetPropW( control->hwnd, szButtonData, info );
ControlEvent_SubscribeToEvent( dialog->package, dialog,
szSelectionPath, control->name, szSelectionPath );
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
......
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