Bart
fe0ed266ce
TTaskDialog: start implementing TTaskDialogProgressBar: skeleton only, does not communicate with the dialog yet.
2023-08-23 13:10:52 +02:00
Željan Rikalo
853461fed6
LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. issue #40450
2023-08-22 19:50:19 +02:00
Bart
cf5777a164
TTaskDialog: implement property Handle. Makes it possible to send messages to the dialog.
...
This is needed to implement e.g. progressbar and can be used to update on-the-fly the contents of the dialog.
2023-08-21 22:11:25 +02:00
Bart
ab5d084ade
TTaskDialog: publish properties CustomFooterIcon and CustomMainIcon.
2023-08-20 14:54:50 +02:00
Bart
d7801adb2a
TTaskDialog: implement CustomMainIcon and CustomFooterIcon, needed for flags tfUseHIconMain and tfUseHIconFooter respectively.
...
The flags now work on Windows Vista+ native dialog.
Partly resolves issue #40449 .
2023-08-20 13:48:50 +02:00
mattias
ee218d1fa0
lcl: TTreeView: public ScrolledLeft/Top, PathDelimiter
2023-08-14 15:08:23 +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
396b72b21a
TaskDialog: handle the paramters in DoOnExpandButtonClicked and DoOnVerificationClicked.
...
Rename event OnExpand to OnExpanded, as it is in Delphi.
2023-08-03 23:06:20 +02:00
Bart
a0e0744618
TaskDialog: implement OnHyperlinkClicked and associated property URL. Native Vista+ dialog only.
2023-08-01 16:54:50 +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
Juha
13d54fc4cb
LCL: Refactor Colorbox code. Issue #40376 , patch by n7800.
2023-08-01 11:55:14 +03:00
mattias
d4693029bc
lcl: fixed compile
2023-07-31 13:52:38 +02:00
Bart
c3823da117
LCL: first try at implementing TApplication.ActiveFormHandle property.
...
Needs black-box testing against Delphi, especially when either no active form exists yet, or
when the active form's Active property is False (e.g. minimized, hidden of a non-LCL form is shwoing modally).
Also needs to be debated wether the return value should be TLCLHandle.
2023-07-31 13:10:57 +02:00
rich2014
53cd3db19c
LCL: Fix #40416 : Mouse Message issue (Enter/Level/Move)
2023-07-30 21:55:11 +08:00
Bart
bff41e1f5d
TTaskDialog: In Execute, use the Handle of the current active form for the ParentWnd parameter.
...
Based upon the documentation of Delphi: https://docwiki.embarcadero.com/Libraries/Alexandria/en/Vcl.Dialogs.TCustomTaskDialog.Execute
It makes Execute honour the tfRelativeToWindow flag.
2023-07-29 23:29:53 +02:00
wp_xyz
11b92b26c8
LCL/SpeedButton: Fix position of caption when no glyph is present.
2023-07-29 00:36:46 +02:00
wp_xyz
07da832b28
LCL/SpeedButton: Fix positioning of Glyph and Caption. Issue #40410 . Based on patch by Luca Olivetti.
2023-07-28 19:40:50 +02:00
Bart
f48fe7983e
TTaskDialog: add a comment why Execute always returns True.
2023-07-28 17:20:27 +02:00
Bart
033512d064
Revert "TTaskDialog: fix Result value of Execute method:"
...
Apparently the Delhi docs arw wrong (as in: Delphi does not do what the dosc say: it awill always return True, as long as the dialog was shown.
2023-07-28 17:13:41 +02:00
Bart
cbd7579c15
TTaskDialog: fix Result value of Execute method:
...
- previously it returned True if the dialog succeeded to show, even if the dialog was cancelled.
- now it is False if the dialog is canceled.
- See https://docwiki.embarcadero.com/Libraries/Alexandria/en/Vcl.Dialogs.TCustomTaskDialog.Execute
2023-07-28 16:31:35 +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
2722337e33
TTaskDialog: layout the initial infrastructure to add Query capability to TTaskDialog.
2023-07-26 16:13:50 +02:00
Juha
cc4760393b
Reserve "On..." prefix for events and name functions differently.
2023-07-25 11:07:57 +03:00
Bart
158f10e193
LCL: Dialogs unit: cleanup.
2023-07-24 22:27:09 +02:00
Bart
71f8725fb8
Merge branch 'wstaskdialog'
2023-07-24 20:20:22 +02:00
Bart
cc10035843
Refactoring TTaskDialog:
...
- Win32 WS: fix not returning ButtonID.
- Win32 WS: initialize RadioRes return value.
2023-07-24 10:52:11 +02:00
Bart
b9634c255d
Refactoring TTaskDialog: switch over to the new code, remove dependency on deprecated unit LCLTaskDialog.
2023-07-24 10:31:34 +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
4442949a29
Refactoring TTaskDialog: remove property ParentWindow (added in 61fefaa7
), it's not longer needed.
2023-07-22 16:03:50 +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
17fee115bf
Refactoring TTaskDialog: TLCLTaskDialog: factor out AddFooter.
2023-07-22 10:48:11 +02:00
Juha
5a647cd4e1
DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. Issue #39288 .
2023-07-20 23:46:25 +03:00
Bart
677a73c38c
Refactoring TTaskDialog: fix compilation of Dialogs unit on non-windows platforms.
2023-07-20 20:17:40 +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
Juha
ca9cb1a6e4
Clean up procedure TScreen.EndTempCursor. Issue #40389 .
2023-07-20 12:20:40 +03: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
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
32824af5fe
TCustomTaskDialog: add a comment.
2023-07-17 14:01:35 +02:00
Bart
fc6bbcc936
TCustomTaskDialog: inherit form TLCLComponent and register the widgetset class.
2023-07-17 13:52:40 +02:00
Maxim Ganetsky
255bdd2bb0
Revert "LCL: Add an option to NOT call TCheckbox OnChange handler when clicked. Issue #39870 , patch by Arioch The."
...
This reverts commit 9f577dc548
.
Reasons:
1. The logic of VCL_OnClick_Emulation flag (or its name) is wrong: when it is true, OnChange event gets called LCL-style (note that VCL does not have OnChange event).
2. Having such flag is unsafe: e.g. some used unit can disable it and checkboxes in the whole program will _silently_ change their behavior.
3. The code claimed as a reason for introducing this change does not work in Delphi too.
Such Delphi compatibility issues should be handled another way.
2023-07-14 03:00:19 +03:00
Bart
e5aa4cee57
diff --git a/lcl/dialogs.pp b/lcl/dialogs.pp
...
index 24f69c5ac7..b156a70d9c 100644
--- a/lcl/dialogs.pp
+++ b/lcl/dialogs.pp
@@ -543,6 +543,7 @@ type
tfShowMarqueeProgressBar, tfCallbackTimer,
tfPositionRelativeToWindow, tfRtlLayout,
tfNoDefaultRadioButton, tfCanBeMinimized,
+ tfNoSetForeGround, tfSizeToContent,
tfForceNonNative, tfEmulateClassicStyle);
TTaskDialogFlags = set of TTaskDialogFlag;
diff --git a/lcl/include/taskdialog.inc b/lcl/include/taskdialog.inc
index 2ce5a97571..ddf2f46aaa 100644
--- a/lcl/include/taskdialog.inc
+++ b/lcl/include/taskdialog.inc
@@ -179,6 +179,10 @@ function TCustomTaskDialog.DoExecute(ParentWnd: HWND): Boolean;
Result := Result + [tdfNoDefaultRadioButton];
if tfCanBeMinimized in aTaskFlags then
Result := Result + [tdfCanBeMinimized];
+ if tfNoSetForeGround in aTaskFlags then
+ Result := Result + [tdfNoSetForeGround];
+ if tfSizeToContent in aTaskFlags then
+ Result := Result + [tdfSizeToContent];
end;
function TF_DIALOGICON(const aIcon: TTaskDialogIcon): LCLTaskDialog.TTaskDialogIcon;
diff --git a/lcl/lcltaskdialog.pas b/lcl/lcltaskdialog.pas
index 660702261f..2c3caccd43 100644
--- a/lcl/lcltaskdialog.pas
+++ b/lcl/lcltaskdialog.pas
@@ -127,7 +127,7 @@ interface
uses
{$IFDEF MSWINDOWS}
- Windows, ctypes,
+ Windows, ctypes, CommCtrl,
{$ENDIF}
Classes, SysUtils,
LazUTF8,
@@ -172,7 +172,9 @@ type
tdfExpandFooterArea, tdfExpandByDefault, tdfVerificationFlagChecked,
tdfShowProgressBar, tdfShowMarqueeProgressBar, tdfCallbackTimer,
tdfPositionRelativeToWindow, tdfRtlLayout, tdfNoDefaultRadioButton,
- tdfCanBeMinimized, tdfQuery, tdfQueryMasked, tdfQueryFieldFocused);
+ tdfCanBeMinimized, tdfNoSetForeGround {added in Windows 8}, tdfSizeToContent,
+ //custom LCL flags
+ tdfQuery, tdfQueryMasked, tdfQueryFieldFocused);
/// set of available configuration flags for the Task Dialog
TTaskDialogFlags = set of TTaskDialogFlag;
@@ -771,6 +773,29 @@ var
if ModalResult=aButtonDef then
Dialog.Form.ActiveControl := result;
end;
+ {$IFDEF MSWINDOwS}
+ function TaskDialogFlagsToInteger(aFlags: TTaskDialogFlags): Integer;
+ const
+ //missing from CommCtrls in fpc < 3.3.1
+ TDF_NO_SET_FOREGROUND = $10000;
+ TDF_SIZE_TO_CONTENT = $1000000;
+ FlagValues: Array[TTaskDialogFlag] of Integer = (
+ TDF_ENABLE_HYPERLINKS, TDF_USE_HICON_MAIN, TDF_USE_HICON_FOOTER,
+ TDF_ALLOW_DIALOG_CANCELLATION, TDF_USE_COMMAND_LINKS, TDF_USE_COMMAND_LINKS_NO_ICON,
+ TDF_EXPAND_FOOTER_AREA, TDF_EXPANDED_BY_DEFAULT, TDF_VERIFICATION_FLAG_CHECKED,
+ TDF_SHOW_PROGRESS_BAR, TDF_SHOW_MARQUEE_PROGRESS_BAR, TDF_CALLBACK_TIMER,
+ TDF_POSITION_RELATIVE_TO_WINDOW, TDF_RTL_LAYOUT, TDF_NO_DEFAULT_RADIO_BUTTON,
+ TDF_CAN_BE_MINIMIZED, TDF_NO_SET_FOREGROUND {added in Windows 8}, TDF_SIZE_TO_CONTENT,
+ //custom LCL flags
+ 0 {tdfQuery}, 0 {tdfQueryMasked}, 0 {tdfQueryFieldFocused});
+ var
+ aFlag: TTaskDialogFlag;
+ begin
+ Result := 0;
+ for aFlag := Low(TTaskDialogFlags) to High(TTaskDialogFlags) do
+ if (aFlag in aFlags) then Result := Result or FlagValues[aFlag];
+ end;
+ {$ENDIF MSWINWOS}
var
ARadioOffset: integer;
@@ -821,7 +846,7 @@ begin
include(aFlags,tdfVerificationFlagChecked);
if (Config.cButtons=0) and (aCommonButtons=[cbOk]) then
Include(aFlags,tdfAllowDialogCancellation); // just OK -> Esc/Alt+F4 close
- Config.dwFlags := integer(aFlags);
+ Config.dwFlags := TaskDialogFlagsToInteger(aFlags);
Config.hMainIcon := TD_ICONS[aDialogIcon];
Config.hFooterIcon := TD_FOOTERICONS[aFooterIcon];
Config.nDefaultButton := aButtonDef;
2023-07-12 15:15:34 +02:00
mattias
c6200e29c8
lcl: TWinControl class completed
2023-07-12 11:35:47 +02:00
mattias
2dc7c77293
lcl: clean hostdocksite
2023-07-12 11:35:47 +02:00
Bart
a4c9080f10
TListBox: fix SelCount in case HandleAllocated = False. Issue #40361 .
2023-07-07 22:42:25 +02:00
Juha
adfc424e92
Lazarus trunk requires at least FPC 3.2.0. Remove checks for earlier FPC_FULLVERSION.
2023-07-07 17:39:03 +03:00
Juha
41adb276bb
Remove obsolete checks for FPC versions earlier then 3.0.
2023-07-07 17:39:02 +03:00
mattias
bcb890ce27
lcl: TScreen.UpdateLastActive: clear FLastActiveControl on destroy
2023-07-04 15:20:05 +02:00
Juha
0bc32656ed
LazUtils, LCL: Move LCLProc.CompareRect() -> GraphMath.SameRect(). Deprecate LCLProc.CompareRect().
2023-07-03 16:54:10 +03:00
Juha
211d95da17
LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them.
2023-07-03 11:17:01 +03:00
Juha
c3891ad820
Reduce compiler warnings.
2023-07-03 06:23:49 +03:00
Abou Al Montacir
58645a39f4
GTK3: Fixed crash on Win64 after recent changes on GTK3 hints.
...
Seems that on Win64, `FHintControl` is not always a valid `TWinControl`
class instance.
2023-06-25 20:31:16 +02:00
Abou Al Montacir
f7c5d02afb
GTK3: Fixed hint flickering when mouse moves.
...
Closes : #37712 .
When mouse moves but remains over the same widget, we should not
recreate the hint window. Just break execution and 'exit `ActivateHint`
function early.
2023-06-25 15:59:22 +00:00
Abou Al Montacir
06ec2750ca
GTK3: Passed handle of hint win control to WS inside hint data pointer.
...
Closes #40331 .
GTK3 WS needs to get that handle in order to retrieve the parent window
which need to be set as transient of the newly created popup window.
This is a required by GTK3 documentation as one can see in
https://docs.gtk.org/gtk3/method.Window.set_transient_for.html
This patch needs to touch common LCL code, but `HintData` files does
not seem to be really used.
2023-06-24 13:59:53 +00:00
rich2014
05555c84d5
Lcl/DrawText: Fix #40324 : return value set to the height
2023-06-24 15:41:04 +08:00
Juha
cc7d9e60fb
LCL: Simplify TTreeNode after adding support for Enabled property. Issue #40335 , patch by n7800.
2023-06-20 11:09:58 +03:00
Maxim Ganetsky
79f7f1bbf2
LCL: Made TCustomImageList more extensible. Based on idea from merge request !202 .
...
1. MarkAsChanged method (protected) is added, which sets FChanged to
true.
2. Virtual DoAfterUpdateStarted and DoBeforeUpdateEnded methods
(protected) are added. They are called in first BeginUpdate and last
EndUpdate respectively.
2023-06-19 16:11:00 +03:00
rich2014
280c57e91d
LCL/TCustomComboBox: replace cbactEnabled with AutoComplete
2023-06-16 22:07:47 +08:00
rich2014
3eccd94680
LCL/TCustomComboBox: refactor in TCustomComboBox.MatchListItem()
2023-06-16 21:58:16 +08:00
Juha
87fe030800
LazControls, LCL: Add shortcuts to TreeFilterEdit to work with TreeView. Issue #40321 , patch by n7800.
2023-06-16 02:01:21 +03:00
rich2014
055ae4d900
LCL/TCustomComboBox: fix CaseSensitive in MatchListItem()
2023-06-16 00:01:16 +08:00
Juha
74446557f6
Remove old deprecated functions and units.
2023-06-15 02:35:52 +03:00
rich2014
6d9db64d24
LCL/TCustomComboBox: CaseSensitive supported in RealSetText()
2023-06-14 23:43:42 +08:00
rich2014
062bacda7a
LCL/TCustomComboBox: Sorted supported (Cocoa first)
2023-06-14 22:39:47 +08:00
Juha
ab21cfa331
LCL: Add BeginUpdate..EndUpdate for FullCollapse and FullExpand in TreeView. Issue #40304 , patch by n7800.
2023-06-08 18:39:21 +03:00
Juha
f3afdc8d50
LCL: Add a wrapper for Types.OffsetRect() into LCLIntf.
2023-06-07 00:45:54 +03:00
Juha
1475336c8c
Remove LCLProc.OffsetRect(). Move some functions from LCLProc to GraphMath (LazUtils).
2023-06-05 15:48:01 +03:00
mattias
e89e0d7dcd
lcl: ShowModal: handleexception of Idle, otherwise error dialog is auto closed
2023-06-01 10:57:23 +02:00
Bart
d405afa039
LCL: in TRadioGroup and TCheckGroup don't set the name for runtime created radiobuttons/checkboxes.
...
They are not needed and can give rise to unexpected crashes if the name already exists.
2023-05-20 14:50:19 +02:00
Bart
5137735655
LCL: fix crash when using freeing a component of a TRadioGroup or TCheckGroup. Issue #40261 .
2023-05-20 14:42:36 +02:00
Juha
21ea45d415
Support compiling some Lazarus code with -Sy option. Issue #40263 , patch by Arioch The.
2023-05-20 12:51:35 +03:00
wp_xyz
f793569190
LCL: Fix high-dpi scaling of the TabHeight and TabWidth properties of TPageControl and TTabControl
2023-05-16 22:28:12 +02:00
Juha
f99bd70b72
Improve scaling of DateTimePicker. Leave GetDetailSize in places which are not fully tested yet.
2023-04-29 19:44:23 +03:00
wp_xyz
77ae9452b9
Misc: Switch x and y loops at several places. Issue #40231
2023-04-29 16:38:00 +02:00
Juha
c14934764c
LCL: Call TThemeServices.GetDetailSizeForPPI with proper arguments. Revert 1138d26280
.
2023-04-27 17:23:33 +03:00
Martok
da8aa82003
lcl: consider compositor/DWM extended frame for snapping
2023-04-24 23:12:47 +00:00
Martok
0b50d7cfc2
lcl: ensure SnapOptions are streamed
2023-04-24 23:12:47 +00:00
Martok
b83838139d
lcl: implement window snapping / magnetic borders
2023-04-24 23:12:47 +00:00
wp_xyz
dc299031b7
LCL/Toolbar: Remove redundant method TToolbar.ToolButtonDown, issue #40216
2023-04-18 13:56:58 +02:00
wp_xyz
f0ca99ba13
LCL/ToolButton: Fix endless loop when there is more than one checked button in group. Issue #40216 , patch by n7800
2023-04-18 00:17:24 +02:00
Bart
f63e480295
LCL Cleanup TWinControl.Loaded. Patch by lagprogramming. Issue #40209 .
2023-04-15 22:36:58 +02:00
wp_xyz
a2cd35663d
* LCL/Paintbox: Better solution to previous commit (issue #40198 ).
2023-04-13 23:26:23 +02:00
wp_xyz
fc2986c741
LCL/Paintbox: Fine-tune position of crossing lines in TPaintbox at design-time. Issue #40198 .
2023-04-13 22:32:41 +02:00
wp_xyz
c0946573ce
LCL/TCanvas: Switch x and y loops in TCanvas.BrushCopy. Patch by lagprogramming, https://forum.lazarus.freepascal.org/index.php/topic,62996.msg476742.html
2023-04-10 23:52:26 +02:00
wp_xyz
483ae6e0f1
LCL/Paintbox: Fix incorrect painting of PaintBox frame and cross lines at design time. Issue #40198 , patch by furious programming
2023-04-07 15:39:56 +02:00
Martin
0d415cb235
LCL: Fix endless loop in ReleaseComponent (invoking itself via WM_NULL). Issue #40183
...
Change to only re-invoke ReleaseComponent if any component actually reached a ref-count of 0.
If Components are re-added after a crash during destroying one of them, then they (may or may not) re-invoke immediately. But excluding the crashed one, so there is work to continue.
2023-04-02 20:33:48 +02:00
Juha
79fadc1fa5
LCL: Remove an unused Rect from TCanvas.TextExtent. Suggested by lagprogramming.
2023-03-11 17:10:32 +02:00
Juha
9822443fd6
LCL: Require Handle in TCanvas.GetClipRect. Issue #40114 , patch by nanobit.
2023-03-11 16:17:06 +02:00
Ondrej Pokorny
57c8514e04
TTaskDialog: add tfEmulateClassicStyle to flags
2023-02-28 08:29:50 +01:00
wp_xyz
6cc8ef7446
LCL/FlowPanel: Fix TFlowPanel.AutoSize calculation, excludes hidden controls now. Issue #40137 , patch by Henner Drewes.
2023-02-26 16:46:50 +01:00
mattias
3d86c02c68
lcl: fixed comments about TDockTree and TLazDockTree
2023-02-17 19:57:09 +01:00
Bart
5160adcacc
TApplicationProperties: add OnActionExecute (Issue #36816 ) and OnActionUpdate.
2023-02-11 18:41:03 +01:00
Željan Rikalo
909982cc9c
LCL: Fixed memleak in TCustomListView. TFPList can be created but never freed.
2023-01-15 00:28:40 +01:00
Bart
3a944f112d
Dialogs: fix compliation with fpc < 3.2.2 after commit #70688d5a (2nd try)
2023-01-14 00:25:55 +01:00
Bart
76c9b140ac
Dialogs: fix compliation with fpc < 3.2.2 after commit #70688d5a
2023-01-13 22:57:28 +01:00
Bart
70688d5a1f
Dialogs: simplify internal helper function.
2023-01-13 15:08:06 +01:00
Juha
49c7830b4a
LCL: Call OnShow event also for a maximized form. Issue #40043 .
2023-01-01 14:11:46 +02:00
wp_xyz
5f76b3e31c
LCL: additional fix to TWinControl.GetClientRect wcfBoundsRealized (DockedFormEditor issue), issue #40052 . Patch by rich2014.
2022-12-27 15:48:12 +01:00
mattias
1b9e56b56c
lcl: fixed TWinControl.GetClientRect wcfBoundsRealized, issue #40052
2022-12-19 22:04:09 +01:00
Ondrej Pokorny
96291eb9a5
TPanel: fix csOpaque style inconsistency (it depended on the order of ParentColor/ParentBackground change)
2022-12-14 21:49:24 +01:00
Ondrej Pokorny
7d00a524a4
TScrollBox: make opaque for ParentColor=False and ParentBackground=False. Issue #40047
2022-12-14 21:49:24 +01:00
Bart
1e302eb754
LCL: improve the construction of some messages for TTreeView. Modified patch by Alexey Torgashin. Issue #39592 .
2022-12-05 22:21:09 +01:00
Bart B
1af6a0e61f
Merge branch 'lcl/notebook' into 'main'
...
FIX #40019 : LCL/TPageControl: FIX algorithm of clear tabs in TNBPages.Clear()
See merge request freepascal.org/lazarus/lazarus!122
2022-12-03 14:10:15 +00:00
Ondrej Pokorny
2a1ea2ca04
Revert "lcl: label: align to right for autosize and taRightJustify (Delphi compatibility)"
...
This reverts commit 29996ddc03
.
2022-11-30 10:16:12 +01:00
Ondrej Pokorny
f1b3d0ca11
Revert "lcl: label: change left when making label visible for right-aligned autosized label. issue #21898 "
...
This reverts commit 369b6b255e
.
2022-11-30 10:16:12 +01:00
Ondrej Pokorny
369b6b255e
lcl: label: change left when making label visible for right-aligned autosized label. issue #21898
2022-11-27 19:18:45 +01:00
rich2014
b2611478d9
LCL/TPageControl: FIX algorithm of clear tabs in TNBPages.Clear()
2022-11-26 19:23:15 +08:00
wp_xyz
68e6168982
LCL/TaskDialog: Add new property Width to override the default width.
2022-11-23 23:43:18 +01:00
mattias
8b8ac1696f
lcl: TBitBtn: fixed typo
2022-11-18 08:10:34 +01:00
Maxim Ganetsky
202b5682ae
LCL: TWinControl.DoRemainingKeyUp argument should have TLMKeyUp type, not TLMKeyDown (most likely copy-paste error). All use cases of TWinControl.DoRemainingKeyUp (in WMSysKeyUp and WMKeyUp) are passing TLMKeyUp arguments. Note that both TLMKeyUp and TLMKeyDown are aliases to TLMKey. Patch by Don, issue #40001 .
2022-11-17 02:15:46 +03:00
Ondrej Pokorny
843dc303af
win32: DPI-aware menus
2022-11-16 00:44:52 +01:00
zamtmn
f3b838df8c
Prevent AV
2022-11-15 04:10:13 +03:00
zamtmn
989070fa91
Fix issue #39923 (AnchorDocking Docked forms sometimes overlap)
2022-11-15 04:09:52 +03:00
wp_xyz
1b3c13f9b9
lcl/(shell)treeview: Fix FindNodeWithTextPath not working for ShellTreeView in Linux.
2022-11-08 16:36:02 +01:00
wp_xyz
3f3e32ce9b
lcl/(Shell)TreeView: Add "FindOptions" so that FindNodeWithTextPath works in TShellTreeView even with collapsed nodes and in case-insensitive file systems.
2022-11-08 15:55:17 +01:00
wp_xyz
9cce03ac94
LCL/(Shell)TreeView: Add property PathDelimiter to TCustomTreeView to allow OS path delimiter in ShellTreeView.
2022-11-08 15:30:03 +01:00
wp_xyz
58f237f04c
LazControls: Fix LCLScaling of TColorButton.ButtonColorSize and .BorderWidth.
2022-11-07 22:25:58 +01:00
Juha
f45f3610f4
LCL: Fix TControl handler methods and arguments. Issue #39974 , patch by Don Siders.
2022-11-02 19:46:16 +02:00
wp_xyz
1799775107
LCL/Graphics: Avoid separate calculation of sin and cos in AngleArc(). Issue #39983 .
2022-11-02 12:38:12 +01:00
Bart
4b4e2cef9c
Win32: handle System.CmdShow at startup. Patch by Domingo Galmés, slightly modified by me. Issue ##39363.
2022-10-29 18:41:27 +02:00
wp_xyz
eff48575cf
LCL/TPanel: New property ShowAccelChar to improve Delphi compatibility in rendering of ampersands. Issue #39973 .
2022-10-28 00:09:56 +02:00
wp_xyz
fbe7aa44e1
LCL/SpeedButton: Fix clipping of caption containing double ampersand characters, issue #39820 .
2022-10-27 22:27:35 +02:00
Juha
e27cc45f6c
LCL: Make TDBCheckbox events consistent with VCL and with TCheckBox. Issue #39917 , patch by Arioch The.
2022-10-04 16:59:38 +03:00
Ondrej Pokorny
62cb85cb4b
LCL: task dialog: add tfForceNonNative Flag
2022-10-02 11:40:37 +02:00
Ondrej Pokorny
da539c7b9c
IDE: load High-DPI images
2022-09-29 00:59:16 +02:00
Ondrej Pokorny
016d9d0534
TPromptDialog: high-DPI
2022-09-28 23:32:17 +02:00
Ondrej Pokorny
a7d0453a6e
LCL: TImage: TImageList support (properties Images, ImageIndex and ImageWidth)
2022-09-28 20:25:36 +02:00
Ondrej Pokorny
6a416779cd
Revert "LCL: new component TImageListImage (that displays an image from TImageList instead of a TPicture)"
...
This reverts commit cac82fb704
.
2022-09-28 19:40:32 +02:00
Ondrej Pokorny
a3b65673ed
LCL: image list: AddMultipleResolutions with TRasterImage overload
2022-09-28 16:22:54 +02:00
Ondrej Pokorny
cac82fb704
LCL: new component TImageListImage (that displays an image from TImageList instead of a TPicture)
2022-09-28 16:10:01 +02:00
Martin
5882a5bfb5
LCL: TaskDialog, fix default radio-button
2022-09-27 12:16:13 +02:00
Juha
9f577dc548
LCL: Add an option to NOT call TCheckbox OnChange handler when clicked. Issue #39870 , patch by Arioch The.
2022-09-18 21:31:59 +03:00
Bart
95cfa51d1b
TFloatSpinEdit(Ex): fix crash in OI when setting MaxValue/MinValue/Increment. Issue #39792 .
2022-09-17 19:03:18 +02:00
wp_xyz
6d123c6ac8
LCL/Toolbar: Fix incorrect high-dpi scaling of toolbuttons due to hard-coded constant margins.
2022-09-13 21:55:27 +02:00
wp_xyz
7db50f95cc
LCL: Increase distance between TToolButton icon and text in List mode.
2022-09-11 18:12:06 +02:00
Juha
8eec551e93
LCL: Improve Checkbox / TAction synchronization. Issue #39869 .
2022-09-08 10:21:59 +03:00
mattias
5852af11e6
lcl: TApplication.IsShortcut: check if mainform handleallocated
2022-08-31 23:20:41 +02:00
Martok
e4043024da
lcl, win32: move TCustomCheckListBox WS specific settings to WS implementataion
...
Other widgetsets use widgets with builtin check support, no need to have
ownerdraw details in the LCL class
+ publish OnMeasureItem, it can now be used like TCustomListBox
2022-08-30 02:29:36 +03:00
Martok
1161c4a75a
LCL: don't call LB_GETITEMRECT from LM_MEASUREITEM handler (issue #39653 )
2022-08-30 02:29:36 +03:00
wp_xyz
7950515229
LCL: Revert 0c285d6eb9
(fixes issue #39861 ).
2022-08-17 22:59:27 +02:00
wp_xyz
13f4f576ab
LCL/extctrls: Add new TCustomPanel/TPanel property VerticalAlignment which exists in Delphi.
2022-07-19 19:28:16 +02:00
wp_xyz
e10b896d7e
LCL/FloatSpinEdit: Fix KeyPress swallowing the 'e' of exponential notation.
2022-06-10 17:21:36 +02:00
Juha
72fda31b81
LCL: Delete TCustomSpeedButton.DoMouseUp. Part of merge request !21 .
2022-06-03 12:52:45 +03:00
alexrayne
3b4fc416a8
LCL: Fix band height evaluation in ControlBar. Now single row snaps to inner control height.
2022-06-02 13:12:23 +03:00
mattias
843ed47f9a
lcl: fixed parsing with fpdoc
2022-05-29 19:23:35 +02:00
Bart
09584a03b9
LCL: implement PromptForFileName in a Delphi compatible way (even though the function is badly designed IMHO). Issue #39740 .
2022-05-18 22:51:52 +02:00
mattias
174cf206d4
lcl: fixed TCustomForm.GetMonitor to avoid calling SetBounds
2022-05-17 10:32:34 +02:00
mattias
becdd42b6d
lcl: fixed TCustomForm.GetMonitor when handleallocated and visible
2022-05-16 15:25:08 +02:00
mattias
db88c83b22
lcl: TCustomForm.GetMonitor consider poDefaultPosOnly
2022-05-16 12:14:10 +02:00
mattias
cf9253d7a7
lcl: TCustomForm.GetMonitor consider Position and DefaultMonitor on first show
2022-05-16 11:29:43 +02:00
wp_xyz
0883c8c524
LCL/ListView: implement incremental search in virtual mode for Windows. Issue #39748 .
2022-05-13 11:06:11 +02:00
Ondrej Pokorny
1837c65413
lcl TLabel: unbind Color and Transparent to fix ParentColor issues (fixes)
2022-05-03 20:42:26 +02:00
Ondrej Pokorny
4ffce1ec8f
lcl TLabel: unbind Color and Transparent to fix ParentColor issues
2022-05-03 09:39:24 +02:00
wp_xyz
c0c30424de
LCL/TListView: More complete fix of issue #39708 , based on patch by d7_2_laz ( https://forum.lazarus.freepascal.org/index.php/topic,59024.msg441180.html#msg441180 ).
2022-04-27 10:38:14 +02:00
wp_xyz
417ff31e84
LCL/ImageList: Fix incorrect png format check in lfm files. Issue #39719 , patch by Guilherme Scaglia.
2022-04-22 15:50:32 +02:00
wp_xyz
b694be37b0
LCL/ListView: Better fix for editing virtual multi-select listview than 451f75e3ce
. Issue #39708 .
2022-04-13 19:41:38 +02:00
wp_xyz
451f75e3ce
LCL/ListView: Disable editing of virtual list items when multiple items are selected to avoid transferring the edited caption to the wrong node.
2022-04-13 14:45:03 +02:00
wp_xyz
ba8174b384
LCL/ListView: Fix modifying incorrect item when editing in virtual mode. Issue #39708 .
2022-04-12 19:23:55 +02:00
wp_xyz
faed788b23
LCL/ListView: Fix TListview in cocoa hanging after fb64d6ef4d
(related to issue #39693 ).
2022-04-04 15:55:11 +02:00
wp_xyz
9aa8b52ba2
LCL/ListView: Fix OnSelectItem not showing previously selected item when argument Selected=false (on Windows).
2022-04-04 11:51:42 +02:00
wp_xyz
fb64d6ef4d
LCL/ListView: Fix multi-selection in virtual mode. Issue #39693 .
2022-04-03 23:27:52 +02:00
Zaher Dirkey
76c95e8c47
make TPopupNotifier.BidiMode as Application.BidiMode
...
Just simple logical fix a crash ADragObjectCopy
2022-03-18 18:18:54 +02:00
wp_xyz
201075cbd8
LCL: Make procedure RotateRect() (local to customlabel.inc) publicly available in GraphMath.
2022-03-13 15:41:48 +01:00
Juha
a1dca01b66
Revert an earlier change in 82b9902b12
. The checks are needed.
2022-03-06 09:11:08 +02:00
Juha
b02bb3563b
Revert "LCL: Fix Toolbar size when inside a Controlbar". Causes ChangeBounds loop in a bottom anchored Toolbar with GTK2.
2022-03-04 22:25:41 +02:00
Juha
82b9902b12
LCL: Prevent an occational range error in ShellListView. Remove useless checks.
2022-03-04 12:50:22 +02:00
Juha
78f789c59b
LCL: Fix Toolbar size when inside a Controlbar. Merge request !77 by Alexander Litjagin.
2022-03-04 00:27:15 +02:00
wp_xyz
2b04018e69
LCL/SpeedButton: Fix misaligned icons in TFilenameEdit etc.
2022-02-10 14:59:49 +01:00
wp_xyz
1f92d4fde1
LCL/TSpeedButton: New property Alignment for left/right aligned or centered caption.
2022-02-07 16:04:47 +01:00
wp_xyz
ad41c897b7
LCL/TSpeedButton: Improve text alignment when there is not glyph.
2022-02-07 15:42:10 +01:00
wp_xyz
89bd5e8943
LCL/SpeedButton: Draw centered multi-line caption. Issue #39632
2022-02-07 12:59:21 +01:00
Martin
f7f41f0116
LCL: Fix Canvas.RoundRect with zero radius, wrong size for non-win. Issue #39628
2022-02-02 14:45:51 +01:00
Bart
8c251bbdfb
LCL: Use const for parameters. Patch by Alexey Torgashin. Issue #39617 .
2022-02-02 13:57:38 +01:00
Juha
082d051466
LCL: Do not InvalidateSelected in MultiSelect virtual TListView. Part of issue #39324 .
2022-01-28 17:09:38 +02:00
Juha
4d72245552
LCL: Solve most performance issues with virtual TListView (OwnerData=True). Issue #39324 , patch by d7_2_laz.
2022-01-27 13:24:51 +02:00
Juha
cd2ae505e3
LCL: Fix cursor key behavior with TTreeNode.Enabled, add methods to iterate tree. Issue #39590 .
2022-01-25 11:20:56 +02:00
Juha
6464e232a0
LCL: Implement TreeView's TTreeNode.Enabled property, partly functional. Issue #39590 , patch by Alexey Torgashin.
2022-01-23 21:29:54 +02:00
Maxim Ganetsky
0a0b688587
LCL: added const to GetLocalizedFormatDescription function parameters
2022-01-17 00:33:57 +03:00
Maxim Ganetsky
52bb248201
LCL: fixed i18n of graphic file format filter descriptions in file dialogs, improved descriptions themselves, removed unused ones, regenerated translations and updated Russian translation
2022-01-15 04:41:04 +03:00
Ondrej Pokorny
624ef51567
LCL Spin: fix case of Integer/string types
2022-01-06 14:16:30 +01:00
Bart
603fb72945
T(Float)SpinEdit: update the control in EditingDone so that text matches Value. Reported by Jamie in https://forum.lazarus.freepascal.org/index.php/topic,57722.msg429596.html#msg429596
2022-01-05 12:33:17 +01:00
mattias
744d5506fd
lcl: TTReeView: skip drawing node text when editing, issue 39507
2021-12-26 18:19:26 +01:00
wp_xyz
6e2454530b
LCL: Add properties Hot/Disabled/Pressed/SelectedImageIndex to TBitBtn and TSpeedButton. Issue #33299 .
2021-12-26 18:06:53 +01:00
Ondrej Pokorny
5f9aaa6cab
LCL: reformatting according to CodeTools
2021-12-17 10:18:01 +01:00
Ondrej Pokorny
f05922b05d
LCL: TControl.ClientToScreen(TRect) overload - Delphi compatibility
2021-12-17 10:16:49 +01:00
wp_xyz
7114800c05
LCL/TCustomGrid, TCustomCheckBoxEx: Add missing Notification method to react on destruction of TitleImageList and Images, respectively.
2021-12-16 14:52:01 +01:00
wp_xyz
285ed6ea0d
LCL/TColorButton: Add missing Notification method to prevent crash when assigned ColorDialog is deleted.
2021-12-16 00:37:28 +01:00
Ondrej Pokorny
8438ed9d98
Revert "LCL: Add TCustomFrame.CreateParams. Somehow fixes issue #25124."
...
This reverts commit 20c1e10aca
.
2021-11-29 22:05:19 +01:00
Juha
20c1e10aca
LCL: Add TCustomFrame.CreateParams. Somehow fixes issue #25124 .
2021-11-29 11:26:58 +02:00
Ondrej Pokorny
89162e9c1c
LCL: move crScreenCursor to a private const of TScreen so that it isn't used elsewhere
2021-11-26 13:33:48 +01:00
Ondrej Pokorny
d13c67e680
lcl: TForm.ShowModal: override temporary cursors with Screen.Cursor and not crDefault. Issue #39486
2021-11-26 11:23:29 +01:00
wp_xyz
5438db7700
LCL: Give access to dialog icon idDialogShield
2021-11-19 23:34:09 +01:00
Ondrej Pokorny
89cd2a1045
win32: fix setting TMenuItem.Visible := True in the top menu bar. Issue #39458
2021-11-19 16:56:10 +01:00
Ondrej Pokorny
5f82f6ba31
TCustomForm: MakeFullyVisible should use WorkAreaRect as default (sensible and also Delphi-compatible)
2021-11-19 15:17:18 +01:00
Ondrej Pokorny
cbafa07331
TCustomForm: rewrite MoveToDefaultPosition and fix regression after 5d1e0bb8e9
2021-11-19 15:17:18 +01:00
Roland Hahn
5aee9d5c07
Aktualisieren lcl/include/bitbtn.inc
2021-11-07 10:26:45 +00:00
Juha
776e1e91ad
LCL-GTK3: Comment out abundant debug lines.
2021-11-06 02:43:33 +02:00