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 toIntNoExcept(default: integer = -1): integer;
|
||||
function toInt: integer;
|
||||
function normalizePath: string;
|
||||
end;
|
||||
|
||||
(**
|
||||
|
@ -446,6 +447,11 @@ begin
|
|||
exit(StrToIntDef(self, default));
|
||||
end;
|
||||
|
||||
function TStringHelper.normalizePath: string;
|
||||
begin
|
||||
exit(TrimFilename(self));
|
||||
end;
|
||||
|
||||
procedure TProcessEx.Assign(value: TPersistent);
|
||||
var
|
||||
src: TProcess;
|
||||
|
|
|
@ -857,7 +857,7 @@ begin
|
|||
begin
|
||||
fTokList.Clear;
|
||||
lex(fDoc.Text, fTokList, nil);
|
||||
fTokList.saveToFile(FileName);
|
||||
fTokList.saveToFile(FileName.normalizePath);
|
||||
fTokList.Clear;
|
||||
end;
|
||||
finally
|
||||
|
@ -923,7 +923,7 @@ begin
|
|||
fTokList.Clear;
|
||||
lex(fDoc.Text, fTokList, nil, [lxoNoComments]);
|
||||
getImports(fTOkList, str);
|
||||
str.SaveToFile(filename);
|
||||
str.SaveToFile(filename.normalizePath);
|
||||
fTokList.Clear;
|
||||
str.Free;
|
||||
end;
|
||||
|
|
|
@ -188,7 +188,8 @@ begin
|
|||
with TOpenDialog.create(nil) do try
|
||||
InitialDir := GetValue.extractFileName;
|
||||
FileName := GetValue;
|
||||
if Execute then SetValue(FileName);
|
||||
if Execute then
|
||||
SetValue(FileName.normalizePath);
|
||||
finally
|
||||
free;
|
||||
end;
|
||||
|
|
|
@ -721,7 +721,7 @@ begin
|
|||
try
|
||||
FileName := ini;
|
||||
if Execute then
|
||||
List.Selected.SubItems[2] := FileName;
|
||||
List.Selected.SubItems[2] := FileName.normalizePath;
|
||||
finally
|
||||
free;
|
||||
end;
|
||||
|
@ -741,6 +741,7 @@ begin
|
|||
filename := ini;
|
||||
if Execute then
|
||||
begin
|
||||
filename := filename.normalizePath;
|
||||
if not filename.fileExists then
|
||||
List.Selected.SubItems[0] := filename.extractFilePath
|
||||
else
|
||||
|
|
|
@ -2161,6 +2161,7 @@ begin
|
|||
try
|
||||
if Execute then
|
||||
begin
|
||||
filename := FileName.normalizePath;
|
||||
exp.Highlighter := fDoc.Highlighter;
|
||||
exp.Title := fDoc.fileName;
|
||||
exp.ExportAsText:=true;
|
||||
|
@ -2198,9 +2199,6 @@ begin
|
|||
openFile(TMenuItem(Sender).Hint);
|
||||
end;
|
||||
|
||||
//TODO-cbugfix: OpenDialogs, double path separator when shortcuts resolved
|
||||
// i.e when ofNoDereferenceLinks is not set.
|
||||
|
||||
procedure TCEMainForm.actFileOpenExecute(Sender: TObject);
|
||||
var
|
||||
fname: string;
|
||||
|
@ -2213,7 +2211,7 @@ begin
|
|||
filter := DdiagFilter;
|
||||
if execute then
|
||||
for fname in files do
|
||||
openFile(fname);
|
||||
openFile(fname.normalizePath);
|
||||
finally
|
||||
free;
|
||||
end;
|
||||
|
@ -2266,7 +2264,7 @@ begin
|
|||
if not fDoc.isTemporary and fDoc.fileName.fileExists then
|
||||
InitialDir := fDoc.fileName.extractFileDir;
|
||||
if execute then
|
||||
fDoc.saveToFile(filename);
|
||||
fDoc.saveToFile(filename.normalizePath);
|
||||
finally
|
||||
free;
|
||||
end;
|
||||
|
@ -2351,7 +2349,7 @@ begin
|
|||
str := TStringList.create;
|
||||
try
|
||||
str.assign(fDoc.Lines);
|
||||
str.saveToFile(FileName);
|
||||
str.saveToFile(FileName.normalizePath);
|
||||
finally
|
||||
str.free;
|
||||
end;
|
||||
|
@ -3308,7 +3306,7 @@ begin
|
|||
if fProject.filename.fileExists then
|
||||
InitialDir := fproject.filename.extractFileDir;
|
||||
if execute then
|
||||
saveProjAs(filename);
|
||||
saveProjAs(filename.normalizePath);
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
|
@ -3336,10 +3334,12 @@ begin
|
|||
if checkProjectLock then
|
||||
exit;
|
||||
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
|
||||
try
|
||||
if execute then openProj(filename);
|
||||
if execute then
|
||||
openProj(filename.normalizePath);
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
|
@ -3398,6 +3398,7 @@ begin
|
|||
try
|
||||
if execute then
|
||||
begin
|
||||
filename := filename.normalizePath;
|
||||
fProjectGroup.closeGroup;
|
||||
fProjectGroup.openGroup(filename);
|
||||
fPrjGrpMru.Insert(0, filename);
|
||||
|
@ -3414,7 +3415,7 @@ begin
|
|||
if fProjectGroup.groupFilename.fileExists then
|
||||
InitialDir := fProjectGroup.groupFilename.extractFileDir;
|
||||
if execute then
|
||||
fProjectGroup.saveGroup(filename);
|
||||
fProjectGroup.saveGroup(filename.normalizePath);
|
||||
finally
|
||||
free;
|
||||
end;
|
||||
|
|
|
@ -633,7 +633,7 @@ begin
|
|||
try
|
||||
for itm in List.Items do
|
||||
lst.Add(itm.Text);
|
||||
lst.SaveToFile(filename);
|
||||
lst.SaveToFile(filename.normalizePath);
|
||||
finally
|
||||
lst.Free;
|
||||
end;
|
||||
|
|
|
@ -558,9 +558,9 @@ begin
|
|||
exit;
|
||||
for fname in Files do
|
||||
begin
|
||||
if projectGroup.findProject(fname) <> nil then
|
||||
if projectGroup.findProject(fname.normalizePath) <> nil then
|
||||
continue;
|
||||
projectGroup.addItem(fname);
|
||||
projectGroup.addItem(fname.normalizePath);
|
||||
added := true;
|
||||
end;
|
||||
if added then
|
||||
|
|
|
@ -312,7 +312,7 @@ begin
|
|||
begin
|
||||
proj.beginUpdate;
|
||||
for fname in Files do
|
||||
proj.addSource(fname);
|
||||
proj.addSource(fname.normalizePath);
|
||||
proj.endUpdate;
|
||||
end;
|
||||
finally
|
||||
|
|
Loading…
Reference in New Issue