feat: add context menus to nav bar
This commit is contained in:
parent
d80c358ca5
commit
8c3af501ca
6 changed files with 314 additions and 193 deletions
275
Cargo.lock
generated
275
Cargo.lock
generated
|
|
@ -4,9 +4,9 @@ version = 3
|
|||
|
||||
[[package]]
|
||||
name = "ab_glyph"
|
||||
version = "0.2.24"
|
||||
version = "0.2.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e08104bebc65a46f8bc7aa733d39ea6874bfa7156f41a46b805785e3af1587d"
|
||||
checksum = "6f90148830dac590fac7ccfe78ec4a8ea404c60f75a24e16407a71f0f40de775"
|
||||
dependencies = [
|
||||
"ab_glyph_rasterizer",
|
||||
"owned_ttf_parser",
|
||||
|
|
@ -38,8 +38,8 @@ source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#5f9b61c82
|
|||
dependencies = [
|
||||
"accesskit",
|
||||
"accesskit_consumer",
|
||||
"icrate 0.1.0",
|
||||
"objc2 0.5.0",
|
||||
"icrate 0.1.2",
|
||||
"objc2 0.5.1",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
|
|
@ -83,7 +83,7 @@ dependencies = [
|
|||
"accesskit_macos",
|
||||
"accesskit_unix",
|
||||
"accesskit_windows",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"winit",
|
||||
]
|
||||
|
||||
|
|
@ -345,9 +345,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "async-channel"
|
||||
version = "2.2.0"
|
||||
version = "2.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
|
||||
checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928"
|
||||
dependencies = [
|
||||
"concurrent-queue",
|
||||
"event-listener 5.3.0",
|
||||
|
|
@ -358,11 +358,10 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "async-executor"
|
||||
version = "1.10.0"
|
||||
version = "1.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee"
|
||||
checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a"
|
||||
dependencies = [
|
||||
"async-lock 3.3.0",
|
||||
"async-task",
|
||||
"concurrent-queue",
|
||||
"fastrand 2.0.2",
|
||||
|
|
@ -414,8 +413,8 @@ dependencies = [
|
|||
"futures-io",
|
||||
"futures-lite 2.3.0",
|
||||
"parking",
|
||||
"polling 3.6.0",
|
||||
"rustix 0.38.32",
|
||||
"polling 3.7.0",
|
||||
"rustix 0.38.34",
|
||||
"slab",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
|
|
@ -454,7 +453,7 @@ dependencies = [
|
|||
"cfg-if",
|
||||
"event-listener 3.1.0",
|
||||
"futures-lite 1.13.0",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
|
|
@ -466,25 +465,25 @@ checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-signal"
|
||||
version = "0.2.5"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
|
||||
checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda"
|
||||
dependencies = [
|
||||
"async-io 2.3.2",
|
||||
"async-lock 2.8.0",
|
||||
"async-lock 3.3.0",
|
||||
"atomic-waker",
|
||||
"cfg-if",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"signal-hook-registry",
|
||||
"slab",
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -501,7 +500,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -527,7 +526,7 @@ name = "atomicwrites"
|
|||
version = "0.4.2"
|
||||
source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768"
|
||||
dependencies = [
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"tempfile",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
|
@ -684,7 +683,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f"
|
||||
dependencies = [
|
||||
"block-sys",
|
||||
"objc2 0.5.0",
|
||||
"objc2 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -726,7 +725,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -759,8 +758,8 @@ checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
|
|||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"log",
|
||||
"polling 3.6.0",
|
||||
"rustix 0.38.32",
|
||||
"polling 3.7.0",
|
||||
"rustix 0.38.34",
|
||||
"slab",
|
||||
"thiserror",
|
||||
]
|
||||
|
|
@ -773,8 +772,8 @@ checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
|
|||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"log",
|
||||
"polling 3.6.0",
|
||||
"rustix 0.38.32",
|
||||
"polling 3.7.0",
|
||||
"rustix 0.38.34",
|
||||
"slab",
|
||||
"thiserror",
|
||||
]
|
||||
|
|
@ -786,7 +785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
|
||||
dependencies = [
|
||||
"calloop 0.12.4",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"wayland-backend",
|
||||
"wayland-client",
|
||||
]
|
||||
|
|
@ -798,19 +797,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20"
|
||||
dependencies = [
|
||||
"calloop 0.13.0",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"wayland-backend",
|
||||
"wayland-client",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.92"
|
||||
version = "1.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41"
|
||||
checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -849,9 +849,9 @@ checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
|
|||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.37"
|
||||
version = "0.4.38"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
|
||||
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
|
||||
dependencies = [
|
||||
"android-tzdata",
|
||||
"iana-time-zone",
|
||||
|
|
@ -864,9 +864,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clipboard-win"
|
||||
version = "5.3.0"
|
||||
version = "5.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d517d4b86184dbb111d3556a10f1c8a04da7428d2987bf1081602bf11c3aa9ee"
|
||||
checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad"
|
||||
dependencies = [
|
||||
"error-code",
|
||||
]
|
||||
|
|
@ -1065,7 +1065,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cosmic-config"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"atomicwrites",
|
||||
"cosmic-config-derive",
|
||||
|
|
@ -1082,7 +1082,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cosmic-config-derive"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
|
|
@ -1115,6 +1115,7 @@ dependencies = [
|
|||
"rust-embed",
|
||||
"serde",
|
||||
"shlex",
|
||||
"slotmap",
|
||||
"smol_str",
|
||||
"tempfile",
|
||||
"test-log",
|
||||
|
|
@ -1151,7 +1152,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cosmic-theme"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"almost",
|
||||
"cosmic-config",
|
||||
|
|
@ -1250,12 +1251,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "ctor"
|
||||
version = "0.2.7"
|
||||
version = "0.2.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c"
|
||||
checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1295,7 +1296,7 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1306,7 +1307,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
|
|||
dependencies = [
|
||||
"darling_core",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1357,7 +1358,7 @@ dependencies = [
|
|||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1446,7 +1447,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1474,7 +1475,7 @@ source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-4#6ca3c
|
|||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"mime 0.1.0",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"smithay-client-toolkit 0.18.0",
|
||||
"smithay-clipboard",
|
||||
]
|
||||
|
|
@ -1495,7 +1496,7 @@ dependencies = [
|
|||
"bytemuck",
|
||||
"drm-ffi",
|
||||
"drm-fourcc",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1505,7 +1506,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
|
||||
dependencies = [
|
||||
"drm-sys",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1548,7 +1549,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1881,7 +1882,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2054,7 +2055,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2287,7 +2288,7 @@ dependencies = [
|
|||
"proc-macro-crate 3.1.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2580,7 +2581,7 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
"unic-langid",
|
||||
]
|
||||
|
||||
|
|
@ -2594,7 +2595,7 @@ dependencies = [
|
|||
"i18n-config",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2623,7 +2624,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_accessibility",
|
||||
|
|
@ -2641,7 +2642,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_accessibility"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"accesskit",
|
||||
"accesskit_winit",
|
||||
|
|
@ -2650,7 +2651,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_core"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"dnd",
|
||||
|
|
@ -2658,7 +2659,7 @@ dependencies = [
|
|||
"mime 0.1.0",
|
||||
"num-traits",
|
||||
"palette",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"serde",
|
||||
"smol_str",
|
||||
"thiserror",
|
||||
|
|
@ -2670,7 +2671,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_futures"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"iced_core",
|
||||
|
|
@ -2683,7 +2684,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_graphics"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"bytemuck",
|
||||
|
|
@ -2697,7 +2698,7 @@ dependencies = [
|
|||
"log",
|
||||
"lyon_path",
|
||||
"once_cell",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"rustc-hash",
|
||||
"thiserror",
|
||||
"unicode-segmentation",
|
||||
|
|
@ -2707,7 +2708,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_renderer"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"iced_graphics",
|
||||
"iced_tiny_skia",
|
||||
|
|
@ -2719,7 +2720,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_runtime"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_core",
|
||||
|
|
@ -2731,7 +2732,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_style"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"iced_core",
|
||||
"once_cell",
|
||||
|
|
@ -2741,7 +2742,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_tiny_skia"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cosmic-text",
|
||||
|
|
@ -2758,7 +2759,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_wgpu"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"bytemuck",
|
||||
|
|
@ -2777,7 +2778,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_widget"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_renderer",
|
||||
|
|
@ -2793,7 +2794,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_winit"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_graphics",
|
||||
|
|
@ -2821,12 +2822,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "icrate"
|
||||
version = "0.1.0"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e286f4b975ac6c054971a0600a9b76438b332edace54bff79c71c9d3adfc9772"
|
||||
checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642"
|
||||
dependencies = [
|
||||
"block2 0.4.0",
|
||||
"objc2 0.5.0",
|
||||
"objc2 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2987,9 +2988,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
|
|||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.30"
|
||||
version = "0.1.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "685a7d121ee3f65ae4fddd72b25a04bb36b6af81bc0828f7d5434c0fe60fa3a2"
|
||||
checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
|
@ -3119,7 +3120,7 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
|
|||
[[package]]
|
||||
name = "libcosmic"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#c5bd7cf28a67a6c0ce791e9d27f1593cf04c492c"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#1adeadacf60c7f7381ec270710fcdab706d4175e"
|
||||
dependencies = [
|
||||
"apply",
|
||||
"ashpd 0.7.0",
|
||||
|
|
@ -3303,9 +3304,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "lyon_tessellation"
|
||||
version = "1.0.13"
|
||||
version = "1.0.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c7c67b5bc8123b352b2e7e742b47d1f236a13fe77619433be9568fbd888e9c0"
|
||||
checksum = "4470bd0b1f29eda66068ab1fd47719facda0a136b829bcca69287ed0ac40a134"
|
||||
dependencies = [
|
||||
"float_next_after",
|
||||
"lyon_path",
|
||||
|
|
@ -3458,7 +3459,7 @@ dependencies = [
|
|||
"log",
|
||||
"ndk-sys",
|
||||
"num_enum",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
|
@ -3664,7 +3665,7 @@ dependencies = [
|
|||
"proc-macro-crate 3.1.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3699,9 +3700,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "objc-sys"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
|
||||
checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60"
|
||||
|
||||
[[package]]
|
||||
name = "objc2"
|
||||
|
|
@ -3715,12 +3716,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "objc2"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a9c7f0d511a4ce26b078183179dca908171cfc69f88986fe36c5138e1834476"
|
||||
checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659"
|
||||
dependencies = [
|
||||
"objc-sys",
|
||||
"objc2-encode 4.0.0",
|
||||
"objc2-encode 4.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3731,9 +3732,9 @@ checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
|
|||
|
||||
[[package]]
|
||||
name = "objc2-encode"
|
||||
version = "4.0.0"
|
||||
version = "4.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2ff06a6505cde0766484f38d8479ac8e6d31c66fbc2d5492f65ca8c091456379"
|
||||
checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a"
|
||||
|
||||
[[package]]
|
||||
name = "objc_exception"
|
||||
|
|
@ -3835,7 +3836,7 @@ dependencies = [
|
|||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3868,7 +3869,7 @@ checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3985,7 +3986,7 @@ dependencies = [
|
|||
"phf_shared",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4063,15 +4064,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "polling"
|
||||
version = "3.6.0"
|
||||
version = "3.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
|
||||
checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"concurrent-queue",
|
||||
"hermit-abi",
|
||||
"pin-project-lite",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
|
@ -4139,9 +4140,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.79"
|
||||
version = "1.0.81"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
|
||||
checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
|
@ -4235,9 +4236,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
|
|||
|
||||
[[package]]
|
||||
name = "raw-window-handle"
|
||||
version = "0.6.0"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
|
||||
checksum = "8cc3bcbdb1ddfc11e700e62968e6b4cc9c75bb466464ad28fb61c5b2c964418b"
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
|
|
@ -4436,7 +4437,7 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
"quote",
|
||||
"rust-embed-utils",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
|
|
@ -4488,9 +4489,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.32"
|
||||
version = "0.38.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
|
||||
checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"errno",
|
||||
|
|
@ -4579,22 +4580,22 @@ checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.197"
|
||||
version = "1.0.198"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
|
||||
checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.197"
|
||||
version = "1.0.198"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
|
||||
checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4605,7 +4606,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4647,9 +4648,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
version = "1.4.1"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
|
||||
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
|
@ -4711,7 +4712,7 @@ dependencies = [
|
|||
"libc",
|
||||
"log",
|
||||
"memmap2",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"thiserror",
|
||||
"wayland-backend",
|
||||
"wayland-client",
|
||||
|
|
@ -4736,7 +4737,7 @@ dependencies = [
|
|||
"libc",
|
||||
"log",
|
||||
"memmap2",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"thiserror",
|
||||
"wayland-backend",
|
||||
"wayland-client",
|
||||
|
|
@ -4754,7 +4755,7 @@ version = "0.8.0"
|
|||
source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-3#2f2430bec35f0adb9cb93e85e648ff8449d44dad"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"smithay-client-toolkit 0.18.0",
|
||||
"wayland-backend",
|
||||
]
|
||||
|
|
@ -4805,9 +4806,9 @@ dependencies = [
|
|||
"log",
|
||||
"memmap2",
|
||||
"objc",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"redox_syscall 0.4.1",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"tiny-xlib",
|
||||
"wasm-bindgen",
|
||||
"wayland-backend",
|
||||
|
|
@ -4897,9 +4898,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.58"
|
||||
version = "2.0.60"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
|
||||
checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -4959,7 +4960,7 @@ checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
|
|||
dependencies = [
|
||||
"cfg-if",
|
||||
"fastrand 2.0.2",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
|
|
@ -4990,27 +4991,27 @@ checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.58"
|
||||
version = "1.0.59"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
|
||||
checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.58"
|
||||
version = "1.0.59"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
|
||||
checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5164,7 +5165,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"toml_edit 0.22.9",
|
||||
"toml_edit 0.22.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5200,9 +5201,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.22.9"
|
||||
version = "0.22.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
|
||||
checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde",
|
||||
|
|
@ -5230,7 +5231,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5539,7 +5540,7 @@ dependencies = [
|
|||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
|
|
@ -5573,7 +5574,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
|
@ -5607,7 +5608,7 @@ checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
|
|||
dependencies = [
|
||||
"cc",
|
||||
"downcast-rs",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"scoped-tls",
|
||||
"smallvec",
|
||||
"wayland-sys",
|
||||
|
|
@ -5620,7 +5621,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"wayland-backend",
|
||||
"wayland-scanner",
|
||||
]
|
||||
|
|
@ -5642,7 +5643,7 @@ version = "0.31.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
|
||||
dependencies = [
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"wayland-client",
|
||||
"xcursor",
|
||||
]
|
||||
|
|
@ -5747,7 +5748,7 @@ dependencies = [
|
|||
"naga",
|
||||
"parking_lot 0.12.1",
|
||||
"profiling",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"smallvec",
|
||||
"static_assertions",
|
||||
"wasm-bindgen",
|
||||
|
|
@ -5774,7 +5775,7 @@ dependencies = [
|
|||
"once_cell",
|
||||
"parking_lot 0.12.1",
|
||||
"profiling",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"rustc-hash",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
|
|
@ -5815,7 +5816,7 @@ dependencies = [
|
|||
"parking_lot 0.12.1",
|
||||
"profiling",
|
||||
"range-alloc",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"renderdoc-sys",
|
||||
"rustc-hash",
|
||||
"smallvec",
|
||||
|
|
@ -5884,7 +5885,7 @@ dependencies = [
|
|||
"clipboard_x11",
|
||||
"dnd",
|
||||
"mime 0.1.0",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
|
@ -6180,9 +6181,9 @@ dependencies = [
|
|||
"once_cell",
|
||||
"orbclient",
|
||||
"percent-encoding",
|
||||
"raw-window-handle 0.6.0",
|
||||
"raw-window-handle 0.6.1",
|
||||
"redox_syscall 0.3.5",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"sctk-adwaita",
|
||||
"smithay-client-toolkit 0.18.1",
|
||||
"smol_str",
|
||||
|
|
@ -6241,7 +6242,7 @@ dependencies = [
|
|||
"libc",
|
||||
"libloading 0.8.3",
|
||||
"once_cell",
|
||||
"rustix 0.38.32",
|
||||
"rustix 0.38.34",
|
||||
"x11rb-protocol",
|
||||
]
|
||||
|
||||
|
|
@ -6419,7 +6420,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.58",
|
||||
"syn 2.0.60",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ i18n-embed = { version = "0.14", features = [
|
|||
] }
|
||||
i18n-embed-fl = "0.7"
|
||||
rust-embed = "8"
|
||||
slotmap = "1.0.7"
|
||||
|
||||
[dependencies.libcosmic]
|
||||
git = "https://github.com/pop-os/libcosmic.git"
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@ cancel = Cancel
|
|||
open = Open
|
||||
open-file = Open file
|
||||
open-folder = Open folder
|
||||
open-in-new-tab = Open in new tab
|
||||
open-in-new-window = Open in new window
|
||||
open-multiple-files = Open multiple files
|
||||
open-multiple-folders = Open multiple folders
|
||||
save = Save
|
||||
|
|
|
|||
152
src/app.rs
152
src/app.rs
|
|
@ -29,6 +29,7 @@ use notify_debouncer_full::{
|
|||
notify::{self, RecommendedWatcher, Watcher},
|
||||
DebouncedEvent, Debouncer, FileIdMap,
|
||||
};
|
||||
use slotmap::Key as SlotMapKey;
|
||||
use std::{
|
||||
any::TypeId,
|
||||
collections::{BTreeMap, HashMap, HashSet, VecDeque},
|
||||
|
|
@ -121,7 +122,7 @@ impl MenuAction for Action {
|
|||
Action::OpenWith => Message::ToggleContextPage(ContextPage::OpenWith),
|
||||
Action::Operations => Message::ToggleContextPage(ContextPage::Operations),
|
||||
Action::Paste => Message::Paste(entity_opt),
|
||||
Action::Properties => Message::ToggleContextPage(ContextPage::Properties),
|
||||
Action::Properties => Message::ToggleContextPage(ContextPage::Properties(None)),
|
||||
Action::Rename => Message::Rename(entity_opt),
|
||||
Action::RestoreFromTrash => Message::RestoreFromTrash(entity_opt),
|
||||
Action::SelectAll => Message::TabMessage(entity_opt, tab::Message::SelectAll),
|
||||
|
|
@ -144,6 +145,27 @@ impl MenuAction for Action {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
enum ContextItem {
|
||||
NavBar(segmented_button::Entity),
|
||||
TabBar(segmented_button::Entity),
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
|
||||
pub enum NavMenuAction {
|
||||
OpenInNewTab(segmented_button::Entity),
|
||||
OpenInNewWindow(segmented_button::Entity),
|
||||
Properties(segmented_button::Entity),
|
||||
}
|
||||
|
||||
impl MenuAction for NavMenuAction {
|
||||
type Message = cosmic::app::Message<Message>;
|
||||
|
||||
fn message(&self, _entity: Option<Entity>) -> Self::Message {
|
||||
cosmic::app::Message::App(Message::NavMenuAction(*self))
|
||||
}
|
||||
}
|
||||
|
||||
/// Messages that are used specifically by our [`App`].
|
||||
#[derive(Clone, Debug)]
|
||||
pub enum Message {
|
||||
|
|
@ -160,6 +182,8 @@ pub enum Message {
|
|||
Modifiers(Modifiers),
|
||||
MoveToTrash(Option<Entity>),
|
||||
MounterItems(MounterKey, MounterItems),
|
||||
NavBarContext(Entity),
|
||||
NavMenuAction(NavMenuAction),
|
||||
NewItem(Option<Entity>, bool),
|
||||
NotifyEvents(Vec<DebouncedEvent>),
|
||||
NotifyWatcher(WatcherWrapper),
|
||||
|
|
@ -200,7 +224,7 @@ pub enum ContextPage {
|
|||
About,
|
||||
OpenWith,
|
||||
Operations,
|
||||
Properties,
|
||||
Properties(Option<ContextItem>),
|
||||
Settings,
|
||||
}
|
||||
|
||||
|
|
@ -210,7 +234,7 @@ impl ContextPage {
|
|||
Self::About => String::new(),
|
||||
Self::OpenWith => fl!("open-with"),
|
||||
Self::Operations => fl!("operations"),
|
||||
Self::Properties => fl!("properties"),
|
||||
Self::Properties(..) => fl!("properties"),
|
||||
Self::Settings => fl!("settings"),
|
||||
}
|
||||
}
|
||||
|
|
@ -259,6 +283,7 @@ impl PartialEq for WatcherWrapper {
|
|||
/// The [`App`] stores application-specific state.
|
||||
pub struct App {
|
||||
core: Core,
|
||||
nav_bar_context_id: segmented_button::Entity,
|
||||
nav_model: segmented_button::SingleSelectModel,
|
||||
tab_model: segmented_button::Model<segmented_button::SingleSelect>,
|
||||
config_handler: Option<cosmic_config::Config>,
|
||||
|
|
@ -511,9 +536,35 @@ impl App {
|
|||
widget::settings::view_column(children).into()
|
||||
}
|
||||
|
||||
fn properties(&self) -> Element<Message> {
|
||||
fn properties(&self, entity: Option<ContextItem>) -> Element<Message> {
|
||||
match entity {
|
||||
None => self.tab_properties(self.tab_model.active()),
|
||||
|
||||
Some(ContextItem::TabBar(entity)) => self.tab_properties(entity),
|
||||
|
||||
Some(ContextItem::NavBar(item)) => {
|
||||
let mut children = Vec::new();
|
||||
|
||||
if let Some(location) = self.nav_model.data::<Location>(item) {
|
||||
if let Location::Path(path) = location {
|
||||
let parent = path.parent().unwrap_or(path);
|
||||
|
||||
for item in Location::Path(parent.to_owned()).scan(IconSizes::default()) {
|
||||
if item.path_opt.as_deref() == Some(path) {
|
||||
children.push(item.property_view(IconSizes::default()));
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
widget::settings::view_column(children).into()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn tab_properties(&self, entity: segmented_button::Entity) -> Element<Message> {
|
||||
let mut children = Vec::new();
|
||||
let entity = self.tab_model.active();
|
||||
|
||||
if let Some(tab) = self.tab_model.data::<Tab>(entity) {
|
||||
if let Some(items) = tab.items_opt() {
|
||||
for item in items.iter() {
|
||||
|
|
@ -526,6 +577,7 @@ impl App {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
widget::settings::view_column(children).into()
|
||||
}
|
||||
|
||||
|
|
@ -672,16 +724,18 @@ impl Application for App {
|
|||
|
||||
let nav_model = self.nav_model()?;
|
||||
|
||||
let mut nav = cosmic::widget::nav_bar_dnd(
|
||||
nav_model,
|
||||
|entity| cosmic::app::Message::Cosmic(cosmic::app::cosmic::Message::NavBar(entity)),
|
||||
|entity, _| cosmic::app::Message::App(Message::DndEnterNav(entity)),
|
||||
|_| cosmic::app::Message::App(Message::DndExitNav),
|
||||
|entity, data, action| {
|
||||
cosmic::app::Message::App(Message::DndDropNav(entity, data, action))
|
||||
},
|
||||
self.nav_drag_id,
|
||||
);
|
||||
let mut nav = cosmic::widget::nav_bar(nav_model, |entity| {
|
||||
cosmic::app::Message::Cosmic(cosmic::app::cosmic::Message::NavBar(entity))
|
||||
})
|
||||
.drag_id(self.nav_drag_id)
|
||||
.on_dnd_enter(|entity, _| cosmic::app::Message::App(Message::DndEnterNav(entity)))
|
||||
.on_dnd_leave(|_| cosmic::app::Message::App(Message::DndExitNav))
|
||||
.on_dnd_drop(|entity, data, action| {
|
||||
cosmic::app::Message::App(Message::DndDropNav(entity, data, action))
|
||||
})
|
||||
.on_context(|entity| cosmic::app::Message::App(Message::NavBarContext(entity)))
|
||||
.context_menu(self.nav_context_menu(self.nav_bar_context_id))
|
||||
.into_container();
|
||||
|
||||
if !self.core().is_condensed() {
|
||||
nav = nav.max_width(280);
|
||||
|
|
@ -734,6 +788,7 @@ impl Application for App {
|
|||
|
||||
let mut app = App {
|
||||
core,
|
||||
nav_bar_context_id: segmented_button::Entity::null(),
|
||||
nav_model: nav_model.build(),
|
||||
tab_model: segmented_button::ModelBuilder::default().build(),
|
||||
config_handler: flags.config_handler,
|
||||
|
|
@ -787,6 +842,30 @@ impl Application for App {
|
|||
(app, Command::batch(commands))
|
||||
}
|
||||
|
||||
fn nav_context_menu(
|
||||
&self,
|
||||
id: widget::nav_bar::Id,
|
||||
) -> Option<Vec<widget::menu::Tree<cosmic::app::Message<Self::Message>>>> {
|
||||
Some(cosmic::widget::menu::items(
|
||||
&HashMap::new(),
|
||||
vec![
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("open-in-new-tab"),
|
||||
NavMenuAction::OpenInNewTab(id),
|
||||
),
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("open-in-new-window"),
|
||||
NavMenuAction::OpenInNewWindow(id),
|
||||
),
|
||||
cosmic::widget::menu::Item::Divider,
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("properties"),
|
||||
NavMenuAction::Properties(id),
|
||||
),
|
||||
],
|
||||
))
|
||||
}
|
||||
|
||||
fn nav_model(&self) -> Option<&segmented_button::SingleSelectModel> {
|
||||
Some(&self.nav_model)
|
||||
}
|
||||
|
|
@ -1570,6 +1649,47 @@ impl Application for App {
|
|||
return self.update(Message::TabActivate(entity));
|
||||
}
|
||||
}
|
||||
|
||||
// Tracks which nav bar item to show a context menu for.
|
||||
Message::NavBarContext(entity) => {
|
||||
self.nav_bar_context_id = entity;
|
||||
}
|
||||
|
||||
// Applies selected nav bar context menu operation.
|
||||
Message::NavMenuAction(action) => match action {
|
||||
NavMenuAction::OpenInNewTab(entity) => {
|
||||
match self.nav_model.data::<Location>(entity) {
|
||||
Some(Location::Path(ref path)) => {
|
||||
return self.open_tab(Location::Path(path.clone()));
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
// Open the selected path in a new cosmic-files window.
|
||||
NavMenuAction::OpenInNewWindow(entity) => {
|
||||
if let Some(&Location::Path(ref path)) = self.nav_model.data::<Location>(entity)
|
||||
{
|
||||
match env::current_exe() {
|
||||
Ok(exe) => match process::Command::new(&exe).arg(path).spawn() {
|
||||
Ok(_child) => {}
|
||||
Err(err) => {
|
||||
log::error!("failed to execute {:?}: {}", exe, err);
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
log::error!("failed to get current executable path: {}", err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NavMenuAction::Properties(entity) => {
|
||||
self.context_page = ContextPage::Properties(Some(ContextItem::NavBar(entity)));
|
||||
self.core.window.show_context = true;
|
||||
self.set_context_title(self.context_page.title());
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
Command::none()
|
||||
|
|
@ -1584,7 +1704,7 @@ impl Application for App {
|
|||
ContextPage::About => self.about(),
|
||||
ContextPage::OpenWith => self.open_with(),
|
||||
ContextPage::Operations => self.operations(),
|
||||
ContextPage::Properties => self.properties(),
|
||||
ContextPage::Properties(entity) => self.properties(entity),
|
||||
ContextPage::Settings => self.settings(),
|
||||
})
|
||||
}
|
||||
|
|
|
|||
73
src/menu.rs
73
src/menu.rs
|
|
@ -1,15 +1,12 @@
|
|||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
use cosmic::widget::menu::key_bind::KeyBind;
|
||||
use cosmic::widget::menu::menu_tree::{menu_items, menu_root, MenuItem};
|
||||
use cosmic::widget::menu::{self, ItemHeight, ItemWidth, MenuBar};
|
||||
use cosmic::{
|
||||
//TODO: export iced::widget::horizontal_rule in cosmic::widget
|
||||
iced::{widget::horizontal_rule, Alignment, Background, Border, Length},
|
||||
theme,
|
||||
widget::{
|
||||
self,
|
||||
menu::{ItemHeight, ItemWidth, MenuBar, MenuTree},
|
||||
},
|
||||
widget,
|
||||
Element,
|
||||
};
|
||||
use std::collections::HashMap;
|
||||
|
|
@ -173,53 +170,53 @@ pub fn context_menu<'a>(
|
|||
|
||||
pub fn menu_bar<'a>(key_binds: &HashMap<KeyBind, Action>) -> Element<'a, Message> {
|
||||
MenuBar::new(vec![
|
||||
MenuTree::with_children(
|
||||
menu_root(fl!("file")),
|
||||
menu_items(
|
||||
menu::Tree::with_children(
|
||||
menu::root(fl!("file")),
|
||||
menu::items(
|
||||
key_binds,
|
||||
vec![
|
||||
MenuItem::Button(fl!("new-tab"), Action::TabNew),
|
||||
MenuItem::Button(fl!("new-window"), Action::WindowNew),
|
||||
MenuItem::Button(fl!("new-file"), Action::NewFile),
|
||||
MenuItem::Button(fl!("new-folder"), Action::NewFolder),
|
||||
MenuItem::Button(fl!("open"), Action::Open),
|
||||
MenuItem::Divider,
|
||||
MenuItem::Button(fl!("rename"), Action::Rename),
|
||||
menu::Item::Button(fl!("new-tab"), Action::TabNew),
|
||||
menu::Item::Button(fl!("new-window"), Action::WindowNew),
|
||||
menu::Item::Button(fl!("new-file"), Action::NewFile),
|
||||
menu::Item::Button(fl!("new-folder"), Action::NewFolder),
|
||||
menu::Item::Button(fl!("open"), Action::Open),
|
||||
menu::Item::Divider,
|
||||
menu::Item::Button(fl!("rename"), Action::Rename),
|
||||
//TOOD: add to sidebar, then divider
|
||||
MenuItem::Divider,
|
||||
MenuItem::Button(fl!("move-to-trash"), Action::MoveToTrash),
|
||||
MenuItem::Divider,
|
||||
MenuItem::Button(fl!("close-tab"), Action::TabClose),
|
||||
MenuItem::Button(fl!("quit"), Action::WindowClose),
|
||||
menu::Item::Divider,
|
||||
menu::Item::Button(fl!("move-to-trash"), Action::MoveToTrash),
|
||||
menu::Item::Divider,
|
||||
menu::Item::Button(fl!("close-tab"), Action::TabClose),
|
||||
menu::Item::Button(fl!("quit"), Action::WindowClose),
|
||||
],
|
||||
),
|
||||
),
|
||||
MenuTree::with_children(
|
||||
menu_root(fl!("edit")),
|
||||
menu_items(
|
||||
menu::Tree::with_children(
|
||||
menu::root(fl!("edit")),
|
||||
menu::items(
|
||||
key_binds,
|
||||
vec![
|
||||
MenuItem::Button(fl!("cut"), Action::Cut),
|
||||
MenuItem::Button(fl!("copy"), Action::Copy),
|
||||
MenuItem::Button(fl!("paste"), Action::Paste),
|
||||
MenuItem::Button(fl!("select-all"), Action::SelectAll),
|
||||
MenuItem::Divider,
|
||||
menu::Item::Button(fl!("cut"), Action::Cut),
|
||||
menu::Item::Button(fl!("copy"), Action::Copy),
|
||||
menu::Item::Button(fl!("paste"), Action::Paste),
|
||||
menu::Item::Button(fl!("select-all"), Action::SelectAll),
|
||||
menu::Item::Divider,
|
||||
//TODO: edit history
|
||||
MenuItem::Button(fl!("operations"), Action::Operations),
|
||||
menu::Item::Button(fl!("operations"), Action::Operations),
|
||||
],
|
||||
),
|
||||
),
|
||||
MenuTree::with_children(
|
||||
menu_root(fl!("view")),
|
||||
menu_items(
|
||||
menu::Tree::with_children(
|
||||
menu::root(fl!("view")),
|
||||
menu::items(
|
||||
key_binds,
|
||||
vec![
|
||||
MenuItem::Button(fl!("grid-view"), Action::TabViewGrid),
|
||||
MenuItem::Button(fl!("list-view"), Action::TabViewList),
|
||||
MenuItem::Divider,
|
||||
MenuItem::Button(fl!("menu-settings"), Action::Settings),
|
||||
MenuItem::Divider,
|
||||
MenuItem::Button(fl!("menu-about"), Action::About),
|
||||
menu::Item::Button(fl!("grid-view"), Action::TabViewGrid),
|
||||
menu::Item::Button(fl!("list-view"), Action::TabViewList),
|
||||
menu::Item::Divider,
|
||||
menu::Item::Button(fl!("menu-settings"), Action::Settings),
|
||||
menu::Item::Divider,
|
||||
menu::Item::Button(fl!("menu-about"), Action::About),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -523,7 +523,7 @@ pub struct Item {
|
|||
}
|
||||
|
||||
impl Item {
|
||||
fn preview(&self, sizes: IconSizes) -> Element<app::Message> {
|
||||
fn preview(&self, sizes: IconSizes) -> Element<'static, app::Message> {
|
||||
// This loads the image only if thumbnailing worked
|
||||
let icon = widget::icon::icon(self.icon_handle_grid.clone())
|
||||
.content_fit(ContentFit::Contain)
|
||||
|
|
@ -598,7 +598,7 @@ impl Item {
|
|||
column.into()
|
||||
}
|
||||
|
||||
pub fn property_view(&self, sizes: IconSizes) -> Element<app::Message> {
|
||||
pub fn property_view(&self, sizes: IconSizes) -> Element<'static, app::Message> {
|
||||
let cosmic_theme::Spacing { space_xxxs, .. } = theme::active().cosmic().spacing;
|
||||
|
||||
let mut column = widget::column().spacing(space_xxxs);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue