mirror of
https://github.com/nimbold/Firelink.git
synced 2026-08-13 13:06:52 +00:00
feat(ui): add cross-platform window control styles
Persist automatic and explicit macOS, Windows, GNOME, and minimal control presets with localized settings and platform-aware fallback. Refs #31
This commit is contained in:
@@ -214,6 +214,23 @@ pub enum Theme {
|
||||
Nord,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, TS)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
#[ts(export, export_to = "../../src/bindings/")]
|
||||
pub enum WindowControlStyle {
|
||||
Auto,
|
||||
Macos,
|
||||
Windows,
|
||||
Gnome,
|
||||
Minimal,
|
||||
}
|
||||
|
||||
impl Default for WindowControlStyle {
|
||||
fn default() -> Self {
|
||||
Self::Auto
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, TS)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
#[ts(export, export_to = "../../src/bindings/")]
|
||||
@@ -295,6 +312,8 @@ pub struct SchedulerSettings {
|
||||
pub struct PersistedSettings {
|
||||
pub theme: Theme,
|
||||
#[serde(default)]
|
||||
pub window_control_style: WindowControlStyle,
|
||||
#[serde(default)]
|
||||
pub calendar_preference: CalendarPreference,
|
||||
#[serde(default = "default_language_preference")]
|
||||
pub language: String,
|
||||
|
||||
Reference in New Issue
Block a user