Continue improving font adjustment settings (#24908)
Follow-up of https://github.com/zed-industries/zed/pull/24857 Based on the feedback, * made non-persisting font size change as a default in Zed keymaps JetBrains IDEs seem to persist font size changes by default, hence left to do so in Zed keymaps too * fixed a bug with holding a binding to change the font size caused flickering Release Notes: - N/A
This commit is contained in:
parent
c049df2a2e
commit
bd105a5fc7
4 changed files with 58 additions and 38 deletions
|
@ -541,12 +541,16 @@ fn register_actions(
|
|||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
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);
|
||||
let ui_font_size = theme::get_ui_font_size(cx) + px(1.0);
|
||||
let _ = settings
|
||||
.ui_font_size
|
||||
.insert(theme::clamp_font_size(ui_font_size).0);
|
||||
});
|
||||
} else {
|
||||
theme::adjust_ui_font_size(cx, |size| {
|
||||
*size += px(1.0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -554,12 +558,16 @@ fn register_actions(
|
|||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
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);
|
||||
let ui_font_size = theme::get_ui_font_size(cx) - px(1.0);
|
||||
let _ = settings
|
||||
.ui_font_size
|
||||
.insert(theme::clamp_font_size(ui_font_size).0);
|
||||
});
|
||||
} else {
|
||||
theme::adjust_ui_font_size(cx, |size| {
|
||||
*size -= px(1.0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -567,25 +575,28 @@ fn register_actions(
|
|||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
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();
|
||||
settings.ui_font_size = None;
|
||||
});
|
||||
} else {
|
||||
theme::reset_ui_font_size(cx);
|
||||
}
|
||||
}
|
||||
})
|
||||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
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 buffer_font_size = theme::get_buffer_font_size(cx) + px(1.0);
|
||||
let _ = settings
|
||||
.buffer_font_size
|
||||
.insert(theme::get_buffer_font_size(cx).0);
|
||||
.insert(theme::clamp_font_size(buffer_font_size).0);
|
||||
});
|
||||
} else {
|
||||
theme::adjust_buffer_font_size(cx, |size| {
|
||||
*size += px(1.0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -593,14 +604,16 @@ fn register_actions(
|
|||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
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 buffer_font_size = theme::get_buffer_font_size(cx) - px(1.0);
|
||||
let _ = settings
|
||||
.buffer_font_size
|
||||
.insert(theme::get_buffer_font_size(cx).0);
|
||||
.insert(theme::clamp_font_size(buffer_font_size).0);
|
||||
});
|
||||
} else {
|
||||
theme::adjust_buffer_font_size(cx, |size| {
|
||||
*size -= px(1.0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -608,11 +621,12 @@ fn register_actions(
|
|||
.register_action({
|
||||
let fs = app_state.fs.clone();
|
||||
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();
|
||||
settings.buffer_font_size = None;
|
||||
});
|
||||
} else {
|
||||
theme::reset_buffer_font_size(cx);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue