Commit Graph

264 Commits

Author SHA1 Message Date
Lionel Debroux 1bed47a3b3 msi: Fix missing alloc check. 2007-12-13 14:30:40 +01:00
Anatoly Lyutin 704c399237 msi: Fix invalid SQL query. 2007-11-28 11:14:42 +01:00
James Hawkins 9459ef5ab1 msi: Implement the VolumeSelectCombo control. 2007-11-13 13:35:27 +01:00
Mikolaj Zalewski 96e4320feb msi: Use BS_GROUPBOX for group boxes. 2007-10-22 12:36:07 +02:00
Andrew Talbot 19ef864058 msi: Name all or none of the formal arguments in function prototypes. 2007-06-18 13:36:42 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
James Hawkins 12c33ab8aa msi: Remove incorrect ERR as messages can be sent before the control is created. 2007-05-07 14:32:03 +02:00
James Hawkins 933fd8b879 msi: Set the text limit of the edit control if the limit is given. 2007-05-07 14:31:57 +02:00
James Hawkins 7fe3ba934c msi: Add the ES_AUTOHSCROLL style to the edit control. 2007-05-07 14:30:38 +02:00
James Hawkins 7f4a4e161f msi: Only allow valid styles in msi_dialog_get_style. 2007-05-07 14:30:29 +02:00
James Hawkins d4a324940b msi: Check for a NULL text entry, as it can be blank in the VolumeCostList control. 2007-02-26 13:56:21 +01:00
James Hawkins 0746b9076d msi: Cleanup the dialog event subscriptions when destroying the dialog. 2007-02-21 10:53:49 +01:00
Steven Stein 378928f2df msi: Added "Default" control condition to msi_dialog_set_control_condition. 2007-02-14 22:17:36 +01:00
Peter Oberndorfer 712e67723a msi: Clean up magic numbers. 2007-02-07 11:35:17 +01:00
Peter Oberndorfer c1b7a825ff msi: Honor attributes for combobox. 2007-02-07 11:35:09 +01:00
Peter Oberndorfer a5277fb53b msi: Honor msidbControlAttributesSorted attribute for list box. 2007-02-07 11:34:32 +01:00
Misha Koshelev d8b00a071d msi: Make sure to ignore UI level flags in dialog and files as well. 2007-02-07 11:03:39 +01:00
Peter Oberndorfer 91bf34f610 msi: Do not use a static variable to save the insertion position for the listview. 2007-02-06 20:36:33 +01:00
Peter Oberndorfer 9afb0f39a8 msi: Store value of the property with each listbox element.
This makes sure the property is set to the right value even when order in listbox is changed.
2007-02-06 20:36:12 +01:00
Peter Oberndorfer 69448afdc7 msi: Do not store property for each listbox element, as it is the same one for the whole listbox.
Remove struct msi_listbox_item as it only contains 1 element now.
2007-02-06 20:35:19 +01:00
Peter Oberndorfer 79d2f76b8e msi: Only insert entries into listbox if property value matches. 2007-02-06 20:35:03 +01:00
James Hawkins fdfb10e02b msi: Update the text control when the selection path changes. 2006-12-18 12:01:18 +01:00
Dmitry Timoshkov 1cdf5cddac msi: Make some data const and static. 2006-11-29 12:44:10 +01:00
Mike McCormack ed663fe216 msi: Don't access the list of controls after the dialog is destroyed. 2006-11-21 12:14:44 +01:00
Mike McCormack 6a2fb05451 msi: Create a function to free control data. 2006-11-21 12:14:34 +01:00
Mike McCormack fbfc221a77 msi: Fix an access after freeing memory. 2006-11-21 12:14:31 +01:00
Mike McCormack f241daef54 msi: Always delete temp files after creating them. 2006-11-14 11:43:10 +01:00
James Hawkins 31a9b087c1 msi: Notify the external UI handler when changing media. 2006-11-14 11:35:00 +01:00
James Hawkins 9d899129bf msi: Only add text to the scroll control if text is provided. 2006-11-09 10:35:07 +01:00
James Hawkins c6bfbde849 msi: Implement handling for the ErrorDialog and use it to change media. 2006-10-27 12:08:46 +02:00
Mike McCormack 575cc67d0f msi: Use msi_feature_set_state and msi_component_set_state where possible. 2006-10-26 12:56:09 +02:00
Alexandre Julliard 33b346613e msi: Properly handle negative coordinates for mouse events. 2006-10-25 17:42:04 +02:00
James Hawkins 8321276cd3 msi: Run SetProperty events before all other events no matter what the order is. 2006-10-19 13:34:17 +02:00
James Hawkins 9119b700ed msi: Revert "msi: Perform button control events in greatest to least order." 2006-10-17 11:16:11 +02:00
Mike McCormack 80affb3c2d msi: Merge action.h into msipriv.h. 2006-10-10 16:12:12 +02:00
James Hawkins f721a24a13 msi: Perform button control events in greatest to least order. 2006-10-09 14:40:00 +02:00
James Hawkins 9024a88dd9 msi: Make msi_dialog_dup_property return a copy of the property if the property is empty. 2006-10-06 15:20:52 +02:00
Mike McCormack f1d4646a49 msi: Win64 printf format warning fixes. 2006-10-05 11:32:32 +02:00
James Hawkins f16ddf1b32 msi: Only apply the last font style in the list of styles. 2006-10-04 11:14:21 +02:00
James Hawkins 5ea2cd44c1 msi: Subscribe the SelectionTree control to the SelectionPath event. 2006-10-04 11:13:22 +02:00
James Hawkins 908e27d6fc msi: Store the selected item in the SelectionTree control. 2006-10-04 11:13:12 +02:00
James Hawkins 846fdd1550 msi: Publish the SelectionDescription and SelectionPath events when the selection changes in the SelectionTree control. 2006-10-04 11:13:01 +02:00
James Hawkins de0efba366 msi: Properly initialize the SelectionTree control's attributes and property values. 2006-10-04 11:12:44 +02:00
James Hawkins 2a8c38ff74 msi: Provide a specific dialog to ControlEvent_SubscribeToEvent, as package->dialog does not always point to the same dialog. 2006-10-04 11:12:22 +02:00
James Hawkins 7ee3a4efdf msi: Select the first item in the SelectionTree control. 2006-10-04 11:12:11 +02:00
James Hawkins 0fe1b36716 msi: Empty the window text if no text is provided. 2006-10-04 11:11:59 +02:00
James Hawkins e3496be256 msi: Assign the property to path if the property is empty. 2006-10-04 11:11:49 +02:00
James Hawkins 038d31ca93 msi: Don't ERR if a dialog doesn't provide control conditions, as they are not required. 2006-10-04 11:11:36 +02:00
James Hawkins 1bfc50eb74 msi: Add missing '\n' to TRACE output. 2006-10-04 11:11:20 +02:00
James Hawkins 3d812659e8 msi: Return to the parent dialog when the argument to the EndDialog event is Return. 2006-09-29 15:00:13 +02:00
Marcus Meissner 966c5b6c0b msi: Support more dialog groups. 2006-09-25 17:56:50 +02:00
James Hawkins 703d77dc58 msi: Translate the INSTALLSTATE_UNKNOWN index into the INSTALLSTATE_ABSENT image index. 2006-09-21 13:03:27 +02:00
James Hawkins 7a97b3ed84 msi: Use ACTION_UpdateComponentStates in the selection tree so we don't have to duplicate the component changing logic. 2006-09-20 12:24:54 +02:00
James Hawkins 32c0a764ee msi: Add the total and free disk space to the VolumeCostList control. 2006-09-20 12:24:30 +02:00
James Hawkins 75ee2262cc msi: Show the available drives in the VolumeCostList control. 2006-09-13 11:36:50 +02:00
James Hawkins 4969ccf3af msi: Add the ability to change directories in the DirectoryList control. 2006-09-07 15:15:06 +02:00
James Hawkins 01432d7165 msi: Add initial implementation of the DirectoryList control. 2006-09-07 15:14:49 +02:00
James Hawkins 8f691adf7e msi: Load and display the VolumeCostList control's column headers. 2006-09-07 15:14:33 +02:00
James Hawkins 1cfdc5185a msi: Store and use the center point of the dialog window in between dialogs. 2006-09-07 15:14:11 +02:00
James Hawkins ad559ca86d msi: Verify the path in the PathEdit control. 2006-09-07 15:13:01 +02:00
James Hawkins 9c3e640c10 msi: Search for the browse dialog controls by type instead of name. 2006-09-07 15:12:48 +02:00
James Hawkins 4e3f6eda0e msi: Provide the control to the dialog_update function for the case
when the control isn't attached to the dialog yet.
2006-09-07 15:12:24 +02:00
Mike McCormack 7a120c99ea msi: Don't crash if we can't find a control. 2006-09-07 10:22:09 +02:00
James Hawkins 20d98e81ed msi: Use msi_dialog_dup_property where appropriate. 2006-08-29 12:24:41 +02:00
James Hawkins 2a09d4f6c7 msi: Use the respective update functions when creating the Browse dialog control. 2006-08-29 12:24:28 +02:00
James Hawkins 6320d0adef msi: Update the DirectoryCombo control in response to the DirectoryListUp event. 2006-08-29 12:23:11 +02:00
James Hawkins 2dbaccbe60 msi: Update the PathEdit control in response to the DirectoryListUp event. 2006-08-29 12:22:59 +02:00
James Hawkins 7df642117c msi: Highlight the text in the PathEdit control. 2006-08-29 12:22:09 +02:00
James Hawkins 80225d53b9 msi: Add a stub implementation of the VolumeCostList control. 2006-08-28 11:40:01 +02:00
James Hawkins a1b16d2d96 msi: Add initial implementation of the DirectoryListUp event. 2006-08-28 11:38:04 +02:00
James Hawkins a97962eef4 msi: Add initial implementation of the DirectoryCombo control. 2006-08-28 11:37:42 +02:00
Mike McCormack 99338f48b5 msi: Use msi_get_property_int rather than MSI_GetPropertyW. 2006-08-25 20:04:41 +02:00
James Hawkins 0de9cf4d00 msi: Fix the height of the line control window. 2006-08-25 11:20:24 +02:00
James Hawkins 25062556a8 msi: Add a stub implementation of the DirectoryList dialog control. 2006-08-25 11:20:08 +02:00
James Hawkins c9674e690c msi: Add a stub implementation of the DirectoryCombo dialog control. 2006-08-25 11:19:40 +02:00
James Hawkins 11b7097df8 msi: Add an initial implementation of the PathEdit control. 2006-08-24 12:07:56 +02:00
Mike McCormack 72b940e09b msi: Fix the dialog centering logic. 2006-08-07 13:13:43 +02:00
James Hawkins 23027f5435 msi: Use the initial dialog position values in the database when creating the dialog window. 2006-08-04 13:25:32 +02:00
Thomas Kho 88cc410fd6 msi: Wake dialog on messages from external threads. 2006-08-01 10:51:55 +02:00
James Hawkins e295bd9743 msi: Expand features with odd Display values. 2006-07-21 20:22:48 +02:00
James Hawkins cf9886e6e0 msi: Don't display a feature if its Display value is zero. 2006-07-21 20:22:41 +02:00
James Hawkins 2396e2a59f msi: Sort SelectionTree items by their Display value. 2006-07-19 09:46:31 +02:00
James Hawkins 7745a831a1 msi: Update the feature components' states when a feature is selected. 2006-07-18 11:17:20 +02:00
James Hawkins 6de2ca8459 msi: Add handling for the ListBox dialog control. 2006-07-17 13:46:01 +02:00
James Hawkins 1adcf0087a msi: Add handling for the GroupBox dialog control. 2006-07-14 12:27:29 +02:00
James Hawkins 3c56550ea5 msi: Read the font color from the database, and use it for the text control. 2006-06-27 21:14:02 +02:00
Alexandre Julliard b79a53e959 msi: Make some variables static and/or const. 2006-06-12 13:39:59 +02:00
Mike McCormack 7500e0feab msi: Update the progress control while installing. 2006-06-09 15:20:25 +02:00
Mike McCormack 6df2c04f20 msi: Set a default radio button. 2006-05-24 10:52:42 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack 06c84c4a42 msi: Show "hidden dialogs" but hide them initially. 2006-03-22 11:20:19 +01:00
Ulrich Czekalla 2ee5a5bf7c msi: When evaluating conditions, if the condition is empty or none is
provided then treat it as being satisfied.
2006-02-24 11:21:59 +01:00
Dmitry Timoshkov 57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Robert Shearman 04f547dc50 msi: Support msidbControlAttributesSunken. 2006-01-23 11:55:33 +01:00
Robert Shearman 33fa9d08dd msi: Only print fixme for progress attribute once.
Since setting the Progress attribute is done quite frequently, don't
flood the user with messages about it being unimplemented.
2006-01-23 11:55:19 +01:00
Mike McCormack 848f67e13e msi: Make the MSI SelectionTree control do something useful. 2006-01-11 21:12:06 +01:00
Mike McCormack 891df89ee7 msi: Remove the font when setting a control's text. 2006-01-11 12:12:16 +01:00
Mike McCormack ead00327e9 msi: Unload riched20 after its window is destroyed. 2006-01-06 12:35:09 +01:00
Mike McCormack abbe4b6dd0 msi: Make radio buttons grey out correctly when disabled. 2006-01-06 12:19:33 +01:00
Mike McCormack 576b8a5920 msi: Fixes for the MaskedEdit control.
Allow MaskedEdit masks that aren't enclosed with <>.
Allow the MaskedEdit's edit controls to scroll a bit in case things
don't line up.
2006-01-04 14:49:50 +01:00
Mike McCormack 00a7faa377 msi: Subclass the Richedit control.
Send a "DoAction" control event when the user scrolls the text.
2006-01-03 12:15:04 +01:00
Mike McCormack 188365e2f0 msi: Implement the Reset control event. 2006-01-03 12:12:09 +01:00
Bill Medland e0d4df6bb7 msi: Use a default dialog font if nothing is specified. 2005-12-20 11:59:23 +01:00
Mike McCormack 6a976373b3 Handle the ^ character in MaskEdit controls. 2005-11-28 10:36:54 +01:00
Mike McCormack 4413adf9a9 Define NONAMELESSUNION and NONAMELESSSTRUCT for older compilers. 2005-11-02 10:56:22 +00:00
Mike McCormack 7cd5467377 Make sure to unregister all the classes that were registered when msi
is unloaded, so we can register again cleanly.
2005-10-31 15:43:39 +00:00
Mike McCormack fa292e4bb2 Add a read-only implementation of the SelectionTree control. 2005-10-30 19:21:24 +00:00
Mike McCormack cad9677756 Handle MaskEdit masks containing dashes and other constant
characters.
2005-10-30 19:16:55 +00:00
Mike McCormack 9ba8ba30bb Use "static const" rather than "const static" as gcc -W complains
about the former.
2005-10-30 19:04:26 +00:00
Mike McCormack 96e24c1d82 Explicitly check for MSICONDITION_TRUE being returned from
MsiEvaluateCondition.
2005-10-29 11:29:31 +00:00
Mike McCormack 4007d748dc Make enter and escape trigger the default and cancel buttons in
dialogs.
2005-10-29 11:07:46 +00:00
Mike McCormack 2cb2316557 Switch back to using IPicture to load images. LoadImage did the
resizing for us, but doesn't handle jpeg files and requires us writing
a temp file, whereas IPicture handles jpeg files and can load directly
from a stream.
2005-10-26 10:10:34 +00:00
Mike McCormack 0560ea618e Avoid UpdateWindow, it causes trouble with WS_EX_TRANSPARENT. 2005-09-29 10:48:08 +00:00
Mike McCormack 41c8ab5bac Add the progress control. 2005-09-28 15:12:10 +00:00
Dmitry Timoshkov 37548987ad COLOR_3DFACE is a better choice for the dialog background. 2005-09-23 10:47:26 +00:00
Mike McCormack 67f83ba7e5 Take advantage of the msi_get_deformatted_field function to simplify
some code.
2005-09-23 10:05:23 +00:00
Mike McCormack 994382b2ee Skip the first character of a font identifier if it's \ or &. 2005-09-22 10:54:56 +00:00
Mike McCormack af71ce16bf Fix an error introduced when converting dialog lists to standard
lists.
2005-09-22 10:49:26 +00:00
Mike McCormack 4407ea632d Make sure not to free a a pointer that has been modified.
Check that the text identifier doesn't contain invalid characters.
2005-09-21 10:19:42 +00:00
Mike McCormack 6dc309187c Fix some simple memory leaks. 2005-09-21 09:43:29 +00:00
Dmitry Timoshkov 12b2cf4c77 Fix the usage of COLOR_xxx constants in the place of the window's
class hbrBackground.
2005-09-20 12:02:45 +00:00
Mike McCormack ee034ba4c2 Added memory allocation inline functions (part 2). 2005-09-20 11:59:14 +00:00
Mike McCormack dcb0f239fe Read the MaskEdit template from the correct db field. 2005-09-17 14:29:29 +00:00
Mike McCormack b84e29747b Convert the list of dialog controls to a standard list. 2005-09-16 19:40:00 +00:00
Mike McCormack 43fece976f Deformat all dialog text strings before using them. 2005-09-16 19:01:18 +00:00
Mike McCormack 978d12d0f6 Load riched20.dll on demand, and unload it after it's used (based on a
patch by Rob Shearman).
2005-09-16 18:45:33 +00:00
Mike McCormack 062ad50510 Rename load_dynamic_property and remove its unused 3rd argument. 2005-09-15 15:04:08 +00:00
Mike McCormack 2acf5086ff Make sure to release the package we grabbed on the error path. 2005-09-13 11:25:07 +00:00
Mike McCormack b2e2b70d06 Skip dash characters in the PIDMask for a MaskedEdit control. 2005-09-13 10:33:04 +00:00
Mike McCormack a9a3bc7b14 Fix an uninitialized variable problem. 2005-09-12 10:11:23 +00:00
Mike McCormack 8f83234a7a Display icons in buttons that have them. 2005-07-12 17:01:10 +00:00
Mike McCormack e41ba5ca80 Use LoadImage to load bitmaps and icons. 2005-07-07 17:20:57 +00:00
Mike McCormack a195890bb9 Set the initial focus on the control specified by Control_First in the
Dialog table.
2005-07-05 16:18:46 +00:00
Mike McCormack 832450920d Move to the next mask edit field when the current one becomes full. 2005-06-30 10:59:40 +00:00
Mike McCormack f7cf32eb4d Make the tab order in msi dialogs right. 2005-06-30 10:20:40 +00:00
Mike McCormack 6b68532ccf Repaint the area behind the "transparent" text control when it
changes.
2005-06-27 18:46:22 +00:00
Mike McCormack 2250fce60f Implement transparency in the text control. 2005-06-24 11:34:43 +00:00
Mike McCormack 7e3918d53e Make the MSI icon control work. 2005-06-23 16:43:38 +00:00
Mike McCormack 9251b2c6b5 Make tabs work in msi dialogs. 2005-06-20 14:11:43 +00:00
Marcus Meissner 7ac39aa44b Use a simpler expression for the "RichEdit20W" string to workaround
compiler bug.
2005-06-17 20:54:42 +00:00
Mike McCormack a677ac554f Added support for the MSI MaskEdit control. 2005-06-16 20:37:53 +00:00
Mike McCormack f5ae644fc2 Use a richedit control for license text. 2005-06-07 20:30:02 +00:00
Mike McCormack 454dff6fb4 Fix radio button groups. Don't add the WS_GROUP style to every
window.
2005-06-07 20:04:21 +00:00
Mike McCormack b402f04851 Use standard lists in the event subscription code. 2005-06-06 15:40:15 +00:00
Alexandre Julliard 4ca26536a9 Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
Allow dialog controls to subscribe to installer events.
2005-06-04 09:48:47 +00:00
Mike McCormack a6c8e4e498 Take the dialog frame into account when calculating the dialog size. 2005-06-04 09:35:37 +00:00
Mike McCormack 07b19112e5 Use MSI_QueryGetRecord in one more place. 2005-06-02 19:40:45 +00:00
Mike McCormack 6309892499 Create a helper function to fetch a single record from a query. 2005-06-02 10:29:28 +00:00
Alexandre Julliard 955e589ed0 Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
Fix handling of checkbox properties.
2005-06-01 19:48:48 +00:00
Mike McCormack 64de949cdd More -Wmissing-declarations and -Wwrite-strings warning fixes. 2005-05-31 09:30:28 +00:00