mirror of https://gitlab.com/basile.b/dexed.git
fix, dialogs, double separator after built-in shortcut solved, close #100
lead to same file opened twice: click in the message, debug break, etc
This commit is contained in:
parent
fb56207c35
commit
95efa5461a
|
@ -81,6 +81,7 @@ type
|
||||||
function length: integer;
|
function length: integer;
|
||||||
function toIntNoExcept(default: integer = -1): integer;
|
function toIntNoExcept(default: integer = -1): integer;
|
||||||
function toInt: integer;
|
function toInt: integer;
|
||||||
|
function normalizePath: string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
(**
|
(**
|
||||||
|
@ -446,6 +447,11 @@ begin
|
||||||
exit(StrToIntDef(self, default));
|
exit(StrToIntDef(self, default));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TStringHelper.normalizePath: string;
|
||||||
|
begin
|
||||||
|
exit(TrimFilename(self));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TProcessEx.Assign(value: TPersistent);
|
procedure TProcessEx.Assign(value: TPersistent);
|
||||||
var
|
var
|
||||||
src: TProcess;
|
src: TProcess;
|
||||||
|
|
|
@ -857,7 +857,7 @@ begin
|
||||||
begin
|
begin
|
||||||
fTokList.Clear;
|
fTokList.Clear;
|
||||||
lex(fDoc.Text, fTokList, nil);
|
lex(fDoc.Text, fTokList, nil);
|
||||||
fTokList.saveToFile(FileName);
|
fTokList.saveToFile(FileName.normalizePath);
|
||||||
fTokList.Clear;
|
fTokList.Clear;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
|
@ -923,7 +923,7 @@ begin
|
||||||
fTokList.Clear;
|
fTokList.Clear;
|
||||||
lex(fDoc.Text, fTokList, nil, [lxoNoComments]);
|
lex(fDoc.Text, fTokList, nil, [lxoNoComments]);
|
||||||
getImports(fTOkList, str);
|
getImports(fTOkList, str);
|
||||||
str.SaveToFile(filename);
|
str.SaveToFile(filename.normalizePath);
|
||||||
fTokList.Clear;
|
fTokList.Clear;
|
||||||
str.Free;
|
str.Free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -188,7 +188,8 @@ begin
|
||||||
with TOpenDialog.create(nil) do try
|
with TOpenDialog.create(nil) do try
|
||||||
InitialDir := GetValue.extractFileName;
|
InitialDir := GetValue.extractFileName;
|
||||||
FileName := GetValue;
|
FileName := GetValue;
|
||||||
if Execute then SetValue(FileName);
|
if Execute then
|
||||||
|
SetValue(FileName.normalizePath);
|
||||||
finally
|
finally
|
||||||
free;
|
free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -721,7 +721,7 @@ begin
|
||||||
try
|
try
|
||||||
FileName := ini;
|
FileName := ini;
|
||||||
if Execute then
|
if Execute then
|
||||||
List.Selected.SubItems[2] := FileName;
|
List.Selected.SubItems[2] := FileName.normalizePath;
|
||||||
finally
|
finally
|
||||||
free;
|
free;
|
||||||
end;
|
end;
|
||||||
|
@ -741,6 +741,7 @@ begin
|
||||||
filename := ini;
|
filename := ini;
|
||||||
if Execute then
|
if Execute then
|
||||||
begin
|
begin
|
||||||
|
filename := filename.normalizePath;
|
||||||
if not filename.fileExists then
|
if not filename.fileExists then
|
||||||
List.Selected.SubItems[0] := filename.extractFilePath
|
List.Selected.SubItems[0] := filename.extractFilePath
|
||||||
else
|
else
|
||||||
|
|
|
@ -2161,6 +2161,7 @@ begin
|
||||||
try
|
try
|
||||||
if Execute then
|
if Execute then
|
||||||
begin
|
begin
|
||||||
|
filename := FileName.normalizePath;
|
||||||
exp.Highlighter := fDoc.Highlighter;
|
exp.Highlighter := fDoc.Highlighter;
|
||||||
exp.Title := fDoc.fileName;
|
exp.Title := fDoc.fileName;
|
||||||
exp.ExportAsText:=true;
|
exp.ExportAsText:=true;
|
||||||
|
@ -2198,9 +2199,6 @@ begin
|
||||||
openFile(TMenuItem(Sender).Hint);
|
openFile(TMenuItem(Sender).Hint);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//TODO-cbugfix: OpenDialogs, double path separator when shortcuts resolved
|
|
||||||
// i.e when ofNoDereferenceLinks is not set.
|
|
||||||
|
|
||||||
procedure TCEMainForm.actFileOpenExecute(Sender: TObject);
|
procedure TCEMainForm.actFileOpenExecute(Sender: TObject);
|
||||||
var
|
var
|
||||||
fname: string;
|
fname: string;
|
||||||
|
@ -2213,7 +2211,7 @@ begin
|
||||||
filter := DdiagFilter;
|
filter := DdiagFilter;
|
||||||
if execute then
|
if execute then
|
||||||
for fname in files do
|
for fname in files do
|
||||||
openFile(fname);
|
openFile(fname.normalizePath);
|
||||||
finally
|
finally
|
||||||
free;
|
free;
|
||||||
end;
|
end;
|
||||||
|
@ -2266,7 +2264,7 @@ begin
|
||||||
if not fDoc.isTemporary and fDoc.fileName.fileExists then
|
if not fDoc.isTemporary and fDoc.fileName.fileExists then
|
||||||
InitialDir := fDoc.fileName.extractFileDir;
|
InitialDir := fDoc.fileName.extractFileDir;
|
||||||
if execute then
|
if execute then
|
||||||
fDoc.saveToFile(filename);
|
fDoc.saveToFile(filename.normalizePath);
|
||||||
finally
|
finally
|
||||||
free;
|
free;
|
||||||
end;
|
end;
|
||||||
|
@ -2351,7 +2349,7 @@ begin
|
||||||
str := TStringList.create;
|
str := TStringList.create;
|
||||||
try
|
try
|
||||||
str.assign(fDoc.Lines);
|
str.assign(fDoc.Lines);
|
||||||
str.saveToFile(FileName);
|
str.saveToFile(FileName.normalizePath);
|
||||||
finally
|
finally
|
||||||
str.free;
|
str.free;
|
||||||
end;
|
end;
|
||||||
|
@ -3308,7 +3306,7 @@ begin
|
||||||
if fProject.filename.fileExists then
|
if fProject.filename.fileExists then
|
||||||
InitialDir := fproject.filename.extractFileDir;
|
InitialDir := fproject.filename.extractFileDir;
|
||||||
if execute then
|
if execute then
|
||||||
saveProjAs(filename);
|
saveProjAs(filename.normalizePath);
|
||||||
finally
|
finally
|
||||||
Free;
|
Free;
|
||||||
end;
|
end;
|
||||||
|
@ -3336,10 +3334,12 @@ begin
|
||||||
if checkProjectLock then
|
if checkProjectLock then
|
||||||
exit;
|
exit;
|
||||||
if assigned(fProject) and fProject.modified and
|
if assigned(fProject) and fProject.modified and
|
||||||
(dlgFileChangeClose(fProject.filename, UnsavedProj) = mrCancel) then exit;
|
(dlgFileChangeClose(fProject.filename, UnsavedProj) = mrCancel) then
|
||||||
|
exit;
|
||||||
with TOpenDialog.Create(nil) do
|
with TOpenDialog.Create(nil) do
|
||||||
try
|
try
|
||||||
if execute then openProj(filename);
|
if execute then
|
||||||
|
openProj(filename.normalizePath);
|
||||||
finally
|
finally
|
||||||
Free;
|
Free;
|
||||||
end;
|
end;
|
||||||
|
@ -3398,6 +3398,7 @@ begin
|
||||||
try
|
try
|
||||||
if execute then
|
if execute then
|
||||||
begin
|
begin
|
||||||
|
filename := filename.normalizePath;
|
||||||
fProjectGroup.closeGroup;
|
fProjectGroup.closeGroup;
|
||||||
fProjectGroup.openGroup(filename);
|
fProjectGroup.openGroup(filename);
|
||||||
fPrjGrpMru.Insert(0, filename);
|
fPrjGrpMru.Insert(0, filename);
|
||||||
|
@ -3414,7 +3415,7 @@ begin
|
||||||
if fProjectGroup.groupFilename.fileExists then
|
if fProjectGroup.groupFilename.fileExists then
|
||||||
InitialDir := fProjectGroup.groupFilename.extractFileDir;
|
InitialDir := fProjectGroup.groupFilename.extractFileDir;
|
||||||
if execute then
|
if execute then
|
||||||
fProjectGroup.saveGroup(filename);
|
fProjectGroup.saveGroup(filename.normalizePath);
|
||||||
finally
|
finally
|
||||||
free;
|
free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -633,7 +633,7 @@ begin
|
||||||
try
|
try
|
||||||
for itm in List.Items do
|
for itm in List.Items do
|
||||||
lst.Add(itm.Text);
|
lst.Add(itm.Text);
|
||||||
lst.SaveToFile(filename);
|
lst.SaveToFile(filename.normalizePath);
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
lst.Free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -558,9 +558,9 @@ begin
|
||||||
exit;
|
exit;
|
||||||
for fname in Files do
|
for fname in Files do
|
||||||
begin
|
begin
|
||||||
if projectGroup.findProject(fname) <> nil then
|
if projectGroup.findProject(fname.normalizePath) <> nil then
|
||||||
continue;
|
continue;
|
||||||
projectGroup.addItem(fname);
|
projectGroup.addItem(fname.normalizePath);
|
||||||
added := true;
|
added := true;
|
||||||
end;
|
end;
|
||||||
if added then
|
if added then
|
||||||
|
|
|
@ -312,7 +312,7 @@ begin
|
||||||
begin
|
begin
|
||||||
proj.beginUpdate;
|
proj.beginUpdate;
|
||||||
for fname in Files do
|
for fname in Files do
|
||||||
proj.addSource(fname);
|
proj.addSource(fname.normalizePath);
|
||||||
proj.endUpdate;
|
proj.endUpdate;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
|
|
Loading…
Reference in New Issue