mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-07 16:00:23 +02:00
IDE, SourceEditor: "Close tabs on right". Issue #0029929 / Added key combo
git-svn-id: trunk@60017 -
This commit is contained in:
parent
781767973e
commit
d0017b194c
@ -174,6 +174,8 @@ const
|
||||
ecRestart = ecFirstLazarus + 213;
|
||||
ecQuit = ecFirstLazarus + 214;
|
||||
ecOpenUnit = ecFirstLazarus + 215;
|
||||
ecCloseOtherTabs = ecFirstLazarus + 216;
|
||||
ecCloseRightTabs = ecFirstLazarus + 217;
|
||||
|
||||
// edit menu
|
||||
ecMultiPaste = ecFirstLazarus + 230;
|
||||
@ -1924,7 +1926,7 @@ begin
|
||||
end;
|
||||
|
||||
const
|
||||
IDEEditorCommandStrs: array[0..319] of TIdentMapEntry = (
|
||||
IDEEditorCommandStrs: array[0..321] of TIdentMapEntry = (
|
||||
// search
|
||||
(Value: ecFind; Name: 'ecFind'),
|
||||
(Value: ecFindAgain; Name: 'ecFindAgain'),
|
||||
@ -2042,6 +2044,8 @@ const
|
||||
(Value: ecCleanDirectory; Name: 'ecCleanDirectory'),
|
||||
(Value: ecRestart; Name: 'ecRestart'),
|
||||
(Value: ecQuit; Name: 'ecQuit'),
|
||||
(Value: ecCloseOtherTabs; Name: 'ecCloseOtherTabs'),
|
||||
(Value: ecCloseRightTabs; Name: 'ecCloseRightTabs'),
|
||||
|
||||
// edit menu
|
||||
(Value: ecMultiPaste; Name: 'ecMultiPaste'),
|
||||
|
@ -515,6 +515,8 @@ begin
|
||||
ecSaveAll : Result:= lisSaveAll;
|
||||
ecClose : Result:= lisClose;
|
||||
ecCloseAll : Result:= lisMenuCloseAll;
|
||||
ecCloseOtherTabs : Result:= uemCloseOtherPages;
|
||||
ecCloseRightTabs : Result:= uemCloseOtherPagesRight;
|
||||
ecCleanDirectory : Result:= lisMenuCleanDirectory;
|
||||
ecRestart : Result:= lisRestart;
|
||||
ecQuit : Result:= lisQuit;
|
||||
@ -1258,6 +1260,8 @@ begin
|
||||
ecSaveAll: SetSingle(VK_S,[XCtrl,ssShift]);
|
||||
ecClose: SetSingle(VK_F4,[XCtrl]);
|
||||
ecCloseAll: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCloseOtherTabs: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCloseRightTabs: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCleanDirectory: SetSingle(VK_UNKNOWN,[]);
|
||||
ecRestart: SetSingle(VK_UNKNOWN,[]);
|
||||
ecQuit: SetSingle(VK_UNKNOWN,[]);
|
||||
@ -1703,6 +1707,8 @@ begin
|
||||
ecSaveAll: SetSingle(VK_F2,[ssShift]);
|
||||
ecClose: SetSingle(VK_F3,[ssAlt]);
|
||||
ecCloseAll: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCloseOtherTabs: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCloseRightTabs: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCleanDirectory: SetSingle(VK_UNKNOWN,[]);
|
||||
ecRestart: SetSingle(VK_UNKNOWN,[]);
|
||||
ecQuit: SetSingle(VK_X,[ssAlt]);
|
||||
@ -2331,6 +2337,8 @@ begin
|
||||
ecSaveAll: SetSingle(VK_S,[ssMeta,ssAlt]);
|
||||
ecClose: SetSingle(VK_W,[ssMeta,ssShift]);
|
||||
ecCloseAll: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCloseOtherTabs: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCloseRightTabs: SetSingle(VK_UNKNOWN,[]);
|
||||
ecCleanDirectory: SetSingle(VK_UNKNOWN,[]);
|
||||
ecRestart: SetSingle(VK_UNKNOWN,[]);
|
||||
ecQuit: SetSingle(VK_UNKNOWN,[]);
|
||||
@ -3025,6 +3033,8 @@ begin
|
||||
AddDefault(C, 'SaveAll', lisKMSaveAll, ecSaveAll);
|
||||
AddDefault(C, 'Close', lisClose, ecClose);
|
||||
AddDefault(C, 'CloseAll', lisCloseAll, ecCloseAll);
|
||||
AddDefault(C, 'CloseAllOther', uemCloseOtherPagesPlain, ecCloseOtherTabs);
|
||||
AddDefault(C, 'CloseAllRight', uemCloseOtherPagesRightPlain, ecCloseRightTabs);
|
||||
AddDefault(C, 'Clean Directory', lisClDirCleanDirectory, ecCleanDirectory);
|
||||
AddDefault(C, 'Restart', lisRestart, ecRestart);
|
||||
AddDefault(C, 'Quit', lisQuit, ecQuit);
|
||||
|
@ -2816,6 +2816,8 @@ resourcestring
|
||||
uemClosePage = '&Close Page';
|
||||
uemCloseOtherPages = 'Close All &Other Pages';
|
||||
uemCloseOtherPagesRight = 'Close Pages on the &Right';
|
||||
uemCloseOtherPagesPlain = 'Close All Other Pages';
|
||||
uemCloseOtherPagesRightPlain = 'Close Pages on the Right';
|
||||
uemLockPage = '&Lock Page';
|
||||
uemCopyToNewWindow = 'Clone to New Window';
|
||||
uemCopyToOtherWindow = 'Clone to Other Window';
|
||||
|
@ -8,11 +8,11 @@ object SourceNotebook: TSourceNotebook
|
||||
ClientHeight = 300
|
||||
ClientWidth = 400
|
||||
OnMouseUp = FormMouseUp
|
||||
LCLVersion = '1.9.0.0'
|
||||
LCLVersion = '2.1.0.0'
|
||||
object StatusBar: TStatusBar
|
||||
Left = 0
|
||||
Height = 20
|
||||
Top = 280
|
||||
Height = 23
|
||||
Top = 277
|
||||
Width = 400
|
||||
Panels = <
|
||||
item
|
||||
@ -40,8 +40,8 @@ object SourceNotebook: TSourceNotebook
|
||||
OnDrawPanel = StatusBarDrawPanel
|
||||
end
|
||||
object StatusPopUpMenu: TPopupMenu
|
||||
Left = 48
|
||||
Top = 36
|
||||
left = 48
|
||||
top = 36
|
||||
object GoToLineMenuItem: TMenuItem
|
||||
Caption = 'Goto line ...'
|
||||
OnClick = GoToLineMenuItemClick
|
||||
|
@ -1215,7 +1215,9 @@ type
|
||||
private
|
||||
// Context-Menu
|
||||
procedure CloseOtherPagesClicked(Sender: TObject);
|
||||
procedure CloseOtherPagesClickedAsync(Sender: PtrInt);
|
||||
procedure CloseRightPagesClicked(Sender: TObject);
|
||||
procedure CloseRightPagesClickedAsync(Sender: PtrInt);
|
||||
procedure ReadOnlyClicked(Sender: TObject);
|
||||
procedure ToggleLineNumbersClicked(Sender: TObject);
|
||||
procedure ToggleI18NForLFMClicked(Sender: TObject);
|
||||
@ -4178,6 +4180,9 @@ Begin
|
||||
Manager.OnClearBookmarkId(Self, i);
|
||||
end;
|
||||
|
||||
ecCloseOtherTabs: Application.QueueAsyncCall(@Manager.CloseOtherPagesClickedAsync, PtrInt(SourceNotebook.GetNoteBookPage(SourceNotebook.FindPageWithEditor(Self))));
|
||||
ecCloseRightTabs: Application.QueueAsyncCall(@Manager.CloseRightPagesClickedAsync, PtrInt(SourceNotebook.GetNoteBookPage(SourceNotebook.FindPageWithEditor(Self))));
|
||||
|
||||
else
|
||||
begin
|
||||
Handled:=false;
|
||||
@ -11328,12 +11333,22 @@ begin
|
||||
OnCloseClicked(Sender, [ceoCloseOthers]);
|
||||
end;
|
||||
|
||||
procedure TSourceEditorManager.CloseOtherPagesClickedAsync(Sender: PtrInt);
|
||||
begin
|
||||
CloseOtherPagesClicked(TObject(Sender));
|
||||
end;
|
||||
|
||||
procedure TSourceEditorManager.CloseRightPagesClicked(Sender: TObject);
|
||||
begin
|
||||
if Assigned(OnCloseClicked) then
|
||||
OnCloseClicked(Sender, [ceoCloseOthersOnRightSide]);
|
||||
end;
|
||||
|
||||
procedure TSourceEditorManager.CloseRightPagesClickedAsync(Sender: PtrInt);
|
||||
begin
|
||||
CloseRightPagesClicked(TObject(Sender));
|
||||
end;
|
||||
|
||||
procedure TSourceEditorManager.ReadOnlyClicked(Sender: TObject);
|
||||
var ActEdit: TSourceEditor;
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user