parent
55f110df48
commit
3205732fdf
|
|
@ -258,6 +258,11 @@ type TPage=class(TCustomControl) //
|
||||||
begin
|
begin
|
||||||
CallSelChanged();
|
CallSelChanged();
|
||||||
end
|
end
|
||||||
|
end else
|
||||||
|
if idx<FItemIndex then
|
||||||
|
begin
|
||||||
|
FItemIndex := FItemIndex-1;
|
||||||
|
FCurrentItem := FPageItems[FItemIndex];
|
||||||
end
|
end
|
||||||
InValidateRect(nil,false);
|
InValidateRect(nil,false);
|
||||||
end
|
end
|
||||||
|
|
@ -1773,7 +1778,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
FListPages.Visible := false;
|
FListPages.Visible := false;
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
FPageMenu := new TPopUpMenu(self);
|
FPageMenu := new TPopUpMenu(self);
|
||||||
for i,v in array("关闭","关闭其他标签","复制文件名","复制文件全名","重新加载","打开目录","另存为") do
|
for i,v in array("关闭","关闭其他标签","关闭左侧所有","关闭右侧所有","复制文件名","复制文件全名","重新加载","打开目录","另存为") do
|
||||||
begin
|
begin
|
||||||
mi := new TMenu(self);
|
mi := new TMenu(self);
|
||||||
mi.Caption := v;
|
mi.Caption := v;
|
||||||
|
|
@ -1956,6 +1961,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
begin
|
begin
|
||||||
return FPageEditer.pageitemcount;
|
return FPageEditer.pageitemcount;
|
||||||
end
|
end
|
||||||
|
|
||||||
function CloseAllPageItems(it);
|
function CloseAllPageItems(it);
|
||||||
begin
|
begin
|
||||||
its := FPageEditer.PageItems;
|
its := FPageEditer.PageItems;
|
||||||
|
|
@ -2311,6 +2317,34 @@ type TEditer=class(TCustomcontrol) //
|
||||||
end
|
end
|
||||||
EditerCaretChanged(it.FEditer,nil);
|
EditerCaretChanged(it.FEditer,nil);
|
||||||
end
|
end
|
||||||
|
function docloseapageitem(it);
|
||||||
|
begin
|
||||||
|
if it.fisnewfile then //单独处理新建关闭
|
||||||
|
begin
|
||||||
|
f := it.OrigScriptPath;
|
||||||
|
DeletePageItem(it);
|
||||||
|
if fileexists("",f) then filedelete("",f);
|
||||||
|
return ;
|
||||||
|
end
|
||||||
|
if JudgeItemState(it)then return;
|
||||||
|
if it.FEditer.ChangedFlag then
|
||||||
|
begin
|
||||||
|
mr := MessageboxA(format("是否保存:%s",it.OrigScriptPath),"提示",3,self);
|
||||||
|
if mr=IDYES then
|
||||||
|
begin
|
||||||
|
if SavePageItem(it)=0 then
|
||||||
|
begin
|
||||||
|
it.FEditer.ChangedFlag := true;
|
||||||
|
return 0;
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
if mr=IDCANCEL then
|
||||||
|
begin
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
DeletePageItem(it);
|
||||||
|
end
|
||||||
function PageMenuClick(o,e);
|
function PageMenuClick(o,e);
|
||||||
begin
|
begin
|
||||||
it := GetCurrentItem();
|
it := GetCurrentItem();
|
||||||
|
|
@ -2318,32 +2352,41 @@ type TEditer=class(TCustomcontrol) //
|
||||||
case o.Caption of
|
case o.Caption of
|
||||||
"¹Ø±Õ":
|
"¹Ø±Õ":
|
||||||
begin
|
begin
|
||||||
if it.fisnewfile then //单独处理新建关闭
|
docloseapageitem(it);
|
||||||
|
end
|
||||||
|
"关闭左侧所有":
|
||||||
|
begin
|
||||||
|
its := GetAllPageItems();
|
||||||
|
itss := array();
|
||||||
|
for i := 0 to its.Length()-1 do
|
||||||
begin
|
begin
|
||||||
f := it.OrigScriptPath;
|
iti := its[i];
|
||||||
DeletePageItem(it);
|
if iti=it then break ;
|
||||||
if fileexists("",f) then filedelete("",f);
|
itss[i] := iti;
|
||||||
|
end
|
||||||
|
for i,iti in itss do
|
||||||
|
begin
|
||||||
|
docloseapageitem(iti);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
"关闭右侧所有":
|
||||||
|
begin
|
||||||
|
dodel := 0;
|
||||||
|
its := GetAllPageItems();
|
||||||
|
itss := array();
|
||||||
|
for i := 0 to its.Length()-1 do
|
||||||
|
begin
|
||||||
|
itss[i] := its[i];
|
||||||
|
end
|
||||||
|
for i,iti in itss do
|
||||||
|
begin
|
||||||
|
if dodel then docloseapageitem(iti);
|
||||||
|
if iti=it then
|
||||||
|
begin
|
||||||
|
dodel := 1;
|
||||||
|
end ;
|
||||||
|
|
||||||
return ;
|
|
||||||
end
|
end
|
||||||
if JudgeItemState(it)then return;
|
|
||||||
if it.FEditer.ChangedFlag then
|
|
||||||
begin
|
|
||||||
mr := MessageboxA(format("是否保存:%s",it.OrigScriptPath),"提示",3,self);
|
|
||||||
if mr=IDYES then
|
|
||||||
begin
|
|
||||||
if SavePageItem(it)=0 then
|
|
||||||
begin
|
|
||||||
it.FEditer.ChangedFlag := true;
|
|
||||||
return 0;
|
|
||||||
end
|
|
||||||
end else
|
|
||||||
if mr=IDCANCEL then
|
|
||||||
begin
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
DeletePageItem(it);
|
|
||||||
end
|
end
|
||||||
"¹Ø±ÕÆäËû±êÇ©":
|
"¹Ø±ÕÆäËû±êÇ©":
|
||||||
begin
|
begin
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue