fixes mini explorer issues after work for #264

This commit is contained in:
Basile Burg 2018-03-17 05:02:21 +01:00
parent 5c00c05b4b
commit b093cb3a9c
2 changed files with 33 additions and 28 deletions

View File

@ -28,15 +28,15 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget
Align = alTop Align = alTop
Columns = < Columns = <
item item
Width = 333 Width = 520
end> end>
ReadOnly = True ReadOnly = True
ScrollBars = ssAutoBoth ScrollBars = ssAutoBoth
ShowColumnHeaders = False ShowColumnHeaders = False
TabOrder = 0 TabOrder = 0
ViewStyle = vsReport ViewStyle = vsReport
OnClick = lstFavClick
OnDeletion = lstFavDeletion OnDeletion = lstFavDeletion
OnEdited = lstFavEdited
OnEnter = lstFavEnter OnEnter = lstFavEnter
end end
object Splitter1: TSplitter[1] object Splitter1: TSplitter[1]
@ -100,6 +100,7 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget
SortType = stText SortType = stText
TabOrder = 2 TabOrder = 2
OnDblClick = lstFilesDblClick OnDblClick = lstFilesDblClick
OnFileAdded = lstFilesFileAdded
ObjectTypes = [otNonFolders, otHidden] ObjectTypes = [otNonFolders, otHidden]
ShellTreeView = treeFolders ShellTreeView = treeFolders
end end
@ -185,7 +186,6 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget
TabOrder = 0 TabOrder = 0
OnButtonClick = lstFilterButtonClick OnButtonClick = lstFilterButtonClick
OnKeyUp = lstFilterKeyUp OnKeyUp = lstFilterKeyUp
TextHint = '(filter)'
end end
end end
end end

View File

@ -86,12 +86,12 @@ type
procedure btnShellOpenClick(Sender: TObject); procedure btnShellOpenClick(Sender: TObject);
procedure btnAddFavClick(Sender: TObject); procedure btnAddFavClick(Sender: TObject);
procedure btnRemFavClick(Sender: TObject); procedure btnRemFavClick(Sender: TObject);
procedure lstFavClick(Sender: TObject);
procedure lstFavDeletion(Sender: TObject; Item: TListItem); procedure lstFavDeletion(Sender: TObject; Item: TListItem);
procedure lstFavEdited(Sender: TObject; Item: TListItem; var AValue: string);
procedure lstFavEnter(Sender: TObject); procedure lstFavEnter(Sender: TObject);
procedure lstFilesDblClick(Sender: TObject); procedure lstFilesDblClick(Sender: TObject);
procedure lstFilesEnter(Sender: TObject); procedure lstFilesEnter(Sender: TObject);
procedure lstFilesStartDrag(Sender: TObject; var DragObject: TDragObject); procedure lstFilesFileAdded(Sender: TObject; Item: TListItem);
procedure lstFilterButtonClick(Sender: TObject); procedure lstFilterButtonClick(Sender: TObject);
procedure lstFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure lstFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure TreeEnter(Sender: TObject); procedure TreeEnter(Sender: TObject);
@ -118,19 +118,19 @@ type
procedure shellOpenSelected; procedure shellOpenSelected;
procedure mnuDriveItemClick(sender: TObject); procedure mnuDriveItemClick(sender: TObject);
procedure mnuDriveSelect(sender: TObject); procedure mnuDriveSelect(sender: TObject);
//
procedure projNew(project: ICECommonProject); procedure projNew(project: ICECommonProject);
procedure projChanged(project: ICECommonProject); procedure projChanged(project: ICECommonProject);
procedure projClosing(project: ICECommonProject); procedure projClosing(project: ICECommonProject);
procedure projFocused(project: ICECommonProject); procedure projFocused(project: ICECommonProject);
procedure projCompiling(project: ICECommonProject); procedure projCompiling(project: ICECommonProject);
procedure projCompiled(project: ICECommonProject; success: boolean); procedure projCompiled(project: ICECommonProject; success: boolean);
//
procedure docNew(document: TCESynMemo); procedure docNew(document: TCESynMemo);
procedure docFocused(document: TCESynMemo); procedure docFocused(document: TCESynMemo);
procedure docChanged(document: TCESynMemo); procedure docChanged(document: TCESynMemo);
procedure docClosing(document: TCESynMemo); procedure docClosing(document: TCESynMemo);
//
function singleServiceName: string; function singleServiceName: string;
procedure browse(const location: string); procedure browse(const location: string);
function currentLocation: string; function currentLocation: string;
@ -310,9 +310,9 @@ begin
end; end;
iss32: iss32:
begin begin
fImages.Width := 24; fImages.Width := 32;
fImages.Height := 24; fImages.Height := 32;
treeFolders.Indent := 24; treeFolders.Indent := 32;
fImages.AddResourceName(HINSTANCE, 'DOCUMENT32'); fImages.AddResourceName(HINSTANCE, 'DOCUMENT32');
fImages.AddResourceName(HINSTANCE, 'FOLDER32'); fImages.AddResourceName(HINSTANCE, 'FOLDER32');
fImages.AddResourceName(HINSTANCE, 'FOLDER_STAR32'); fImages.AddResourceName(HINSTANCE, 'FOLDER_STAR32');
@ -469,11 +469,6 @@ begin
d := PString(Item.Data)^; d := PString(Item.Data)^;
if d.dirExists then if d.dirExists then
browse(d) browse(d)
else if dlgYesNo('The favorite folder `' + d + '` does not exist. ' +
'Remove from the list ?') = mrYes then
begin
fFavorites.Delete(item.Index);
end;
end; end;
procedure TCEMiniExplorerWidget.btnRemFavClick(Sender: TObject); procedure TCEMiniExplorerWidget.btnRemFavClick(Sender: TObject);
@ -488,17 +483,27 @@ begin
lstFiles.Clear; lstFiles.Clear;
end; end;
procedure TCEMiniExplorerWidget.lstFavClick(Sender: TObject);
var
d: string;
begin
if lstFav.Selected.isNil or lstFav.Selected.Data.isNil then
exit;
d := PString(lstFav.Selected.Data)^;
if not d.dirExists and (dlgYesNo('The favorite folder `' + d +
'` does not exist. ' + 'Remove from the list ?') = mrYes) then
begin
fFavorites.Delete(lstFav.Selected.Index);
lstFiles.Clear;
end;
end;
procedure TCEMiniExplorerWidget.lstFavDeletion(Sender: TObject; Item: TListItem); procedure TCEMiniExplorerWidget.lstFavDeletion(Sender: TObject; Item: TListItem);
begin begin
if Item.isNotNil and item.Data.isNotNil then if Item.isNotNil and item.Data.isNotNil then
dispose(PString(item.Data)); dispose(PString(item.Data));
end; end;
procedure TCEMiniExplorerWidget.lstFavEdited(Sender: TObject; Item: TListItem;
var AValue: string);
begin
end;
procedure TCEMiniExplorerWidget.lstFavEnter(Sender: TObject); procedure TCEMiniExplorerWidget.lstFavEnter(Sender: TObject);
begin begin
fLastListOrTree := lstFav; fLastListOrTree := lstFav;
@ -606,10 +611,10 @@ begin
fLastListOrTree := lstFiles; fLastListOrTree := lstFiles;
end; end;
procedure TCEMiniExplorerWidget.lstFilesStartDrag(Sender: TObject; procedure TCEMiniExplorerWidget.lstFilesFileAdded(Sender: TObject;
var DragObject: TDragObject); Item: TListItem);
begin begin
Item.ImageIndex:=0;
end; end;
procedure TCEMiniExplorerWidget.lstFilterButtonClick(Sender: TObject); procedure TCEMiniExplorerWidget.lstFilterButtonClick(Sender: TObject);
@ -739,11 +744,11 @@ end;
procedure TCEMiniExplorerWidget.browse(const location: string); procedure TCEMiniExplorerWidget.browse(const location: string);
begin begin
if location.EndsWith('\') or location.EndsWith('/') then if location.EndsWith('\') or location.EndsWith('/') then
treeFolders.Root := location[1..location.length] treeFolders.Root := location[1..location.length - 1]
else if location.fileExists then
treeFolders.Root := location.extractFileDir
else if location.dirExists then else if location.dirExists then
treeFolders.Root := location; treeFolders.Root := location
else if location.fileExists then
treeFolders.Root := location.extractFileDir;
fLastFold:=treeFolders.Root; fLastFold:=treeFolders.Root;
end; end;