fix: wrap scrollbar in id_container so it resets on page change

This commit is contained in:
Ashley Wulber 2024-05-30 17:19:53 -04:00 committed by Michael Murphy
parent 4ceac69f09
commit a48e0797d4
2 changed files with 31 additions and 24 deletions

44
Cargo.lock generated
View file

@ -1231,7 +1231,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-comp-config" name = "cosmic-comp-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-comp#743b5ad4a7c99fe29112e8d8a1e72a77985f86d4" source = "git+https://github.com/pop-os/cosmic-comp#f4eefcb2a180c704b86cb49335f16d57a19a8ac5"
dependencies = [ dependencies = [
"cosmic-config", "cosmic-config",
"input", "input",
@ -1241,7 +1241,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config" name = "cosmic-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"atomicwrites", "atomicwrites",
"calloop", "calloop",
@ -1264,7 +1264,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config-derive" name = "cosmic-config-derive"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"quote", "quote",
"syn 1.0.109", "syn 1.0.109",
@ -1444,7 +1444,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-text" name = "cosmic-text"
version = "0.11.2" version = "0.11.2"
source = "git+https://github.com/pop-os/cosmic-text.git#2f5f2c63dabc0173adaa95d619a777454a3c39af" source = "git+https://github.com/pop-os/cosmic-text.git#b0a70c70ffba883ac6ff022b535db195712f552f"
dependencies = [ dependencies = [
"bitflags 2.5.0", "bitflags 2.5.0",
"fontdb", "fontdb",
@ -1466,7 +1466,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-theme" name = "cosmic-theme"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"almost", "almost",
"cosmic-config", "cosmic-config",
@ -2763,7 +2763,7 @@ dependencies = [
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_accessibility", "iced_accessibility",
@ -2781,7 +2781,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_accessibility" name = "iced_accessibility"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"accesskit_unix", "accesskit_unix",
@ -2790,7 +2790,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"bitflags 2.5.0", "bitflags 2.5.0",
"dnd", "dnd",
@ -2812,7 +2812,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
@ -2825,7 +2825,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"bitflags 2.5.0", "bitflags 2.5.0",
"bytemuck", "bytemuck",
@ -2849,7 +2849,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
@ -2861,7 +2861,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_accessibility", "iced_accessibility",
@ -2875,7 +2875,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_sctk" name = "iced_sctk"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"enum-repr", "enum-repr",
"float-cmp", "float-cmp",
@ -2901,7 +2901,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_style" name = "iced_style"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"once_cell", "once_cell",
@ -2911,7 +2911,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@ -2928,7 +2928,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"bitflags 2.5.0", "bitflags 2.5.0",
"bytemuck", "bytemuck",
@ -2954,7 +2954,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_renderer", "iced_renderer",
@ -3426,7 +3426,7 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
[[package]] [[package]]
name = "libcosmic" name = "libcosmic"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1ef1400d8b816ba261fff52bf947162d976ceb3b" source = "git+https://github.com/pop-os/libcosmic#e1b78fd3a0980bf1e1c8b90cb794986d8db0b4e5"
dependencies = [ dependencies = [
"apply", "apply",
"ashpd", "ashpd",
@ -5626,9 +5626,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.37.0" version = "1.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes", "bytes",
@ -5645,9 +5645,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio-macros" name = "tokio-macros"
version = "2.2.0" version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",

View file

@ -15,7 +15,6 @@ use crate::pages::{self, display, power, sound, system, time};
use crate::subscription::desktop_files; use crate::subscription::desktop_files;
use crate::widget::{page_title, search_header}; use crate::widget::{page_title, search_header};
use crate::PageCommands; use crate::PageCommands;
use cosmic::app::command::message;
use cosmic::app::DbusActivationMessage; use cosmic::app::DbusActivationMessage;
use cosmic::iced::futures::SinkExt; use cosmic::iced::futures::SinkExt;
use cosmic::iced::Subscription; use cosmic::iced::Subscription;
@ -28,7 +27,9 @@ use cosmic::{
window, Length, window, Length,
}, },
prelude::*, prelude::*,
widget::{column, container, icon, nav_bar, scrollable, segmented_button, settings}, widget::{
column, container, icon, id_container, nav_bar, scrollable, segmented_button, settings,
},
Element, Element,
}; };
use cosmic_panel_config::CosmicPanelConfig; use cosmic_panel_config::CosmicPanelConfig;
@ -74,6 +75,11 @@ impl SettingsApp {
PageCommands::Workspaces => self.pages.page_id::<desktop::workspaces::Page>(), PageCommands::Workspaces => self.pages.page_id::<desktop::workspaces::Page>(),
} }
} }
fn id(&self) -> cosmic::iced_core::id::Id {
let cur_page_name = self.pages.info[self.active_page].id.as_ref();
cosmic::iced_core::id::Id::new(cur_page_name.to_owned())
}
} }
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
@ -496,6 +502,7 @@ impl cosmic::Application for SettingsApp {
.padding([theme.cosmic().space_xxs(), padding]) .padding([theme.cosmic().space_xxs(), padding])
.width(Length::Fill) .width(Length::Fill)
.apply(scrollable) .apply(scrollable)
.apply(|w| id_container(w, self.id()))
.into() .into()
} }