Commit graph

91 commits

Author SHA1 Message Date
Linda_pp f3b7d54224
chore: fix links in API document and add document link to README.md (#118)
* chore: fix links in API document and add document link to README.md

* Update README.md
2023-09-07 17:40:49 +03:00
Linda_pp c1fbde72a8
feat: add APIs to build AboutMetadata from Cargo package metadata (#116) 2023-09-01 18:23:01 +03:00
Amr Bashir 264aed722d
refactor: seal IsMenuItem trait 2023-09-01 15:13:20 +03:00
Linda_pp 02e537ea06
feat: add into_id methods to all menu item types (#112)
* feat: add `into_id` methods to all menu item types

* fix: remove `into_id` from `IsMenuItem` and add `MenuItemKind::into_id` method
2023-09-01 14:59:42 +03:00
Amr Bashir bce7540bba
feat: add MenuItemKind::id (#113) 2023-08-31 18:13:41 +03:00
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 0050d4f273
fix: remove AboutMetadata serde support 2023-08-16 19:39:53 +03:00
Amr Bashir 47d1808090
feat: derive serde for more types 2023-08-16 19:37:19 +03:00
Amr Bashir 1a527e8708
feat: add missing PartialEq impls and blanket From impl for MenuId (#100) 2023-08-16 02:03:39 +03:00
Amr Bashir 33168fa0a0
feat(windows): draw dark menubar if necessary (#98)
* feat(windows): draw dark menubar if necessary

closes #97

* Update Cargo.toml
2023-08-15 16:50:14 +03:00
Amr Bashir 829051a30a
refactor: dereference in partial_eq and add tests 2023-08-09 02:50:07 +03:00
Amr Bashir 32be0c5884
feat: add MenuId::new (#94) 2023-08-09 02:28:14 +03:00
Amr Bashir 662e17d0ec
refactor: impl drop for inner types (#92)
* refactor: impl drop for inner types

* macos

* impl todos in macos .remove()

* remove code

* fix gtk accelerator not working after creating the context menu
2023-08-08 19:32:27 +03:00
Amr Bashir 043026c30d
feat: add Menu/Submenu::remove_at (#93) 2023-08-08 17:53:15 +03:00
Amr Bashir 8c2019eba0
chore: make MenuId field public 2023-08-08 16:39:27 +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 bb92b5667e
refactor: change submenu set_as functions 2023-08-03 21:48:55 +03:00
Lucas Fernandes Nogueira 22956ec724
fix(macos): properly remove menu (#87) 2023-08-03 19:55:25 +03:00
Amr Bashir b1070cf144
chore: add todo 2023-08-03 16:42:47 +03:00
Lucas Fernandes Nogueira 0bad3aca96
fix(macos): manually retain/release NSMenu reference (#84)
* fix(macos): manually retain/release NSMenu reference

* Update src/platform_impl/macos/mod.rs

* retain submenu nsmenu

* remove unused
2023-08-03 16:32:43 +03:00
Amr Bashir 7a3bc5505f
fix(windows): don't drop Menu or MenuChild inside menu proc (#81)
`Menu` or `MenuChild`  are not owned by the menu proc and so it shouldn't drop it, previously this was okay because the `Menu` or `MenuChild` used to be a wrapper around `Rc<RefCell>` but that was changed in the last release.
2023-08-01 19:43:04 +03:00
Amr Bashir e5324b7684
chore: update docs 2023-07-28 04:38:38 +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 22f2405bb9
chore: typo 2023-07-27 19:45:44 +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
Lucas Fernandes Nogueira f4275fb157
fix(macos): adjust key_modifier_mask for SUPER modifier (#74) 2023-07-20 14:55:31 +03:00
Amr Bashir db49402b5b
chore: change CMD_OR_CTRL export location 2023-07-18 05:11:00 +03:00
Amr Bashir 460e88d279
chore: fix docs typos 2023-07-18 05:01:32 +03:00
Amr Bashir 6a3f2ba7e7
chore: fix doc link 2023-07-18 05:00:38 +03:00
Amr Bashir ee30bf8d29
feat: add builders (#73) 2023-07-18 04:59:47 +03:00
Amr Bashir dded1938d9
feat: add IsMenuItem helper methods to get concrete types 2023-07-18 04:00:25 +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
Max Stoumen fabbbacb4b
support AboutMetadata on macos (#66)
* support `AboutMetadata` on macos

* cleaner syntax

* incorrect docstring

* support linux

* move "Copyright" to constant

* append short_version to version in win, gtk

* narrower unsafe scope

* more accurate docs

* consistent periods in docs

* use `logo` instead for gtk

* clippy autofix

* fmt and clippy

* Create macos-about-metadata.md
2023-06-19 22:34:07 +03:00
Amr Bashir ac14222934
feat: add common-controls-v6 (#69) 2023-06-19 21:58:45 +03:00
Amr Bashir 7af4477896
feat: add libxdo feature flag (#67)
* feat: add `libxdo` feature flag

* Update .changes/linux-libxdo-feature-flag.md
2023-06-19 20:59:10 +03:00
Amr Bashir 47ba0b47ed
feat: add set_accelerator (#64)
* feat: add `set_accelerator`

closes #63

* unsafe
2023-05-04 14:40:58 +03:00
renovate[bot] dfd7b9e437
fix(deps): update rust crate windows-sys to 0.48 (#62)
* fix(deps): update rust crate windows-sys to 0.48

* fix compilation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2023-04-17 13:25:40 +02:00
Amr Bashir f3883ee2d4
fix(windows): run the about dialog in its own thread, closes #57 (#60) 2023-03-27 21:08:43 +02:00
Amr Bashir 059fceb130
fix(windows): downcast check menu item correctly (#58) 2023-03-27 20:47:21 +02:00
Amr Bashir f322ad454d
fix(Windows): send WM_CLOSE instead of DestroyWindow (#55) 2023-03-06 15:21:50 +02:00
Amr Bashir 88d352033b
fix(Windows): dispatch menu event for icon menu item (#53)
* fix(Windows): dispatch menu event for icon menu item

* default dispatch to true and improve about dialog
2023-03-06 15:21:36 +02:00
Amr Bashir d2bd85bf7e
docs: add docs for PredefinedMenuItem (#51) 2023-02-28 18:16:20 +02:00
Amr Bashir 923af09abf
fix(linux): fix multiple borrow panic (#48)
* fix(linux): fix multiple borrow panic, fixes #40

* chore: update example

* update docs
2023-02-14 14:45:35 +02:00
amrbashir 4b2ebc247c
docs: update docs 2023-02-08 21:00:29 +02:00
Amr Bashir f871c68e81
refactor: allow changing the menu event sender (#35)
* refactor: allow changing the menu event sender

* readme

* fix docs warning

* readme
2023-01-03 04:07:07 +02:00
Amr Bashir 7fc1b02cac
feat: add IconMenuItem, closes #30 (#32)
* feat: add `IconMenuItem`

* Linux

* macOS
2022-12-30 14:23:40 +02:00