forked from 1b-agent/opencadstudio-upstream
feat(options): interface scale for the whole window
On a non-Retina screen macOS draws the interface at 1x, which reads small on a Full HD monitor, and there was no way to enlarge it. Options > Display now offers an interface scale of 75–200 % in 25 % steps, applied through the window's scale factor on top of the display's own and kept with the user settings. It is a list rather than a slider because the dialog rescales under the pointer as the value changes. Fixes #1655 Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
ff5bfc8c47
commit
340104bf1b
29 files changed
+65
No files matched your search
@@ -1451,6 +1451,7 @@ common =
|
||||
.zoom = التكبير
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = عكس التكبير بعجلة الفأرة (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = لوحة اللمس: التمرير يحرك العرض، Ctrl+تمرير أو القرص يكبّر
|
||||
.interface-scale = مقياس الواجهة
|
||||
.zoom-factor = معامل التكبير
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = مقدار التكبير لكل درجة من العجلة (ZOOMFACTOR).
|
||||
.text-and-dimensions = النص والأبعاد
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = Мащабиране
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Обръщане на мащабирането с колелцето (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Тъчпад: превъртането мести изгледа, Ctrl+превъртане или щипване мащабира
|
||||
.interface-scale = Мащаб на интерфейса
|
||||
.zoom-factor = Коефициент на мащабиране
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Колко мащабира едно щракване на колелцето (ZOOMFACTOR).
|
||||
.text-and-dimensions = Текст и размери
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Obrátit zoom kolečkem myši (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: posun posouvá pohled, Ctrl+posun nebo sevření zvětšuje
|
||||
.interface-scale = Měřítko rozhraní
|
||||
.zoom-factor = Faktor zoomu
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = O kolik přiblíží jeden zub kolečka (ZOOMFACTOR).
|
||||
.text-and-dimensions = Text a kóty
|
||||
|
||||
@@ -1439,6 +1439,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Mausradzoom umkehren (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: Scrollen verschiebt, Strg+Scrollen oder Zusammenziehen zoomt
|
||||
.interface-scale = Oberflächenskalierung
|
||||
.zoom-factor = Zoomfaktor
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Wie weit eine Radrastung zoomt (ZOOMFACTOR).
|
||||
.text-and-dimensions = Text und Bemaßung
|
||||
|
||||
@@ -1440,6 +1440,7 @@ common =
|
||||
.zoom = Ζουμ
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Αντιστροφή ζουμ με τον τροχό (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Επιφάνεια αφής: η κύλιση μετακινεί, Ctrl+κύλιση ή τσίμπημα κάνει ζουμ
|
||||
.interface-scale = Κλίμακα διεπαφής
|
||||
.zoom-factor = Συντελεστής ζουμ
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Πόσο ζουμάρει ένα σκαλί του τροχού (ZOOMFACTOR).
|
||||
.text-and-dimensions = Κείμενο και διαστάσεις
|
||||
|
||||
@@ -1440,6 +1440,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Reverse mouse wheel zoom (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: scroll pans, Ctrl+scroll or pinch zooms
|
||||
.interface-scale = Interface scale
|
||||
.zoom-factor = Zoom factor
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = How far one wheel notch zooms (ZOOMFACTOR).
|
||||
.text-and-dimensions = Text and Dimensions
|
||||
|
||||
@@ -1439,6 +1439,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Invertir el zoom de la rueda del ratón (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Panel táctil: el desplazamiento encuadra, Ctrl+desplazamiento o pellizco hace zoom
|
||||
.interface-scale = Escala de la interfaz
|
||||
.zoom-factor = Factor de zoom
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Cuánto amplía un paso de la rueda (ZOOMFACTOR).
|
||||
.text-and-dimensions = Texto y acotación
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = Zoomaus
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Käännä hiiren rullan zoomaus (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Kosketuslevy: vieritys panoroi, Ctrl+vieritys tai nipistys zoomaa
|
||||
.interface-scale = Käyttöliittymän skaalaus
|
||||
.zoom-factor = Zoomauskerroin
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Kuinka paljon yksi rullan pykälä zoomaa (ZOOMFACTOR).
|
||||
.text-and-dimensions = Teksti ja mitoitus
|
||||
|
||||
@@ -1439,6 +1439,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Inverser le zoom à la molette (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Pavé tactile : le défilement déplace, Ctrl+défilement ou pincement zoome
|
||||
.interface-scale = Échelle de l'interface
|
||||
.zoom-factor = Facteur de zoom
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = De combien zoome un cran de molette (ZOOMFACTOR).
|
||||
.text-and-dimensions = Texte et cotation
|
||||
|
||||
@@ -1427,6 +1427,7 @@ common =
|
||||
.zoom = ज़ूम
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = माउस व्हील ज़ूम उलटें (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = टचपैड: स्क्रॉल पैन करता है, Ctrl+स्क्रॉल या पिंच ज़ूम करता है
|
||||
.interface-scale = इंटरफ़ेस स्केल
|
||||
.zoom-factor = ज़ूम गुणक
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = व्हील का एक पायदान कितना ज़ूम करता है (ZOOMFACTOR)।
|
||||
.text-and-dimensions = पाठ और आयाम
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = Nagyítás
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Egérgörgős nagyítás megfordítása (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Érintőpad: a görgetés mozgat, a Ctrl+görgetés vagy csippentés nagyít
|
||||
.interface-scale = Felület mérete
|
||||
.zoom-factor = Nagyítási tényező
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Mennyit nagyít egy görgőkattanás (ZOOMFACTOR).
|
||||
.text-and-dimensions = Szöveg és méretezés
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Inverti lo zoom con la rotellina (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: lo scorrimento sposta la vista, Ctrl+scorrimento o pizzico esegue lo zoom
|
||||
.interface-scale = Scala dell'interfaccia
|
||||
.zoom-factor = Fattore di zoom
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Di quanto ingrandisce uno scatto della rotellina (ZOOMFACTOR).
|
||||
.text-and-dimensions = Testo e quote
|
||||
|
||||
@@ -1429,6 +1429,7 @@ common =
|
||||
.zoom = ズーム
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = マウス ホイールのズーム方向を反転 (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = タッチパッド: スクロールで画面移動、Ctrl+スクロールまたはピンチでズーム
|
||||
.interface-scale = インターフェースの拡大率
|
||||
.zoom-factor = ズーム倍率
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = ホイール 1 ノッチのズーム量 (ZOOMFACTOR)。
|
||||
.text-and-dimensions = 文字と寸法
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = 줌
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = 마우스 휠 줌 방향 반전 (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 터치패드: 스크롤은 화면 이동, Ctrl+스크롤 또는 핀치는 확대/축소
|
||||
.interface-scale = 인터페이스 배율
|
||||
.zoom-factor = 줌 배율
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = 휠 한 칸이 확대하는 정도 (ZOOMFACTOR).
|
||||
.text-and-dimensions = 문자 및 치수
|
||||
|
||||
@@ -1440,6 +1440,7 @@ common =
|
||||
.zoom = ຊູມ
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = ສະຫຼັບທິດທາງການໝຸນລໍ້ເມົາສ໌ຊູມ (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = ທັດແພດ: ເລື່ອນເພື່ອຍ້າຍມຸມມອງ, Ctrl+ເລື່ອນ ຫຼື ບີບເພື່ອຊູມ
|
||||
.interface-scale = ຂະໜາດສ່ວນຕິດຕໍ່
|
||||
.zoom-factor = ຕົວຄູນການຊູມ
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = ໄລຍະຊູມຕໍ່ການໝຸນລໍ້ເມົາສ໌ໜຶ່ງຄລິກ (ZOOMFACTOR).
|
||||
.text-and-dimensions = ຂໍ້ຄວາມ ແລະ ຂະໜາດ
|
||||
|
||||
@@ -1437,6 +1437,7 @@ common =
|
||||
.zoom = Zoomen
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Muiswielzoom omkeren (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: scrollen verschuift, Ctrl+scrollen of knijpen zoomt
|
||||
.interface-scale = Interfaceschaal
|
||||
.zoom-factor = Zoomfactor
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Hoeveel één wielklik zoomt (ZOOMFACTOR).
|
||||
.text-and-dimensions = Tekst en maatvoering
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = Powiększenie
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Odwróć powiększanie kółkiem myszy (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: przewijanie przesuwa widok, Ctrl+przewijanie lub szczypanie powiększa
|
||||
.interface-scale = Skala interfejsu
|
||||
.zoom-factor = Współczynnik powiększenia
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = O ile powiększa jedno kliknięcie kółka (ZOOMFACTOR).
|
||||
.text-and-dimensions = Tekst i wymiary
|
||||
|
||||
@@ -1439,6 +1439,7 @@ common =
|
||||
.zoom = Zoom
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Inverter o zoom da roda do mouse (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: rolar move a vista, Ctrl+rolar ou pinçar aplica zoom
|
||||
.interface-scale = Escala da interface
|
||||
.zoom-factor = Fator de zoom
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Quanto um passo da roda amplia (ZOOMFACTOR).
|
||||
.text-and-dimensions = Texto e cotas
|
||||
|
||||
@@ -1442,6 +1442,7 @@ common =
|
||||
.zoom = Зумирование
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Обратить зумирование колесом мыши (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Тачпад: прокрутка панорамирует, Ctrl+прокрутка или щипок масштабирует
|
||||
.interface-scale = Масштаб интерфейса
|
||||
.zoom-factor = Коэффициент зумирования
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Насколько приближает один щелчок колеса (ZOOMFACTOR).
|
||||
.text-and-dimensions = Текст и размеры
|
||||
|
||||
@@ -1425,6 +1425,7 @@ common =
|
||||
.zoom = Yakınlaştırma
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = Fare tekerleği yakınlaştırmasını ters çevir (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Dokunmatik yüzey: kaydırma kaydırır, Ctrl+kaydırma veya sıkıştırma yakınlaştırır
|
||||
.interface-scale = Arayüz ölçeği
|
||||
.zoom-factor = Yakınlaştırma çarpanı
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = Bir tekerlek adımının ne kadar yakınlaştıracağı (ZOOMFACTOR).
|
||||
.text-and-dimensions = Metin ve ölçülendirme
|
||||
|
||||
@@ -1426,6 +1426,7 @@ common =
|
||||
.zoom = 缩放
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = 反转鼠标滚轮缩放方向 (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 触控板:滚动平移,Ctrl+滚动或捏合缩放
|
||||
.interface-scale = 界面缩放
|
||||
.zoom-factor = 缩放系数
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = 滚轮每格的缩放幅度 (ZOOMFACTOR)。
|
||||
.text-and-dimensions = 文字和标注
|
||||
|
||||
@@ -1438,6 +1438,7 @@ common =
|
||||
.zoom = 縮放
|
||||
.reverse-mouse-wheel-zoom-zoomwheel = 反轉滑鼠滾輪縮放方向 (ZOOMWHEEL)
|
||||
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 觸控板:捲動平移,Ctrl+捲動或捏合縮放
|
||||
.interface-scale = 介面縮放
|
||||
.zoom-factor = 縮放係數
|
||||
.how-far-one-wheel-notch-zooms-zoomfactor = 滾輪每一格的縮放幅度 (ZOOMFACTOR)。
|
||||
.text-and-dimensions = 文字與標註
|
||||
|
||||
@@ -561,6 +561,8 @@ pub(super) struct OpenCADStudio {
|
||||
zoom_wheel_reversed: bool,
|
||||
/// Scroll pans and Ctrl+scroll zooms (touchpads); see `scroll_intent`.
|
||||
touchpad_pan: bool,
|
||||
/// Interface scale in percent, applied through the window scale factor.
|
||||
ui_scale_percent: u16,
|
||||
/// Mouse-wheel zoom sensitivity (ZOOMFACTOR), held inside
|
||||
/// `settings::ZOOM_FACTOR_MIN..=settings::ZOOM_FACTOR_MAX`. `SETVAR`
|
||||
/// only sets the range the system variable itself has; the Options
|
||||
@@ -2378,6 +2380,8 @@ pub enum Message {
|
||||
/// Toggle reversing the mouse-wheel zoom direction (ZOOMWHEEL).
|
||||
ZoomWheelReversedChanged(bool),
|
||||
TouchpadPanChanged(bool),
|
||||
/// Interface scale in percent (Options > Display).
|
||||
UiScaleChanged(u16),
|
||||
/// Change how far one wheel notch zooms, from the Options slider
|
||||
/// (ZOOMFACTOR).
|
||||
ZoomFactorChanged(i32),
|
||||
@@ -4161,6 +4165,7 @@ impl OpenCADStudio {
|
||||
polar_increment_deg: 45.0,
|
||||
zoom_wheel_reversed: false,
|
||||
touchpad_pan: false,
|
||||
ui_scale_percent: 100,
|
||||
zoom_factor: 60,
|
||||
zoom_factor_input: 60.to_string(),
|
||||
cursor_size: 5,
|
||||
@@ -4904,6 +4909,7 @@ pub fn run() -> iced::Result {
|
||||
..iced::Settings::default()
|
||||
})
|
||||
.subscription(OpenCADStudio::subscription)
|
||||
.scale_factor(|state: &OpenCADStudio, _| f32::from(state.ui_scale_percent) / 100.0)
|
||||
.title(|state: &OpenCADStudio, window_id: window::Id| {
|
||||
let _ = window_id; // all dialogs are in-canvas modals now
|
||||
if let Some(tab) = state.tabs.get(state.active_tab) {
|
||||
|
||||
@@ -183,6 +183,11 @@ pub const ZOOM_FACTOR_MAX: i32 = 500;
|
||||
/// Hold a ZOOMFACTOR inside the range the application can store, wherever it
|
||||
/// arrives from — the slider, the Options field, or a configuration file
|
||||
/// written by hand or by an older build.
|
||||
/// Interface scale in percent, kept to the range the Options slider offers.
|
||||
pub fn clamp_ui_scale(percent: u16) -> u16 {
|
||||
percent.clamp(75, 200)
|
||||
}
|
||||
|
||||
pub fn clamp_zoom_factor(v: i32) -> i32 {
|
||||
v.clamp(ZOOM_FACTOR_MIN, ZOOM_FACTOR_MAX)
|
||||
}
|
||||
@@ -391,6 +396,8 @@ pub struct UserSettings {
|
||||
/// Scrolling pans and Ctrl+scroll (a touchpad pinch) zooms, for a
|
||||
/// touchpad that reports two-finger drags as wheel scrolls.
|
||||
pub touchpad_pan: bool,
|
||||
/// Interface scale in percent, on top of the display's own scale.
|
||||
pub ui_scale_percent: u16,
|
||||
pub zoom_factor: i32,
|
||||
/// CURSORSIZE: normalized crosshair reach; 5 retains the original 60 px arms.
|
||||
pub cursor_size: i32,
|
||||
@@ -811,6 +818,7 @@ impl Default for UserSettings {
|
||||
polar_increment_deg: 45.0,
|
||||
zoom_wheel_reversed: false,
|
||||
touchpad_pan: false,
|
||||
ui_scale_percent: 100,
|
||||
zoom_factor: 60,
|
||||
cursor_size: 5,
|
||||
pick_box: 3,
|
||||
|
||||
@@ -663,6 +663,7 @@ impl OpenCADStudio {
|
||||
polar_increment_deg: self.polar_increment_deg,
|
||||
zoom_wheel_reversed: self.zoom_wheel_reversed,
|
||||
touchpad_pan: self.touchpad_pan,
|
||||
ui_scale_percent: self.ui_scale_percent,
|
||||
zoom_factor: self.zoom_factor,
|
||||
cursor_size: self.cursor_size,
|
||||
pick_box: self.pick_box,
|
||||
@@ -764,6 +765,7 @@ impl OpenCADStudio {
|
||||
self.polar_increment_deg = s.polar_increment_deg;
|
||||
self.zoom_wheel_reversed = s.zoom_wheel_reversed;
|
||||
self.touchpad_pan = s.touchpad_pan;
|
||||
self.ui_scale_percent = crate::app::settings::clamp_ui_scale(s.ui_scale_percent);
|
||||
self.zoom_factor = crate::app::settings::clamp_zoom_factor(s.zoom_factor);
|
||||
// Like the drafting-rotation field below, the Options field edits a
|
||||
// buffer rather than the value, so it is reseeded whenever the value
|
||||
|
||||
@@ -8391,6 +8391,12 @@ impl OpenCADStudio {
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::UiScaleChanged(percent) => {
|
||||
self.ui_scale_percent = crate::app::settings::clamp_ui_scale(percent);
|
||||
self.persist_settings_if_changed();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::ZoomFactorChanged(factor) => {
|
||||
self.zoom_factor = crate::app::settings::clamp_zoom_factor(factor);
|
||||
// The field beside the slider reads the same value, so the
|
||||
|
||||
@@ -317,6 +317,7 @@ impl OpenCADStudio {
|
||||
commandline_fade_ms: self.commandline_fade_ms,
|
||||
zoom_wheel_reversed: self.zoom_wheel_reversed,
|
||||
touchpad_pan: self.touchpad_pan,
|
||||
ui_scale_percent: self.ui_scale_percent,
|
||||
zoom_factor: self.zoom_factor,
|
||||
texteditmode: self.texteditmode,
|
||||
dimension_continue_mode: self.dimension_continue_mode,
|
||||
|
||||
@@ -4798,6 +4798,7 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
|
||||
"Zoom" => Some(("common", "zoom")),
|
||||
"Reverse mouse wheel zoom (ZOOMWHEEL)" => Some(("common", "reverse-mouse-wheel-zoom-zoomwheel")),
|
||||
"Touchpad: scroll pans, Ctrl+scroll or pinch zooms" => Some(("common", "touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms")),
|
||||
"Interface scale" => Some(("common", "interface-scale")),
|
||||
"Zoom factor" => Some(("common", "zoom-factor")),
|
||||
"How far one wheel notch zooms (ZOOMFACTOR)." => Some(("common", "how-far-one-wheel-notch-zooms-zoomfactor")),
|
||||
"Text and Dimensions" => Some(("common", "text-and-dimensions")),
|
||||
|
||||
@@ -61,6 +61,8 @@ pub struct AppPrefs {
|
||||
pub zoom_wheel_reversed: bool,
|
||||
/// Scroll pans and Ctrl+scroll zooms (touchpads).
|
||||
pub touchpad_pan: bool,
|
||||
/// Interface scale in percent.
|
||||
pub ui_scale_percent: u16,
|
||||
/// ZOOMFACTOR. The slider sets the range the system variable has; the
|
||||
/// field beside it reaches `settings::ZOOM_FACTOR_MAX`.
|
||||
pub zoom_factor: i32,
|
||||
@@ -679,6 +681,23 @@ pub fn view_window<'a>(
|
||||
.width(sizing.width),
|
||||
Space::new().height(12),
|
||||
color_controls,
|
||||
Space::new().height(16),
|
||||
// A list, not a slider: the dialog rescales under the cursor as the
|
||||
// value changes, which would drag a slider along with it.
|
||||
row![
|
||||
text(crate::t!("Interface scale")).size(12).width(150),
|
||||
iced::widget::pick_list(
|
||||
Some(format!("{}%", prefs.ui_scale_percent)),
|
||||
[75u16, 100, 125, 150, 175, 200].map(|p| format!("{p}%")).to_vec(),
|
||||
|label: &String| label.clone(),
|
||||
)
|
||||
.on_select(|label: String| {
|
||||
Message::UiScaleChanged(label.trim_end_matches('%').parse().unwrap_or(100))
|
||||
})
|
||||
.width(sizing.width),
|
||||
]
|
||||
.spacing(12)
|
||||
.align_y(iced::Center),
|
||||
Space::new().height(24),
|
||||
row![
|
||||
text(crate::t!("Model Space Appearance")).size(15),
|
||||
|
||||
Reference in new issue
Block a user