Browse Source

Add support for setting tooltip text for TrayIcons (#12948)

pull/12958/head
Tako 2 years ago
committed by GitHub
parent
commit
b15ee692da
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      native/Avalonia.Native/src/OSX/trayicon.h
  2. 15
      native/Avalonia.Native/src/OSX/trayicon.mm
  3. 2
      src/Avalonia.Native/TrayIconImpl.cs
  4. 1
      src/Avalonia.Native/avn.idl

2
native/Avalonia.Native/src/OSX/trayicon.h

@ -28,6 +28,8 @@ public:
virtual HRESULT SetMenu (IAvnMenu* menu) override;
virtual HRESULT SetIsVisible (bool isVisible) override;
virtual HRESULT SetToolTipText (char* text) override;
};
#endif /* trayicon_h */

15
native/Avalonia.Native/src/OSX/trayicon.mm

@ -83,3 +83,18 @@ HRESULT AvnTrayIcon::SetIsVisible(bool isVisible)
return S_OK;
}
HRESULT AvnTrayIcon::SetToolTipText(char* text)
{
START_COM_CALL;
@autoreleasepool
{
if (text != nullptr)
{
[[_native button] setToolTip:[NSString stringWithUTF8String:(const char*)text]];
}
}
return S_OK;
}

2
src/Avalonia.Native/TrayIconImpl.cs

@ -50,7 +50,7 @@ namespace Avalonia.Native
public void SetToolTipText(string? text)
{
// NOP
_native.SetToolTipText(text);
}
public void SetIsVisible(bool visible)

1
src/Avalonia.Native/avn.idl

@ -810,6 +810,7 @@ interface IAvnTrayIcon : IUnknown
HRESULT SetIcon(void* data, size_t length);
HRESULT SetMenu(IAvnMenu* menu);
HRESULT SetIsVisible(bool isVisible);
HRESULT SetToolTipText(char* text);
}
[uuid(a7724dc1-cf6b-4fa8-9d23-228bf2593edc)]

Loading…
Cancel
Save