Commit Graph

48 Commits

Author SHA1 Message Date
Bart
1ca27c4fa5 TaskDialog: TLCLTaskDialog: place controls on 3 different panels. This will make it easier to move the controls
when the dialog gets expanded or collapsed (which has yet to be implemented).
2023-08-12 11:45:56 +02:00
Bart
91052758c8 TaskDialog: fix typo in variable/propertyname (collaps -> collapse), as pointed out by Maxim. 2023-08-09 23:00:40 +02:00
Bart
321020750e TaskDialog: TLCLTaskDialog:
- trying to simplify laying out the controls.
- use more meaningfull variable and constant names.
- cut down on "magic numbers".
- try to use the same left margins everywhere (ToDo: right margins).
- simplify calculation the global margins: now only depends on tfEmulateClassicStyle, not on presence of an icon.
- use a slightly smaller left margin for not tfEmulateClassicStyle (16 instead of 24), looks a bit better when compared to native Vista+ dialog.
- more factoring out.
- as a byproduct: resolves issue #40437.
- less debug output.
2023-08-09 13:39:18 +02:00
Bart
4a98bd92be TaskDialog: TLCLTaskDialog: right align (Simple)Query with CommandLinkButtons (if these are present). 2023-08-08 23:22:56 +02:00
Bart
d1ac727ad0 TaskDialog: work in progress on expanding/collapsing the emulated dialog. 2023-08-08 18:28:45 +02:00
Bart
70b158940e TaskDialog: implement OnNavigated (native Windows Vista+ only) and OnHelp.
While Delphi has DoOnHelp protected method, it seems they do not have OnHelp (GOKY).
2023-08-08 18:07:06 +02:00
Bart
892cf32728 TaskDialog: implement property CollapsButtonCaption.
Delphi does not have this, but the Windows TaskDialogIndirect API has it.
It controls the text next to the Expand/Collaps button if the dialog is in expanded state.
2023-08-07 22:05:30 +02:00
Bart
04df5e253a TaskDialog: TLCLTaskDialog: start implementing an Expand/UnExand button: not functional yet. 2023-08-07 19:45:32 +02:00
Bart
8e0fb1875f TaskDialog: LCLTaskDialog: remove debug statement. 2023-08-07 18:39:25 +02:00
mattias
d78d004b93 lcl: TLCLTaskDialog: do not inherit csdesigning, disable autosizing during setup, less hints 2023-08-07 10:27:09 +02:00
Bart
b64a1b1fe8 TaskDialog: LCLTaskDialog: some more debugln's for issue #40425. 2023-08-05 23:56:37 +02:00
Bart
aa1e7fa738 TaskDialog: LCLTaskDialog: cleanup: remove disabled/non-functional code. 2023-08-03 23:13:34 +02:00
Bart
64adc6945d TaskDialog: remove comment in TLCTaskDialog.AddLable: this was apparently fixed in commit 05555c84. 2023-08-03 01:15:46 +02:00
Bart
e06c2e9831 TaskDialog: add debugln statements in TLCTaskDialog.AddLable to investigate issue #40425. 2023-08-03 00:54:08 +02:00
Bart
9ff95ce2a6 TaskDialog: left-align main icon, footer icon and checkbox in emulated taskdialog. 2023-08-03 00:16:46 +02:00
Bart
a46e62000d TaskDialog: fix setting focus when tfQueryFocused is set.
Give some varibales a mor meningfull name and update some comments regarding those.
2023-08-02 18:00:12 +02:00
Bart
b5f0aca3ea TaskDialog: use DoOnXXX methods to call the event handlers.
Also rename some methods of LCLTaskDialog for a bit more consistency.
2023-08-01 16:39:53 +02:00
Bart
d31e76a1f6 TaskDialog: implement OnRadioButtonClicked event. 2023-08-01 15:54:34 +02:00
Bart
70a178c88e TaskDialog: add OnTimer event. 2023-08-01 11:44:25 +02:00
Bart
5ed01b1884 TaskDialog: TLCLTaskDialog: fix calculation of height of labels. Issue #40421. 2023-07-31 23:22:59 +02:00
Bart
4be2e3a717 TaskDialog: don't convert '\n' to LineFeed in captions:
Reason: a user might set a button or radiobutton caption to 'Save in "c:\new_folder\new.work"'
See also issue #38676
2023-07-31 18:53:33 +02:00
Bart
05c9e4aa76 TaskDialog: implement some Delphi compatible events:
- OnDialogConstructed
- OnDialogCreated
- OnDialogDestroyed
- OnVerificationClicked
Part of Issue #31399.
2023-07-31 17:52:11 +02:00
Bart
0bed0f65a3 TLCLTaskDialog: fix setting default button for emulated taskdialog. 2023-07-31 16:44:01 +02:00
Bart
925ffd19ad TLCLTaskDialog: remove unused variable and related comment. 2023-07-31 15:40:44 +02:00
Bart
c2e2a8e352 TLCLTaskDialog: refactor. No functional changes. 2023-07-31 15:17:17 +02:00
Bart
1aea03f44f TaskDialog: implement CommandLinkHint for emulated TaskDialog as well. Resolves issue #31395. 2023-07-31 14:57:19 +02:00
Bart
e259355d76 TTaskDialog: initial support for query capability (combobox or single line edit).
The implementation differs from the one in (now deprecated) LCLTaskDialog:
- the type of query is controlled by flags only (which are mutually exclusive)
- for single line edit, you can set passwordchar
- intial value of single line query has no influence on combobox
- initial value of combobox is controlled by integer value, not by text
2023-07-27 00:05:09 +02:00
Bart
45b149e0ea TaskDlgEmulation: cleanup and cosemtic (no functional changes):
- remove unused code
- consistent indenting and spacing (or at least I tried)
2023-07-24 22:38:22 +02:00
Bart
e1d2db658f Refactoring TTaskDialog: remove hack of exposing TCustomTaskDialog.FWidth. It was unneccessary to begin with... 2023-07-24 11:12:55 +02:00
Bart
b7cc27d3a5 Refactoring TTaskDialog:
- TWSTaskDialog.Execute: Don't cast ADlg to TTaskDialog.
- Adapt signature of function ExecuteLCLTaskDialog accordingly.
- Less debug output
2023-07-24 11:06:22 +02:00
Bart
c343cfe0d3 Refactoring TTaskDialog: remove some comments from TaskDialogEmulation unit. 2023-07-24 11:00:52 +02:00
Bart
92f83f8b59 Refactoring TTaskDialog:
- first attempt to get Win32 WS code working (currently littered with writeln() statements, so crashes if no console!)
- fix ModalResult in OnButtonClicked for emulated dialog.
2023-07-24 01:08:33 +02:00
Bart
85c1fff32d Refactoring TTaskDialog: move (and rename) constants for first radio/button index to Dialogs unit and use them there as well. 2023-07-22 15:55:17 +02:00
Bart
b3995a78df Refactoring TTaskDialog: TLCLTaskDialog: rename 2 methods. No functional changes. 2023-07-22 15:43:38 +02:00
Bart
30ed531405 Refactoring TTaskDialog: TLCLTaskDialog: factor out AddLabel. 2023-07-22 15:39:34 +02:00
Bart
17fee115bf Refactoring TTaskDialog: TLCLTaskDialog: factor out AddFooter. 2023-07-22 10:48:11 +02:00
Bart
d9861e8170 Refactoring TTaskDialog: some refactoring and cleanup of TLCLTaskDialog. 2023-07-21 23:36:15 +02:00
Bart
9a3e5c120d Refactoring TTaskDialog:
- Change signature of TWSTaskDialog.Execute and related functions/methods so we can set ParentWnd and retrieve RadioRes.
The TLCLTaskDialog now should act the same as the old emulated version (unit LCLTaskDialog).
2023-07-20 20:09:38 +02:00
Bart
1420ce0a69 Refactoring TTaskDialog:
- Use meaningfull names for private vars of TLCLTaskDialog
- Factor out SetupPanel
- Consistent capitalization of "Result" ,"True" and "False"
- Remove property VerifyChecked, set appropriate flag instead
- More debugln statements
- Add some comments
The emulated dialog is now more or less functional (we don't return RadioResult yet).
2023-07-20 19:54:20 +02:00
Bart
0b9130a2a3 Refactoring TTaskDialog: refactor TaskDlgEmulation.TLCLTaskDialog.SetupControls. 2023-07-20 12:16:39 +02:00
Bart
c3c73c48fc Refactoring TTaskDialog:
- TWSTaskDialog.Execute: return integer (modal result of the dialog) instead of boolean
- Idem for related functions and methods
2023-07-20 10:55:48 +02:00
Bart
b163a35cb3 Refactoring TTaskDialog:
- Fix not displaying common buttons in TLCLTaskDialog.SetupControls
- Assign TLCLDialog.FDlg in the CreateNew() constructor.
- Free LDefaultFont
- Start comparing the new form vs the old form
Still not functional.
2023-07-19 19:43:35 +02:00
Bart
916196dede Refactoring TTaskDialog: prevent possible crash in TLCLTaskDialog. 2023-07-19 18:53:23 +02:00
Bart
61fefaa794 Refactoring TTaskDialog:
- expose Dialogs.TTaskDialog.ParentWindow as reado only property (needed in TLCLTaskDialog.Execute)
- furhter implement adding controls at runtime to TLCLTaskDialog
- it compiles, but still not functional.
2023-07-19 12:07:21 +02:00
Bart
4d40d3f77a Refactoring TTaskDialog:
- Deprecated unit LCLTaskDialog.
- Unit TaskDlgEmulation: work in progress.
  - Start implementing TLCLTaskDialog class. Not functional yet (but at least it should compile).
  - Code copied and adapted from the now deprecated LCLTaskDialog unit.
- Temporarily exposed a private variable of Dialogs.TTaskDialog
2023-07-17 20:48:22 +02:00
Bart
fc6bbcc936 TCustomTaskDialog: inherit form TLCLComponent and register the widgetset class. 2023-07-17 13:52:40 +02:00
Bart
9289be8936 Unit TaskDlgEmulation: cosmetic (no functional changes). 2023-07-17 12:49:49 +02:00
Bart
df338fd867 LCL: add TaskDlgEmulation unit (skeleton). 2023-07-17 12:48:02 +02:00