Merge pull request #213 from pop-os/fix-theme

fix: update libcosmic and load configured theme instead of defaults
This commit is contained in:
Jeremy Soller 2024-05-30 12:13:36 -06:00 committed by GitHub
commit 15a4740634
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 46 additions and 35 deletions

View file

@ -27,8 +27,16 @@ pub enum AppTheme {
impl AppTheme {
pub fn theme(&self) -> theme::Theme {
match self {
Self::Dark => theme::Theme::dark(),
Self::Light => theme::Theme::light(),
Self::Dark => {
let mut t = theme::system_dark();
t.theme_type.prefer_dark(Some(true));
t
}
Self::Light => {
let mut t = theme::system_light();
t.theme_type.prefer_dark(Some(false));
t
}
Self::System => theme::system_preference(),
}
}

View file

@ -1,14 +1,14 @@
// SPDX-License-Identifier: GPL-3.0-only
use cosmic::widget::menu::key_bind::KeyBind;
use cosmic::widget::menu::{items as menu_items, root as menu_root, Item as MenuItem};
use cosmic::widget::menu::{items as menu_items, menu_button, root as menu_root, Item as MenuItem};
use cosmic::{
iced::{
widget::{column, horizontal_rule, horizontal_space},
Alignment, Background, Length,
Background, Length,
},
iced_core::Border,
menu_button, theme,
theme,
widget::{
self,
menu::{ItemHeight, ItemWidth, MenuBar, Tree as MenuTree},
@ -36,23 +36,24 @@ pub fn context_menu<'a>(
let menu_item = |label, action| {
let key = find_key(&action);
menu_button!(
widget::text(label),
horizontal_space(Length::Fill),
widget::text(key)
)
menu_button(vec![
widget::text(label).into(),
horizontal_space(Length::Fill).into(),
widget::text(key).into(),
])
.on_press(Message::TabContextAction(entity, action))
};
let menu_checkbox = |label, value, action| {
menu_button!(
widget::text(label),
widget::horizontal_space(Length::Fill),
widget::toggler(None, value, move |_| Message::TabContextAction(
entity, action
))
.size(16.0),
)
menu_button(vec![
widget::text(label).into(),
widget::horizontal_space(Length::Fill).into(),
widget::toggler(None, value, move |_| {
Message::TabContextAction(entity, action)
})
.size(16.0)
.into(),
])
.on_press(Message::TabContextAction(entity, action))
};
@ -99,7 +100,8 @@ pub fn color_scheme_menu<'a>(
id: ColorSchemeId,
name: &str,
) -> Element<'a, Message> {
let menu_item = |label, message| menu_button!(widget::text(label)).on_press(message);
let menu_item =
|label, message| menu_button(vec![widget::text(label).into()]).on_press(message);
widget::container(column!(
menu_item(