mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
UPD: auto update GoBackward/GoForward Tool Bar Menu after Dark/Light is Switched on macOS
This commit is contained in:
parent
3952582346
commit
fd02b5c048
2 changed files with 49 additions and 40 deletions
|
|
@ -15,7 +15,7 @@ uses
|
|||
uDarwinApplication, uDarwinPanel, uDarwinFile, uDarwinUtil,
|
||||
uDarwinFinder, uDarwinFinderModel,
|
||||
uDarwinFileView, uDarwinFileViewHistory,
|
||||
CocoaAll, CocoaConfig, CocoaToolBar, Cocoa_Extra,
|
||||
CocoaAll, CocoaConfig, CocoaToolBar, CocoaThemes, Cocoa_Extra,
|
||||
LResources, uTranslator, Translations;
|
||||
|
||||
procedure initCocoaModernFormConfig;
|
||||
|
|
@ -100,6 +100,7 @@ begin
|
|||
|
||||
fMain.onFileViewUpdated:= @onFileViewUpdated;
|
||||
toolBarMenuHandler:= TToolBarMenuHandler.Create;
|
||||
TCocoaThemeServices.addObserver( toolBarMenuHandler );
|
||||
doInitConfig;
|
||||
end;
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,42 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure updateGoBackwardToolbarMenu;
|
||||
var
|
||||
item: NSToolbarItem;
|
||||
menu: NSMenu;
|
||||
begin
|
||||
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.GoBackward' );
|
||||
if NOT Assigned(item) then
|
||||
Exit;
|
||||
item.setEnabled( frmMain.ActiveFrame.hasPrevHistory );
|
||||
menu:= TDarwinFileViewHistoryUtil.createBackwardMenu(
|
||||
TCocoaToolBarUtils.getNSView(item),
|
||||
frmMain.ActiveFrame,
|
||||
@goToHistoryAction,
|
||||
5 );
|
||||
NSMenuToolbarItem(item).setMenu( menu );
|
||||
menu.release;
|
||||
end;
|
||||
|
||||
procedure updateGoForwardToolbarMenu;
|
||||
var
|
||||
item: NSToolbarItem;
|
||||
menu: NSMenu;
|
||||
begin
|
||||
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.GoForward' );
|
||||
if NOT Assigned(item) then
|
||||
Exit;
|
||||
item.setEnabled( frmMain.ActiveFrame.hasNextHistory );
|
||||
menu:= TDarwinFileViewHistoryUtil.createForwardMenu(
|
||||
TCocoaToolBarUtils.getNSView(item),
|
||||
frmMain.ActiveFrame,
|
||||
@goToHistoryAction,
|
||||
5 );
|
||||
NSMenuToolbarItem(item).setMenu( menu );
|
||||
menu.release;
|
||||
end;
|
||||
|
||||
procedure onFileViewUpdated( const fileView: TFileView );
|
||||
|
||||
procedure updateShowMode;
|
||||
|
|
@ -59,42 +95,6 @@ procedure onFileViewUpdated( const fileView: TFileView );
|
|||
itemGroupWrapper.lclSetSelectedIndex( 2 );
|
||||
end;
|
||||
|
||||
procedure updateBackward;
|
||||
var
|
||||
item: NSToolbarItem;
|
||||
menu: NSMenu;
|
||||
begin
|
||||
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.GoBackward' );
|
||||
if NOT Assigned(item) then
|
||||
Exit;
|
||||
item.setEnabled( fileView.hasPrevHistory );
|
||||
menu:= TDarwinFileViewHistoryUtil.createBackwardMenu(
|
||||
TCocoaToolBarUtils.getNSView(item),
|
||||
frmMain.ActiveFrame,
|
||||
@goToHistoryAction,
|
||||
5 );
|
||||
NSMenuToolbarItem(item).setMenu( menu );
|
||||
menu.release;
|
||||
end;
|
||||
|
||||
procedure updateForward;
|
||||
var
|
||||
item: NSToolbarItem;
|
||||
menu: NSMenu;
|
||||
begin
|
||||
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.GoForward' );
|
||||
if NOT Assigned(item) then
|
||||
Exit;
|
||||
item.setEnabled( fileView.hasNextHistory );
|
||||
menu:= TDarwinFileViewHistoryUtil.createForwardMenu(
|
||||
TCocoaToolBarUtils.getNSView(item),
|
||||
frmMain.ActiveFrame,
|
||||
@goToHistoryAction,
|
||||
5 );
|
||||
NSMenuToolbarItem(item).setMenu( menu );
|
||||
menu.release;
|
||||
end;
|
||||
|
||||
procedure updateRelyOnFileSystem;
|
||||
var
|
||||
enabled: Boolean;
|
||||
|
|
@ -119,8 +119,8 @@ procedure onFileViewUpdated( const fileView: TFileView );
|
|||
|
||||
begin
|
||||
updateShowMode;
|
||||
updateBackward;
|
||||
updateForward;
|
||||
updateGoBackwardToolbarMenu;
|
||||
updateGoForwardToolbarMenu;
|
||||
updateRelyOnFileSystem;
|
||||
end;
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ type
|
|||
|
||||
{ TToolBarMenuHandler }
|
||||
|
||||
TToolBarMenuHandler = class
|
||||
TToolBarMenuHandler = class( ICocoaThemeObserver )
|
||||
public
|
||||
procedure showHotlist( Sender: TObject );
|
||||
procedure showFavoriteTabs( Sender: TObject );
|
||||
|
|
@ -202,6 +202,8 @@ type
|
|||
procedure showFinderTagSelectorPanel( Sender: TObject );
|
||||
procedure onFinderTagSelectorPanelClose( const cancel: Boolean; const tagNames: NSArray );
|
||||
procedure searchOneFinderTagAction( Sender: TObject );
|
||||
|
||||
procedure onThemeChanged;
|
||||
end;
|
||||
|
||||
var
|
||||
|
|
@ -263,6 +265,12 @@ begin
|
|||
TDarwinFinderModelUtil.searchFilesForTagName( tagName, @darwinSearchResultHandler.onSearchFinderTagComplete );
|
||||
end;
|
||||
|
||||
procedure TToolBarMenuHandler.onThemeChanged;
|
||||
begin
|
||||
updateGoBackwardToolbarMenu;
|
||||
updateGoForwardToolbarMenu;
|
||||
end;
|
||||
|
||||
procedure onGetFolderMenu( const menu: TMenu );
|
||||
var
|
||||
items: TMenuItem;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue