Move window controls into the title bar
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,7 @@ pub struct AppPreferences {
|
||||
pub endpoint_port: i32,
|
||||
pub endpoint_enabled: bool,
|
||||
pub endpoint_cors: bool,
|
||||
pub sidebar_collapsed: bool,
|
||||
}
|
||||
|
||||
impl Default for AppPreferences {
|
||||
@@ -96,6 +97,7 @@ impl Default for AppPreferences {
|
||||
endpoint_port: 4000,
|
||||
endpoint_enabled: true,
|
||||
endpoint_cors: false,
|
||||
sidebar_collapsed: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -431,6 +433,14 @@ impl Database {
|
||||
.map_err(|error| error.to_string())
|
||||
}
|
||||
|
||||
pub fn set_sidebar_collapsed(&mut self, collapsed: bool) -> Result<(), String> {
|
||||
diesel::update(preferences::table.find(1))
|
||||
.set(preferences::sidebar_collapsed.eq(collapsed))
|
||||
.execute(&mut self.connection)
|
||||
.map(|_| ())
|
||||
.map_err(|error| error.to_string())
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub fn update_preferences(
|
||||
&mut self,
|
||||
@@ -840,12 +850,15 @@ mod tests {
|
||||
let loaded = database.load_projects().unwrap();
|
||||
assert_eq!(loaded[0].sessions[0].id, ordinary);
|
||||
|
||||
database.set_sidebar_collapsed(true).unwrap();
|
||||
|
||||
database.delete_project(project.id).unwrap();
|
||||
assert!(database.load_projects().unwrap().is_empty());
|
||||
drop(database);
|
||||
|
||||
let mut reopened = Database::open(&path).unwrap();
|
||||
let preferences = reopened.load_preferences().unwrap();
|
||||
assert!(preferences.sidebar_collapsed);
|
||||
assert_eq!(preferences.selected_model, "glm-5.2");
|
||||
assert_eq!(preferences.idle_timeout_minutes, 30);
|
||||
assert_eq!(preferences.endpoint_port, 4567);
|
||||
|
||||
Reference in New Issue
Block a user