Commit graph

14 commits

Author SHA1 Message Date
Amr Bashir 8d832c06f4
refactor: wrap Menu.id in Rc 2023-08-31 02:37:16 +03:00
Amr Bashir 4701bb836e
fix(windows): attach subclass for context menu if window doesn't have a menu bar (#105) 2023-08-29 20:06:58 +03:00
Amr Bashir e046132dfb
fix: changed IconMenuItem::set_native_icon to take &self 2023-08-19 17:27:39 +03:00
Amr Bashir 043026c30d
feat: add Menu/Submenu::remove_at (#93) 2023-08-08 17:53:15 +03:00
Amr Bashir c777f6606a
refactor: add MenuId type and related functions (#91)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-04 16:17:58 -03:00
Lucas Fernandes Nogueira 7ca4b11564
fix(linux): menu must be the container's first child (#89)
* fix(linux): menu must be the container's first child

* check if gtk box instead

* Revert "check if gtk box instead"

* update change file
2023-08-03 21:54:08 +03:00
Amr Bashir 20c05ceae6
refactor!: add MenuItemKind enum (#79)
* refactor!: add `MenuItemKind` enum

* remove as_any
2023-07-27 19:58:51 +03:00
Amr Bashir c7ec320738
refactor!: use optional Position type and fallback to cursor pos (#78)
* refactor!: use optional `Position` type and fallback to cursor pos

* impl gtk & change to use screen coords

* impl macos

* revert back to client coordinates

* fix build

* fix macos impl

* enhance examples

* fix serde feature

* fix tests

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-07-27 14:56:01 +03:00
Amr Bashir 98701d0b32
refactor(gtk): accept a container param instead of creating it (#75)
* refactor(gtk): accept a container param instead of creating it

* fix build

* fix clippy
2023-07-25 22:01:35 +03:00
Amr Bashir 0000e56974
refactor: move Rc<RefCell<MenuChild>> out of platform_impl (#71)
* refactor: move `Rc<RefCell<MenuChild>>` out of platform_impl

* fix doc test
2023-07-18 03:44:52 +03:00
amrbashir e587421c64
chore: add license 2022-12-08 20:50:24 +02:00
Amr Bashir 7de46e4b5a
refactor: rewrite gtk backend from scratch (#24) 2022-12-05 13:32:34 +02:00
amrbashir 37153b826f
feat: expose macOS NSMenu 2022-11-24 18:07:11 +02:00
Amr Bashir 812ff0d37a
refactor: rewrite (#18)
* refactor: rewrite

* fix syncing check items and cleanup

* clippy

* Add `append`, `prepend` and `insert`

* accept different menu items in `*_list` methods

* add context menu for gtk

* add `with_items`

* add `items` getter

* chore: unreachable! and typos

* implement remove

* `*_list`  -> `*_items`

* fix winit example

* add `show_context_menu_for_gtk_window` on `Submenu` type

* Add windows implementation

* TextMenuItem -> MenuItem, MenuItem trait -> MenuEntry

* Add `PredfinedMenuItem`

* move internal mod into its own file

* update tao example to latest tao's `muda` branch

* fix build on linux with latest tao changes

* Fix accelerators on Linux

* update examples

* remove recursive removal of submenus

* remvoe gtk menu items recursively

* fix tao example on macos

* On Windows, remove parents hmenu when removing an item

* Add documentation

* update README.md

* use insert_items with postion 0 for prepend_items

* Add menu mnemonics in examples

* Add `ContextMenu` trait

* Add methods to `ContextMenu` trait necessary for tray icon

* fix linux build

* fix context menu on gtk

* Expose gtk::Menu in ContextMenu trait

* Revert context menu to create a gtk::Menu on each call

* clippy lints

* cleanup crate structure

* update docs

* Fix doc tests and links

* more docs fixes

* error handling

* macOS implementation (#19)

* partial macOS implementation

* fix context menu examples

* add accelerator support for macOS

* strip ampersands from titles on macOS

* add CMD_OR_CTRL shorthand for modifiers

* implement actions for predefined menu items on macos

* fix examples

* more predefined items

* implement insert for macos

* refactor macOS implementation

* menu state getters and setters on macOS

* implement remove for macOS

* code tweaks

* add show_context_menu_for_nsview for Submenu on macOS

* docs improvements

* allow adding item to the same menu multiple times on macOS

* implement `items` for macOS

* strip only single ampersands from menu titles

* add support for menu item actions on macOS

* add app name to macOS About, Hide, Quit menu items

* add methods to set app window and help menus on macOS

* fix clickable submenu titles on macOS

* refactor submenu for safe reuse on macOS

* fmt & clippy

* few cleanups

* fix docs

* clippy

* fix docs

* cleanup examples

* fix tests

* fix clippy??

* use cargo action instead

* ???

* Replace popUpContextMenu with popUpMenuPositioningItem

Co-authored-by: Caesar Schinas <caesar@caesarschinas.com>
Co-authored-by: Wu Wayne <yuweiwu@pm.me>
2022-11-23 18:29:52 +02:00