mirror of https://gitlab.com/basile.b/dexed.git
improved project file/folde add
initial dialog dir based on last selected
This commit is contained in:
parent
8aa4ae52e2
commit
f014576835
|
@ -38,6 +38,7 @@ type
|
||||||
fFileNode, fConfNode: TTreeNode;
|
fFileNode, fConfNode: TTreeNode;
|
||||||
fImpsNode, fInclNode: TTreeNode;
|
fImpsNode, fInclNode: TTreeNode;
|
||||||
fXtraNode: TTreeNode;
|
fXtraNode: TTreeNode;
|
||||||
|
fLastFileOrFolder: string;
|
||||||
procedure actUpdate(sender: TObject);
|
procedure actUpdate(sender: TObject);
|
||||||
procedure TreeDblClick(sender: TObject);
|
procedure TreeDblClick(sender: TObject);
|
||||||
procedure actOpenFileExecute(sender: TObject);
|
procedure actOpenFileExecute(sender: TObject);
|
||||||
|
@ -148,6 +149,7 @@ end;
|
||||||
procedure TCEProjectInspectWidget.projNew(aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projNew(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
fProject := aProject;
|
fProject := aProject;
|
||||||
|
fLastFileOrFolder := '';
|
||||||
if Visible then updateImperative;
|
if Visible then updateImperative;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -156,6 +158,7 @@ begin
|
||||||
if fProject <> aProject then
|
if fProject <> aProject then
|
||||||
exit;
|
exit;
|
||||||
fProject := nil;
|
fProject := nil;
|
||||||
|
fLastFileOrFolder := '';
|
||||||
updateImperative;
|
updateImperative;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -186,6 +189,12 @@ end;
|
||||||
procedure TCEProjectInspectWidget.TreeSelectionChanged(Sender: TObject);
|
procedure TCEProjectInspectWidget.TreeSelectionChanged(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
actUpdate(sender);
|
actUpdate(sender);
|
||||||
|
if fProject = nil then
|
||||||
|
exit;
|
||||||
|
if (Tree.Selected.Parent = fFileNode) then
|
||||||
|
fLastFileOrFolder := fProject.getAbsoluteFilename(tree.Selected.Text)
|
||||||
|
else
|
||||||
|
fLastFileOrFolder := tree.Selected.Text;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.TreeDblClick(sender: TObject);
|
procedure TCEProjectInspectWidget.TreeDblClick(sender: TObject);
|
||||||
|
@ -229,6 +238,10 @@ begin
|
||||||
//
|
//
|
||||||
with TOpenDialog.Create(nil) do
|
with TOpenDialog.Create(nil) do
|
||||||
try
|
try
|
||||||
|
if FileExists(fLastFileOrFolder) then
|
||||||
|
InitialDir := ExtractFilePath(fLastFileOrFolder)
|
||||||
|
else if DirectoryExists(fLastFileOrFolder) then
|
||||||
|
InitialDir := fLastFileOrFolder;
|
||||||
filter := DdiagFilter;
|
filter := DdiagFilter;
|
||||||
if execute then begin
|
if execute then begin
|
||||||
fProject.beginUpdate;
|
fProject.beginUpdate;
|
||||||
|
@ -248,9 +261,13 @@ var
|
||||||
begin
|
begin
|
||||||
if fProject = nil then exit;
|
if fProject = nil then exit;
|
||||||
//
|
//
|
||||||
if fileExists(fProject.fileName) then
|
dir := '';
|
||||||
dir := extractFilePath(fProject.fileName)
|
if FileExists(fLastFileOrFolder) then
|
||||||
else dir := '';
|
dir := extractFilePath(fLastFileOrFolder)
|
||||||
|
else if DirectoryExists(fLastFileOrFolder) then
|
||||||
|
dir := fLastFileOrFolder
|
||||||
|
else if fileExists(fProject.fileName) then
|
||||||
|
dir := extractFilePath(fProject.fileName);
|
||||||
if selectDirectory('sources', dir, dir, true, 0) then
|
if selectDirectory('sources', dir, dir, true, 0) then
|
||||||
begin
|
begin
|
||||||
fProject.beginUpdate;
|
fProject.beginUpdate;
|
||||||
|
|
Loading…
Reference in New Issue