Settings re-org
This commit is contained in:
parent
2e691121d5
commit
ff6ad163d6
2 changed files with 105 additions and 85 deletions
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
## Settings
|
||||
settings = Settings
|
||||
focus-follow-mouse = Focus Follow Mouse
|
||||
|
||||
### Appearance
|
||||
appearance = Appearance
|
||||
|
|
@ -10,17 +9,29 @@ theme = Theme
|
|||
match-desktop = Match desktop
|
||||
dark = Dark
|
||||
light = Light
|
||||
syntax-dark = Syntax dark
|
||||
syntax-light = Syntax light
|
||||
syntax-dark = Color scheme dark
|
||||
syntax-light = Color scheme light
|
||||
default-zoom-step = Zoom steps
|
||||
|
||||
### Font
|
||||
font = Font
|
||||
advanced-font-settings = Advanced Font Settings
|
||||
default-font = Default font
|
||||
default-font-stretch = Default font stretch
|
||||
default-font-weight = Default font weight
|
||||
default-dim-font-weight = Default dim font weight
|
||||
default-bold-font-weight = Default bold font weight
|
||||
use-bright-bold = Use bright colors with bold text
|
||||
default-font-size = Default font size
|
||||
default-zoom-step = Default zoom step
|
||||
default-font = Font
|
||||
default-font-size = Font size
|
||||
default-font-stretch = Font stretch
|
||||
default-font-weight = Normal font weight
|
||||
default-dim-font-weight = Dim font weight
|
||||
default-bold-font-weight = Bold font weight
|
||||
use-bright-bold = Make bold text brighter
|
||||
|
||||
### Splits
|
||||
splits = Splits
|
||||
focus-follow-mouse = Typing focus follows mouse
|
||||
|
||||
### Advanced
|
||||
advanced = Advanced
|
||||
show-headerbar = Show header
|
||||
show-header-description = Reveal the header from the right-click menu.
|
||||
|
||||
# Find
|
||||
find-placeholder = Find...
|
||||
|
|
@ -54,6 +65,3 @@ split-horizontal = Split horizontal
|
|||
split-vertical = Split vertical
|
||||
pane-toggle-maximize = Toggle maximized
|
||||
menu-settings = Settings...
|
||||
|
||||
# Context menu
|
||||
show-headerbar = Show header bar
|
||||
|
|
|
|||
154
src/main.rs
154
src/main.rs
|
|
@ -525,6 +525,67 @@ impl App {
|
|||
.iter()
|
||||
.position(|zoom_step| zoom_step == &self.config.font_size_zoom_step_mul_100);
|
||||
|
||||
let appearance_section = widget::settings::view_section(fl!("appearance"))
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("theme")).control(widget::dropdown(
|
||||
&self.app_themes,
|
||||
Some(app_theme_selected),
|
||||
move |index| {
|
||||
Message::AppTheme(match index {
|
||||
1 => AppTheme::Dark,
|
||||
2 => AppTheme::Light,
|
||||
_ => AppTheme::System,
|
||||
})
|
||||
},
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
//TODO: rename to color-scheme-dark?
|
||||
widget::settings::item::builder(fl!("syntax-dark")).control(widget::dropdown(
|
||||
&self.theme_names,
|
||||
dark_selected,
|
||||
move |index| Message::SyntaxTheme(index, true),
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
//TODO: rename to color-scheme-light?
|
||||
widget::settings::item::builder(fl!("syntax-light")).control(widget::dropdown(
|
||||
&self.theme_names,
|
||||
light_selected,
|
||||
move |index| Message::SyntaxTheme(index, false),
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("default-zoom-step")).control(
|
||||
widget::dropdown(&self.zoom_step_names, zoom_step_selected, |index| {
|
||||
Message::DefaultZoomStep(index)
|
||||
}),
|
||||
),
|
||||
);
|
||||
//TODO: background opacity
|
||||
|
||||
let mut font_section = widget::settings::view_section(fl!("font"))
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("default-font")).control(widget::dropdown(
|
||||
&self.font_names,
|
||||
font_selected,
|
||||
|index| Message::DefaultFont(index),
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("default-font-size")).control(
|
||||
widget::dropdown(&self.font_size_names, font_size_selected, |index| {
|
||||
Message::DefaultFontSize(index)
|
||||
}),
|
||||
),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("advanced-font-settings")).toggler(
|
||||
self.show_advanced_font_settings,
|
||||
Message::ShowAdvancedFontSettings,
|
||||
),
|
||||
);
|
||||
|
||||
let advanced_font_settings = || {
|
||||
let section = widget::settings::view_section("")
|
||||
.add(
|
||||
|
|
@ -562,6 +623,10 @@ impl App {
|
|||
|index| Message::DefaultBoldFontWeight(index),
|
||||
),
|
||||
),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("use-bright-bold"))
|
||||
.toggler(self.config.use_bright_bold, Message::UseBrightBold),
|
||||
);
|
||||
let padding = Padding {
|
||||
top: 0.0,
|
||||
|
|
@ -572,81 +637,28 @@ impl App {
|
|||
widget::container(section).padding(padding)
|
||||
};
|
||||
|
||||
let mut settings_view = widget::settings::view_section(fl!("appearance"))
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("theme")).control(widget::dropdown(
|
||||
&self.app_themes,
|
||||
Some(app_theme_selected),
|
||||
move |index| {
|
||||
Message::AppTheme(match index {
|
||||
1 => AppTheme::Dark,
|
||||
2 => AppTheme::Light,
|
||||
_ => AppTheme::System,
|
||||
})
|
||||
},
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("syntax-dark")).control(widget::dropdown(
|
||||
&self.theme_names,
|
||||
dark_selected,
|
||||
move |index| Message::SyntaxTheme(index, true),
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("syntax-light")).control(widget::dropdown(
|
||||
&self.theme_names,
|
||||
light_selected,
|
||||
move |index| Message::SyntaxTheme(index, false),
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("default-font")).control(widget::dropdown(
|
||||
&self.font_names,
|
||||
font_selected,
|
||||
|index| Message::DefaultFont(index),
|
||||
)),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("advanced-font-settings")).toggler(
|
||||
self.show_advanced_font_settings,
|
||||
Message::ShowAdvancedFontSettings,
|
||||
),
|
||||
);
|
||||
|
||||
if self.show_advanced_font_settings {
|
||||
settings_view = settings_view.add(advanced_font_settings());
|
||||
font_section = font_section.add(advanced_font_settings());
|
||||
}
|
||||
|
||||
let settings_view = settings_view
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("use-bright-bold"))
|
||||
.toggler(self.config.use_bright_bold, Message::UseBrightBold),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("default-font-size")).control(
|
||||
widget::dropdown(&self.font_size_names, font_size_selected, |index| {
|
||||
Message::DefaultFontSize(index)
|
||||
}),
|
||||
),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("default-zoom-step")).control(
|
||||
widget::dropdown(&self.zoom_step_names, zoom_step_selected, |index| {
|
||||
Message::DefaultZoomStep(index)
|
||||
}),
|
||||
),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("show-headerbar"))
|
||||
.toggler(self.config.show_headerbar, Message::ShowHeaderBar),
|
||||
)
|
||||
.add(
|
||||
widget::settings::item::builder(fl!("focus-follow-mouse"))
|
||||
.toggler(self.config.focus_follow_mouse, Message::FocusFollowMouse),
|
||||
);
|
||||
let splits_section = widget::settings::view_section(fl!("splits")).add(
|
||||
widget::settings::item::builder(fl!("focus-follow-mouse"))
|
||||
.toggler(self.config.focus_follow_mouse, Message::FocusFollowMouse),
|
||||
);
|
||||
|
||||
widget::settings::view_column(vec![settings_view.into()]).into()
|
||||
let advanced_section = widget::settings::view_section(fl!("advanced")).add(
|
||||
widget::settings::item::builder(fl!("show-headerbar"))
|
||||
.description(fl!("show-header-description"))
|
||||
.toggler(self.config.show_headerbar, Message::ShowHeaderBar),
|
||||
);
|
||||
|
||||
widget::settings::view_column(vec![
|
||||
appearance_section.into(),
|
||||
font_section.into(),
|
||||
splits_section.into(),
|
||||
advanced_section.into(),
|
||||
])
|
||||
.into()
|
||||
}
|
||||
|
||||
fn create_and_focus_new_terminal(&mut self, pane: pane_grid::Pane) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue