Mike McCormack : msi: Implement the Reset control event.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 3 06:37:52 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 188365e2f02fb7c1572aa21689d94eba46d60136
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=188365e2f02fb7c1572aa21689d94eba46d60136

Author: Mike McCormack <mike at codeweavers.com>
Date:   Tue Jan  3 12:12:09 2006 +0100

msi: Implement the Reset control event.

---

 dlls/msi/dialog.c  |    6 ++++++
 dlls/msi/events.c  |    8 ++++++++
 dlls/msi/msipriv.h |    1 +
 3 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index c4f9d2c..ac10dc9 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -1512,6 +1512,12 @@ static UINT msi_dialog_evaluate_control_
     return r;
 }
 
+UINT msi_dialog_reset( msi_dialog *dialog )
+{
+    /* FIXME: should restore the original values of any properties we changed */
+    return msi_dialog_evaluate_control_conditions( dialog );
+}
+
 /* figure out the height of 10 point MS Sans Serif */
 static INT msi_dialog_get_sans_serif_height( HWND hwnd )
 {
diff --git a/dlls/msi/events.c b/dlls/msi/events.c
index 08a85c6..393154a 100644
--- a/dlls/msi/events.c
+++ b/dlls/msi/events.c
@@ -243,6 +243,13 @@ static UINT ControlEvent_SetTargetPath(M
     return r;
 }
 
+static UINT ControlEvent_Reset(MSIPACKAGE* package, LPCWSTR argument, 
+                                   msi_dialog* dialog)
+{
+    msi_dialog_reset(dialog);
+    return ERROR_SUCCESS;
+}
+
 /*
  * Subscribed events
  */
@@ -371,6 +378,7 @@ struct _events Events[] = {
     { "Remove",ControlEvent_Remove },
     { "AddSource",ControlEvent_AddSource },
     { "SetTargetPath",ControlEvent_SetTargetPath },
+    { "Reset",ControlEvent_Reset },
     { NULL,NULL },
 };
 
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 7649d39..cb64897 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -414,6 +414,7 @@ extern void msi_dialog_destroy( msi_dial
 extern BOOL msi_dialog_register_class( void );
 extern void msi_dialog_unregister_class( void );
 extern void msi_dialog_handle_event( msi_dialog*, LPCWSTR, LPCWSTR, MSIRECORD * );
+extern UINT msi_dialog_reset( msi_dialog *dialog );
 
 /* preview */
 extern MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE * );




More information about the wine-cvs mailing list