mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-04-19 19:14:53 +00:00
feat: make env var description selectable
This commit is contained in:
parent
ca813d6168
commit
e69a7a9bd6
1 changed files with 21 additions and 7 deletions
|
@ -12,6 +12,7 @@ use adw::prelude::*;
|
|||
use gtk::glib::{self, clone};
|
||||
use relm4::{factory::AsyncFactoryVecDeque, prelude::*};
|
||||
use std::{cell::RefCell, path::PathBuf, rc::Rc};
|
||||
use tracing::warn;
|
||||
|
||||
#[tracker::track]
|
||||
pub struct ProfileEditor {
|
||||
|
@ -546,17 +547,30 @@ impl SimpleComponent for ProfileEditor {
|
|||
let profile = Rc::new(RefCell::new(init.profile));
|
||||
let prof = profile.clone();
|
||||
|
||||
let env_var_prefs_group = {
|
||||
let pg = adw::PreferencesGroup::builder()
|
||||
.title("Environment Variables")
|
||||
.description(ENV_VAR_DESCRIPTIONS_AS_PARAGRAPH.as_str())
|
||||
.header_suffix(&add_env_var_btn)
|
||||
.build();
|
||||
if let Some(desc) = pg
|
||||
.first_child()
|
||||
.and_then(|c| c.first_child())
|
||||
.and_then(|c| c.first_child())
|
||||
.and_then(|c| c.last_child())
|
||||
.and_downcast::<gtk::Label>()
|
||||
{
|
||||
desc.set_selectable(true);
|
||||
} else {
|
||||
warn!("failed to make env var preference group description selectable, please open a bug report");
|
||||
}
|
||||
pg
|
||||
};
|
||||
let mut model = Self {
|
||||
profile,
|
||||
win: None,
|
||||
env_rows: AsyncFactoryVecDeque::builder()
|
||||
.launch(
|
||||
adw::PreferencesGroup::builder()
|
||||
.title("Environment Variables")
|
||||
.description(ENV_VAR_DESCRIPTIONS_AS_PARAGRAPH.as_str())
|
||||
.header_suffix(&add_env_var_btn)
|
||||
.build(),
|
||||
)
|
||||
.launch(env_var_prefs_group)
|
||||
.forward(sender.input_sender(), |msg| match msg {
|
||||
EnvVarModelOutMsg::Changed(name, value) => {
|
||||
ProfileEditorMsg::EnvVarChanged(name, value)
|
||||
|
|
Loading…
Add table
Reference in a new issue