From 9596662a1219abb7cf67a8fb0051a2ac2b0e51cd Mon Sep 17 00:00:00 2001 From: maxim Date: Mon, 17 Jul 2017 23:24:02 +0000 Subject: [PATCH] Merged revision(s) 55492 #3acd41371c, 55494-55496 #6b1b12d66d-#6b1b12d66d, 55498-55500 #6f5300c1e9-#6f5300c1e9, 55507-55516 #76cd4aa108-#76cd4aa108 from trunk: IDE: High-DPI: ObjectInspector: Fixed drawing of active row bitmap. Issue #32097 ........ grids: Introduce constColRowBorderTolerance for colwidth/rowheight resizing. ........ grids: High-dpi scaling of constCellPadding, constRubberSpace and constColRowBorderTolerance ........ IDE: High-DPI: ObjectInspector: Size of filter edit glyphs. Issue #32097 ........ IDE: High-DPI: Fixed image sizes of in IDE used TTreeFilterEdits and TListFilterEdits. ........ IDE: High-DPI: ComponentPagesPopup: Size of close button glyph. Issue #32097 ........ IDE: High-DPI: ComponentPalette: Size of component pages speedbutton. ........ IDE: SearchResultWindow: Anchor of TreeFilterEdit to always show its button. ........ IDE: High-DPI: ObjectInspector: ComponentTreeView: Fixed image sizes. ........ IDE: High-DPI: ComponentPages: Fixed tree image sizes. ........ IDE: High-DPI: ActionsEditor: Fixed image sizes. ........ IDE: High-DPI: CodeExplorer: Fixed image sizes. ........ IDE: High-DPI: Better assigning of images to imagelists. ........ IDE: High-DPI: SourceEditor: Fixed source mark image sizes. ........ IDE: High-DPI: CodeBrowser: Fixed image sizes. ........ IDE: EditorDisplayOptions: Fixed wrong anchor of DisableAntialiasingCheckBox. ........ LCL: TTreeView: High-DPI: Make spaces between images DPI-aware. ........ git-svn-id: branches/fixes_1_8@55528 - --- .gitattributes | 2 + components/ideintf/actionseditor.lfm | 35 ------ components/ideintf/actionseditor.pas | 22 ++-- components/ideintf/changeparentdlg.pas | 6 +- components/ideintf/componenttreeview.pas | 29 ++--- components/ideintf/ideimagesintf.pas | 22 ++++ components/ideintf/images/ideintf_images.res | Bin 10792 -> 8627 bytes .../ideintf/images/ideintf_images_list.txt | 4 +- .../images/propertygrid/pg_active_row.png | Bin 2864 -> 166 bytes .../images/propertygrid/pg_active_row_150.png | Bin 0 -> 198 bytes .../images/propertygrid/pg_active_row_200.png | Bin 0 -> 203 bytes components/ideintf/objectinspector.pp | 4 +- ide/codebrowser.pas | 42 ++++--- ide/codeexplorer.pas | 64 ++++++----- ide/componentlist.lfm | 1 + ide/componentlist.pas | 6 + ide/componentpalette.pas | 4 +- ide/comppagespopup.lfm | 104 +----------------- ide/comppagespopup.pas | 16 ++- ide/editorfilemanager.pas | 1 + ide/frames/compiler_messages_options.pas | 3 +- ide/frames/editor_display_options.lfm | 1 - ide/frames/editor_keymapping_options.pas | 1 + ide/ideoptionsdlg.lfm | 1 + ide/ideoptionsdlg.pas | 7 ++ ide/projectinspector.lfm | 1 + ide/projectinspector.pas | 6 + ide/restrictionbrowser.pas | 1 + ide/searchresultview.lfm | 3 + ide/searchresultview.pp | 14 +-- ide/sourcemarks.pas | 10 +- ide/toolbarconfig.pas | 1 + ide/useunitdlg.pas | 1 + ide/viewunit_dlg.pp | 1 + lcl/comctrls.pp | 1 + lcl/grids.pas | 45 +++++--- lcl/include/treeview.inc | 29 ++--- packager/addpkgdependencydlg.pas | 3 +- packager/installpkgsetdlg.pas | 2 + packager/packageeditor.pas | 1 + 40 files changed, 224 insertions(+), 270 deletions(-) create mode 100644 components/ideintf/images/propertygrid/pg_active_row_150.png create mode 100644 components/ideintf/images/propertygrid/pg_active_row_200.png diff --git a/.gitattributes b/.gitattributes index fbfa60c9e8..055e6ecd61 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1891,6 +1891,8 @@ components/ideintf/images/propertygrid/issue_qt.png -text svneol=unset#image/png components/ideintf/images/propertygrid/issue_win32.png -text svneol=unset#image/png components/ideintf/images/propertygrid/issue_wince.png -text svneol=unset#image/png components/ideintf/images/propertygrid/pg_active_row.png -text svneol=unset#image/png +components/ideintf/images/propertygrid/pg_active_row_150.png -text +components/ideintf/images/propertygrid/pg_active_row_200.png -text components/ideintf/keyvalpropeditdlg.lfm svneol=native#text/plain components/ideintf/keyvalpropeditdlg.pas svneol=native#text/pascal components/ideintf/languages/objinspstrconsts.ca.po svneol=native#text/plain diff --git a/components/ideintf/actionseditor.lfm b/components/ideintf/actionseditor.lfm index ef0d8bb737..2dade48d7a 100644 --- a/components/ideintf/actionseditor.lfm +++ b/components/ideintf/actionseditor.lfm @@ -243,40 +243,5 @@ object ActionListEditor: TActionListEditor AllocBy = 8 left = 56 top = 116 - Bitmap = { - 4C69010000001000000010000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007F7F7FFF7F7F - 7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F - 7FFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007F7F - 7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF007F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFFFFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF007F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFFFFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF007F7F7FFF7F7F7FFFFFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00 - } end end diff --git a/components/ideintf/actionseditor.pas b/components/ideintf/actionseditor.pas index 9289ef3430..bd9eba7692 100644 --- a/components/ideintf/actionseditor.pas +++ b/components/ideintf/actionseditor.pas @@ -27,9 +27,10 @@ uses Classes, SysUtils, contnrs, // LCL LCLIntf, LCLType, LCLProc, Forms, Controls, Dialogs, ExtCtrls, StdCtrls, - Graphics, Menus, ComCtrls, DBActns, StdActns, ActnList, + Graphics, Menus, ComCtrls, DBActns, StdActns, ActnList, Themes, // IDEIntf - ObjInspStrConsts, ComponentEditors, PropEdits, PropEditUtils, IDEWindowIntf; + ObjInspStrConsts, ComponentEditors, PropEdits, PropEditUtils, IDEWindowIntf, + IDEImagesIntf; type TActStdPropItem = class; @@ -410,14 +411,19 @@ begin end; procedure TActionListEditor.FormCreate(Sender: TObject); +var + ImageSize: Integer; + Details: TThemedElementDetails; begin - //imageindex 0 exists - ImageList1.AddResourceName(HInstance, 'laz_add'); //imageindex 1 - ImageList1.AddResourceName(HInstance, 'laz_delete'); //imageindex 2 - ImageList1.AddResourceName(HInstance, 'arrow_up'); //imadeindex 3 - ImageList1.AddResourceName(HInstance, 'arrow_down'); //imageindex 4 + ImageSize := TIDEImages.ScaledSize; + ImageList1.Width := ImageSize; + ImageList1.Height := ImageSize; + TIDEImages.AddImageToImageList(ImageList1, 'btn_downarrow'); //imageindex 0 + TIDEImages.AddImageToImageList(ImageList1, 'laz_add'); //imageindex 1 + TIDEImages.AddImageToImageList(ImageList1, 'laz_delete'); //imageindex 2 + TIDEImages.AddImageToImageList(ImageList1, 'arrow_up'); //imadeindex 3 + TIDEImages.AddImageToImageList(ImageList1, 'arrow_down'); //imageindex 4 btnAddMore.ImageIndex := 0; - // These must be set in code because OI does not work with non-existent values. btnAdd.ImageIndex := 1; btnDelete.ImageIndex := 2; btnUp.ImageIndex := 3; diff --git a/components/ideintf/changeparentdlg.pas b/components/ideintf/changeparentdlg.pas index 449e7c516a..cdbfe44289 100644 --- a/components/ideintf/changeparentdlg.pas +++ b/components/ideintf/changeparentdlg.pas @@ -17,8 +17,8 @@ unit ChangeParentDlg; interface uses - Classes, SysUtils, strutils, FileUtil, ListFilterEdit, PropEditUtils, Forms, - Controls, Graphics, Dialogs, StdCtrls, ButtonPanel; + Classes, SysUtils, strutils, FileUtil, ListFilterEdit, PropEditUtils, + IDEImagesIntf, Forms, Controls, Graphics, Dialogs, StdCtrls, ButtonPanel; type @@ -103,6 +103,8 @@ begin Caption := oisChangeParent; chShowClasses.Caption := oisShowClasses; + + TIDEImages.AssignImage(ListFilterEdit.Glyph, 'btnfiltercancel'); end; {$HINTS OFF} diff --git a/components/ideintf/componenttreeview.pas b/components/ideintf/componenttreeview.pas index fcf1262ff9..fa5bdddef3 100644 --- a/components/ideintf/componenttreeview.pas +++ b/components/ideintf/componenttreeview.pas @@ -28,7 +28,7 @@ uses // LCL LCLProc, Dialogs, Controls, ComCtrls, Graphics, // IdeIntf - ObjInspStrConsts, PropEdits, PropEditUtils; + ObjInspStrConsts, PropEdits, PropEditUtils, IDEImagesIntf; type TCTVGetImageIndexEvent = procedure(APersistent: TPersistent; @@ -582,31 +582,20 @@ begin end; constructor TComponentTreeView.Create(TheOwner: TComponent); -var - Bitmap: TPortableNetworkGraphic; begin inherited Create(TheOwner); DragMode := dmAutomatic; FComponentList:=TBackupComponentList.Create; Options := Options + [tvoAllowMultiselect, tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly]; FImageList := TImageList.Create(nil); - Bitmap := TPortableNetworkGraphic.Create; - try - Bitmap.LoadFromResourceName(HInstance, 'oi_form'); - ImgIndexForm:=FImageList.Add(Bitmap, nil); - Bitmap.LoadFromResourceName(HInstance, 'oi_comp'); - ImgIndexComponent:=FImageList.Add(Bitmap, nil); - Bitmap.LoadFromResourceName(HInstance, 'oi_control'); - ImgIndexControl:=FImageList.Add(Bitmap, nil); - Bitmap.LoadFromResourceName(HInstance, 'oi_box'); - ImgIndexBox:=FImageList.Add(Bitmap, nil); - Bitmap.LoadFromResourceName(HInstance, 'oi_collection'); - ImgIndexCollection:=FImageList.Add(Bitmap, nil); - Bitmap.LoadFromResourceName(HInstance, 'oi_item'); - ImgIndexItem:=FImageList.Add(Bitmap, nil); - finally - Bitmap.Free; - end; + FImageList.Width := TIDEImages.ScaledSize; + FImageList.Height := TIDEImages.ScaledSize; + ImgIndexForm := TIDEImages.AddImageToImageList(FImageList, 'oi_form'); + ImgIndexComponent := TIDEImages.AddImageToImageList(FImageList, 'oi_comp'); + ImgIndexControl := TIDEImages.AddImageToImageList(FImageList, 'oi_control'); + ImgIndexBox := TIDEImages.AddImageToImageList(FImageList, 'oi_box'); + ImgIndexCollection := TIDEImages.AddImageToImageList(FImageList, 'oi_collection'); + ImgIndexItem := TIDEImages.AddImageToImageList(FImageList, 'oi_item'); Images := FImageList; end; diff --git a/components/ideintf/ideimagesintf.pas b/components/ideintf/ideimagesintf.pas index 2e13b0a6d4..16bd332f5f 100644 --- a/components/ideintf/ideimagesintf.pas +++ b/components/ideintf/ideimagesintf.pas @@ -57,6 +57,9 @@ type class function CreateImage(ImageName: String; ImageSize: Integer = 16): TCustomBitmap; class procedure AssignImage(const ABitmap: TCustomBitmap; ImageName: String; ImageSize: Integer = 16); + class function AddImageToImageList(const AImageList: TImageList; + ImageName: String; ImageSize: Integer = 16): Integer; + class function ScaledSize(ImageSize: Integer = 16): Integer; function LoadImage(ImageSize: Integer; ImageName: String): Integer; deprecated 'Use the other overload instead.'; function LoadImage(ImageName: String; ImageSize: Integer = 16): Integer; @@ -176,6 +179,25 @@ begin end; end; +class function TIDEImages.AddImageToImageList(const AImageList: TImageList; + ImageName: String; ImageSize: Integer): Integer; +var + xBmp: TCustomBitmap; +begin + Result := -1; + xBmp := TIDEImages.CreateImage(ImageName, ImageSize); + try + Result := AImageList.Add(xBmp, nil); + finally + xBmp.Free; + end; +end; + +class function TIDEImages.ScaledSize(ImageSize: Integer): Integer; +begin + Result := ImageSize * GetScalePercent div 100; +end; + constructor TIDEImages.Create; begin FImageNames_12 := TStringList.Create; diff --git a/components/ideintf/images/ideintf_images.res b/components/ideintf/images/ideintf_images.res index f66024ddd14842fe94e6eb865586eb1054f08990..3b4007ef76ab75b3137ce60df355e075fa8bb20e 100644 GIT binary patch delta 504 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 literal 0 HcmV?d00001 diff --git a/components/ideintf/images/propertygrid/pg_active_row_200.png b/components/ideintf/images/propertygrid/pg_active_row_200.png new file mode 100644 index 0000000000000000000000000000000000000000..d52bf9c81c43f414c5e36885dc982e32a554adff GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|wj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&pI+okv8ByD~oQ4p1n<)5S5w;&gI?L{5X?^p?nf|Nfu& z6D%w%dD5sOnil then begin case bmpAlign of taCenter: XPos := Trunc((aRect.Left+aRect.Right-ChkBitmap.Width)/2); - taLeftJustify: XPos := ARect.Left + constCellPadding; - taRightJustify: XPos := ARect.Right - ChkBitmap.Width - constCellPadding - 1; + taLeftJustify: XPos := ARect.Left + varCellPadding; + taRightJustify: XPos := ARect.Right - ChkBitmap.Width - varCellPadding - 1; end; YPos := Trunc((aRect.Top+aRect.Bottom-ChkBitmap.Height)/2); Canvas.Draw(XPos, YPos, ChkBitmap); @@ -5675,7 +5682,7 @@ begin end; // check if cursor is near boundary and it's a valid column - if (Abs(Offset-x)<=2) then begin + if (Abs(Offset-x)<=varColRowBorderTolerance) then begin if goFixedColSizing in Options then Offset := 0 else @@ -5747,7 +5754,7 @@ begin // check if it's not fixed row and if cursor is close enough to // selected boundary - if (Index>=FFixedRows)and(Abs(Offset-Y)<=2) then begin + if (Index>=FFixedRows)and(Abs(Offset-Y)<=varColRowBorderTolerance) then begin // start resizing if Cursor<>crVSplit then begin ChangeCursor(crVSplit); @@ -9397,6 +9404,10 @@ begin FUnCheckedBitmap := LoadResBitmapImage('dbgriduncheckedcb'); FCheckedBitmap := LoadResBitmapImage('dbgridcheckedcb'); FGrayedBitmap := LoadResBitmapImage('dbgridgrayedcb'); + + varRubberSpace := MulDiv(constRubberSpace, Screen.PixelsPerInch, 96); + varCellPadding := MulDiv(constCellPadding, Screen.PixelsPerInch, 96); + varColRowBorderTolerance := MulDiv(constColRowBorderTolerance, Screen.PixelsPerInch, 96); end; destructor TCustomGrid.Destroy; diff --git a/lcl/include/treeview.inc b/lcl/include/treeview.inc index 57b0eff47c..4437f65e6d 100644 --- a/lcl/include/treeview.inc +++ b/lcl/include/treeview.inc @@ -1712,7 +1712,7 @@ begin TV := TreeView; if (TV = nil) or (TV.StateImages = nil) then Exit; if (StateIndex < 0) or (StateIndex >= TV.StateImages.Count) then Exit; - Inc(Result, TV.StateImages.Width + 2); + Inc(Result, TV.StateImages.Width + TV.FDefItemSpace); end; function TTreeNode.DisplayStateIconLeft: integer; @@ -1733,7 +1733,7 @@ begin else ImgIndex:=ImageIndex; if (ImgIndex<0) or (ImgIndex>=TV.Images.Count) then Exit; - Inc(Result, TV.Images.Width + 2); + Inc(Result, TV.Images.Width + TV.FDefItemSpace); end; function TTreeNode.DisplayTextRight: integer; @@ -3209,6 +3209,7 @@ begin ParentColor := False; // FBackgroundColor := clWindow; FDefItemHeight := DefaultTreeNodeHeight; + FDefItemSpace := ScaleY(2, 96); FExpandSignType := tvestTheme; FExpandSignSize := -1; Details := ThemeServices.GetElementDetails(ttGlyphOpened); @@ -3574,12 +3575,12 @@ var begin if (tvoAutoItemHeight in FOptions) and HandleAllocated and Canvas.HandleAllocated then begin - NewDefItemHeight:=Canvas.TextHeight(TVAutoHeightString)+2; // +2 for spacing - if NewDefItemHeight<2 then NewDefItemHeight:=2; - if (Images<>nil) and (Images.Height>NewDefItemHeight) then - NewDefItemHeight:=Images.Height; - if (StateImages<>nil) and (StateImages.Height>NewDefItemHeight) then - NewDefItemHeight:=StateImages.Height; + NewDefItemHeight:=Canvas.TextHeight(TVAutoHeightString)+FDefItemSpace; + if NewDefItemHeightnil) and (Images.Height+FDefItemSpace>NewDefItemHeight) then + NewDefItemHeight:=Images.Height+FDefItemSpace; + if (StateImages<>nil) and (StateImages.Height+FDefItemSpace>NewDefItemHeight) then + NewDefItemHeight:=StateImages.Height+FDefItemSpace; if Odd(NewDefItemHeight) then Inc(NewDefItemHeight); if NewDefItemHeight<>FDefItemHeight then begin FDefItemHeight:=NewDefItemHeight; @@ -5215,7 +5216,7 @@ begin if PaintImages then StateImages.Draw(Canvas, x + 1, (NodeRect.Top + NodeRect.Bottom - StateImages.Height) div 2, Node.StateIndex, True); - Inc(x, StateImages.Width + 2); + Inc(x, StateImages.Width + FDefItemSpace); end; end; @@ -5257,7 +5258,7 @@ begin ImgIndex, Node.FNodeEffect); end; end; - Inc(x, Images.Width + 2); + Inc(x, Images.Width + FDefItemSpace); end; end; @@ -5699,8 +5700,8 @@ begin if Images <> nil then begin Images.RegisterChanges(FImageChangeLink); Images.FreeNotification(Self); - if DefaultItemHeight nil then begin StateImages.RegisterChanges(FStateChangeLink); StateImages.FreeNotification(Self); - if DefaultItemHeight