UPD: the inline editor will not occupy the Extension Column when cm_RenameOnly is called with extension=no in Columns View Mode

This commit is contained in:
rich2014 2026-05-01 23:30:20 +08:00
commit c7784ec536
4 changed files with 25 additions and 19 deletions

View file

@ -48,7 +48,7 @@ type
procedure CreateDefault(AOwner: TWinControl); override;
function GetFileViewGridClass: TFileViewGridClass; override;
procedure ShowRenameFileEdit(var aFile: TFile; const withExt: Boolean); override;
procedure UpdateRenameFileEditPosition; override;
procedure UpdateRenameFileEditPosition(const withExt: Boolean); override;
function GetVisibleFilesIndexes: TRange; override;
function GetIconRect(FileIndex: PtrInt): TRect; override;
procedure MouseScrollTimer(Sender: TObject); override;
@ -565,17 +565,17 @@ begin
dgPanel.LeftCol:= dgPanel.Col;
UpdateRenameFileEditPosition;
UpdateRenameFileEditPosition(withExt);
end;
inherited ShowRenameFileEdit(AFile, withExt);
end;
procedure TBriefFileView.UpdateRenameFileEditPosition;
procedure TBriefFileView.UpdateRenameFileEditPosition(const withExt: Boolean);
var
ARect: TRect;
begin
inherited UpdateRenameFileEditPosition;
inherited UpdateRenameFileEditPosition(withExt);
ARect := dgPanel.CellRect(dgPanel.Col, dgPanel.Row);
Dec(ARect.Top, 2);

View file

@ -175,7 +175,7 @@ type
procedure SetActiveFile(FileIndex: PtrInt; ScrollTo: Boolean; aLastTopRowIndex: PtrInt = -1); override;
procedure SetSorting(const NewSortings: TFileSortings); override;
procedure ShowRenameFileEdit(var aFile: TFile; const withExt: Boolean); override;
procedure UpdateRenameFileEditPosition; override;
procedure UpdateRenameFileEditPosition(const withExt: Boolean); override;
procedure UpdateInfoPanel; override;
procedure MouseScrollTimer(Sender: TObject); override;
@ -487,17 +487,17 @@ begin
edtRename.Font.Size := GetColumnsClass.GetColumnFontSize(FFileNameColumn);
edtRename.Font.Style := GetColumnsClass.GetColumnFontStyle(FFileNameColumn);
UpdateRenameFileEditPosition;
UpdateRenameFileEditPosition(withExt);
end;
inherited ShowRenameFileEdit(AFile, withExt);
end;
procedure TColumnsFileView.UpdateRenameFileEditPosition;
procedure TColumnsFileView.UpdateRenameFileEditPosition(const withExt: Boolean);
var
ARect: TRect;
begin
inherited UpdateRenameFileEditPosition;
inherited UpdateRenameFileEditPosition(withExt);
ARect := dgPanel.CellRect(FFileNameColumn, dgPanel.Row);
Dec(ARect.Top, 2);
@ -506,8 +506,13 @@ begin
if (gShowIcons <> sim_none) and (FFileNameColumn = 0) then
Inc(ARect.Left, gIconsSize + 2);
if Succ(FFileNameColumn) = FExtensionColumn then
Inc(ARect.Right, dgPanel.ColWidths[FExtensionColumn]);
if Succ(FFileNameColumn) = FExtensionColumn then begin
if withExt then begin
Inc(ARect.Right, dgPanel.ColWidths[FExtensionColumn]);
end else begin
Dec(ARect.Right, edtRename.ButtonWidth);
end;
end;
if gInplaceRenameButton and (ARect.Right + edtRename.ButtonWidth < dgPanel.ClientWidth) then
Inc(ARect.Right, edtRename.ButtonWidth);

View file

@ -213,7 +213,7 @@ type
procedure ShowRenameFileEditInitSelect(Data: PtrInt);
procedure ShowRenameFileEdit(var AFile: TFile; const withExt: Boolean); virtual;
procedure UpdateRenameFileEditPosition; virtual;
procedure UpdateRenameFileEditPosition(const withExt: Boolean); virtual;
procedure RenameSelectPart(AActionType:TRenameFileActionType); virtual;
property MainControl: TWinControl read FMainControl write SetMainControl;
@ -468,7 +468,7 @@ begin
edtRename.Tag:= 2;
ShowRenameFileEdit(AFile, FRenFile.WithExt);
edtRename.Tag:= 1;
UpdateRenameFileEditPosition;
UpdateRenameFileEditPosition(FRenFile.WithExt);
end;
sfprError:
begin
@ -584,7 +584,7 @@ procedure TFileViewWithMainCtrl.DisplayFileListChanged;
begin
inherited DisplayFileListChanged;
if edtRename.Visible then
UpdateRenameFileEditPosition;
UpdateRenameFileEditPosition(FRenFile.WithExt);
end;
procedure TFileViewWithMainCtrl.DoActiveChanged;
@ -1346,7 +1346,7 @@ end;
procedure TFileViewWithMainCtrl.MainControlResize(Sender: TObject);
begin
if edtRename.Visible then
UpdateRenameFileEditPosition;
UpdateRenameFileEditPosition(FRenFile.WithExt);
end;
procedure TFileViewWithMainCtrl.MainControlWindowProc(var TheMessage: TLMessage);
@ -1864,7 +1864,8 @@ begin
end;
end;
procedure TFileViewWithMainCtrl.UpdateRenameFileEditPosition;
procedure TFileViewWithMainCtrl.UpdateRenameFileEditPosition(
const withExt: Boolean);
var
AFile: TDisplayFile;
begin

View file

@ -96,7 +96,7 @@ type
function GetFileViewGridClass: TFileViewGridClass; override;
function GetVisibleFilesIndexes: TRange; override;
procedure ShowRenameFileEdit(var aFile: TFile; const withExt: Boolean); override;
procedure UpdateRenameFileEditPosition(); override;
procedure UpdateRenameFileEditPosition(const withExt: Boolean); override;
function GetIconRect(FileIndex: PtrInt): TRect; override;
procedure MouseScrollTimer(Sender: TObject); override;
procedure DoFileChanged(ADisplayFile: TDisplayFile; APropertiesChanged: TFilePropertiesTypes); override;
@ -788,17 +788,17 @@ begin
edtRename.Font.Size := gFonts[dcfMain].Size;
edtRename.Font.Style := gFonts[dcfMain].Style;
UpdateRenameFileEditPosition;
UpdateRenameFileEditPosition(withExt);
end;
inherited ShowRenameFileEdit(AFile, withExt);
end;
procedure TThumbFileView.UpdateRenameFileEditPosition();
procedure TThumbFileView.UpdateRenameFileEditPosition(const withExt: Boolean);
var
ARect: TRect;
begin
inherited UpdateRenameFileEditPosition;
inherited UpdateRenameFileEditPosition(withExt);
ARect := dgPanel.CellRect(dgPanel.Col, dgPanel.Row);
ARect.Top := ARect.Bottom - dgPanel.calcTextHeight - 4;