Adds a way to toggle font size without settings adjustments (#24857)
Closes https://github.com/zed-industries/zed/issues/23505 Now `zed::IncreaseBufferFontSize` (and all the same UI- and Buffer-related settings) action is parameterized with `{ "persist": true }` (default). Using `"persist": false` brings back resizing behavior prior to https://github.com/zed-industries/zed/pull/23265 Release Notes: - Added a way to toggle font size without settings adjustments
This commit is contained in:
parent
2f734cbd5e
commit
3b91de8003
17 changed files with 251 additions and 80 deletions
|
@ -540,65 +540,80 @@ fn register_actions(
|
|||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
move |_, _: &zed_actions::IncreaseUiFontSize, _window, cx| {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let buffer_font_size = ThemeSettings::clamp_font_size(
|
||||
ThemeSettings::get_global(cx).ui_font_size + px(1.),
|
||||
);
|
||||
|
||||
let _ = settings.ui_font_size.insert(buffer_font_size.into());
|
||||
move |_, action: &zed_actions::IncreaseUiFontSize, _window, cx| {
|
||||
theme::adjust_ui_font_size(cx, |size| {
|
||||
*size += px(1.0);
|
||||
});
|
||||
if action.persist {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let _ = settings.ui_font_size.insert(theme::get_ui_font_size(cx).0);
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
move |_, _: &zed_actions::DecreaseUiFontSize, _window, cx| {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let buffer_font_size = ThemeSettings::clamp_font_size(
|
||||
ThemeSettings::get_global(cx).ui_font_size - px(1.),
|
||||
);
|
||||
|
||||
let _ = settings.ui_font_size.insert(buffer_font_size.into());
|
||||
move |_, action: &zed_actions::DecreaseUiFontSize, _window, cx| {
|
||||
theme::adjust_ui_font_size(cx, |size| {
|
||||
*size -= px(1.0);
|
||||
});
|
||||
if action.persist {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let _ = settings.ui_font_size.insert(theme::get_ui_font_size(cx).0);
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
move |_, _: &zed_actions::ResetUiFontSize, _window, cx| {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, _| {
|
||||
let _ = settings.ui_font_size.take();
|
||||
});
|
||||
move |_, action: &zed_actions::ResetUiFontSize, _window, cx| {
|
||||
theme::reset_ui_font_size(cx);
|
||||
if action.persist {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, _| {
|
||||
let _ = settings.ui_font_size.take();
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
move |_, _: &zed_actions::IncreaseBufferFontSize, _window, cx| {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let buffer_font_size = ThemeSettings::clamp_font_size(
|
||||
ThemeSettings::get_global(cx).buffer_font_size() + px(1.),
|
||||
);
|
||||
|
||||
let _ = settings.buffer_font_size.insert(buffer_font_size.into());
|
||||
move |_, action: &zed_actions::IncreaseBufferFontSize, _window, cx| {
|
||||
theme::adjust_buffer_font_size(cx, |size| {
|
||||
*size += px(1.0);
|
||||
});
|
||||
if action.persist {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let _ = settings
|
||||
.buffer_font_size
|
||||
.insert(theme::get_buffer_font_size(cx).0);
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
move |_, _: &zed_actions::DecreaseBufferFontSize, _window, cx| {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let buffer_font_size = ThemeSettings::clamp_font_size(
|
||||
ThemeSettings::get_global(cx).buffer_font_size() - px(1.),
|
||||
);
|
||||
let _ = settings.buffer_font_size.insert(buffer_font_size.into());
|
||||
move |_, action: &zed_actions::DecreaseBufferFontSize, _window, cx| {
|
||||
theme::adjust_buffer_font_size(cx, |size| {
|
||||
*size -= px(1.0);
|
||||
});
|
||||
if action.persist {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, cx| {
|
||||
let _ = settings
|
||||
.buffer_font_size
|
||||
.insert(theme::get_buffer_font_size(cx).0);
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
move |_, _: &zed_actions::ResetBufferFontSize, _window, cx| {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, _| {
|
||||
let _ = settings.buffer_font_size.take();
|
||||
});
|
||||
move |_, action: &zed_actions::ResetBufferFontSize, _window, cx| {
|
||||
theme::reset_buffer_font_size(cx);
|
||||
if action.persist {
|
||||
update_settings_file::<ThemeSettings>(fs.clone(), cx, move |settings, _| {
|
||||
let _ = settings.buffer_font_size.take();
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action(install_cli)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue