mirror of
https://github.com/Stremio/stremio-shell-ng.git
synced 2026-05-13 10:11:42 +00:00
28 lines
977 B
Rust
28 lines
977 B
Rust
use native_windows_derive::NwgPartial;
|
|
use native_windows_gui as nwg;
|
|
|
|
#[derive(Default, NwgPartial)]
|
|
pub struct SystemTray {
|
|
#[nwg_resource]
|
|
pub embed: nwg::EmbedResource,
|
|
#[nwg_resource(source_embed: Some(&data.embed), source_embed_str: Some("MAINICON"))]
|
|
pub tray_icon: nwg::Icon,
|
|
#[nwg_control(icon: Some(&data.tray_icon), tip: Some("Stremio"))]
|
|
#[nwg_events(OnContextMenu: [Self::show_menu])]
|
|
pub tray: nwg::TrayNotification,
|
|
#[nwg_control(popup: true)]
|
|
pub tray_menu: nwg::Menu,
|
|
#[nwg_control(parent: tray_menu, text: "&Show window")]
|
|
pub tray_show_hide: nwg::MenuItem,
|
|
#[nwg_control(parent: tray_menu, text: "Always on &top")]
|
|
pub tray_topmost: nwg::MenuItem,
|
|
#[nwg_control(parent: tray_menu, text: "&Quit")]
|
|
pub tray_exit: nwg::MenuItem,
|
|
}
|
|
|
|
impl SystemTray {
|
|
fn show_menu(&self) {
|
|
let (x, y) = nwg::GlobalCursor::position();
|
|
self.tray_menu.popup(x, y);
|
|
}
|
|
}
|