From b3fe556a3330902e8ff5add017b2095d4cb9a9b7 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Tue, 11 Aug 2026 20:37:49 +0200 Subject: [PATCH] simplify ctx set_state usage, remove i32 cast --- application/note/src/file.rs | 2 +- application/note/src/main.rs | 6 ++++++ application/note/src/note.rs | 16 ++++++++-------- application/note/src/window.rs | 2 +- ui-rs/src/ui/toolkit.rs | 16 ++++++++-------- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/application/note/src/file.rs b/application/note/src/file.rs index c6c19ca..f7b3ddb 100644 --- a/application/note/src/file.rs +++ b/application/note/src/file.rs @@ -216,7 +216,7 @@ impl FileNote { }; obj.splitview_set_visible(0, event.intval == 0); - doc.ctx.set_state(AppStates::NoteMaximized as i32); + doc.ctx.set_state(AppStates::NoteMaximized); } } diff --git a/application/note/src/main.rs b/application/note/src/main.rs index d97e6ff..14bbb7b 100644 --- a/application/note/src/main.rs +++ b/application/note/src/main.rs @@ -196,6 +196,12 @@ pub enum AppStates { NoteTitleInput, } +impl From for i32 { + fn from(state: AppStates) -> i32 { + state as i32 + } +} + fn username() -> String { env::var("USER") .or_else(|_| env::var("USERNAME")) diff --git a/application/note/src/note.rs b/application/note/src/note.rs index 03bca8a..fa100a6 100644 --- a/application/note/src/note.rs +++ b/application/note/src/note.rs @@ -153,9 +153,9 @@ impl Note { // the note is already opened in another window self.text.set_readonly(true); self.info.set("Note already opened in another window"); - doc.ctx.set_state(AppStates::NoteShowInfo as i32); + doc.ctx.set_state(AppStates::NoteShowInfo); } else { - doc.ctx.unset_state(AppStates::NoteShowInfo as i32); + doc.ctx.unset_state(AppStates::NoteShowInfo); } } @@ -163,7 +163,7 @@ impl Note { } else { self.lock = None; self.text.set_readonly(false); - doc.ctx.unset_state(AppStates::NoteTitleInput as i32); + doc.ctx.unset_state(AppStates::NoteTitleInput); } Some(()) @@ -310,7 +310,7 @@ impl Note { let Some(doc) = self.doc.get_doc() else { return; }; - doc.ctx.set_state(AppStates::NoteShowExtModInfo as i32); + doc.ctx.set_state(AppStates::NoteShowExtModInfo); } #[action] @@ -389,7 +389,7 @@ impl Note { let Some(doc) = self.doc.get_doc() else { return; }; - doc.ctx.set_state(AppStates::NoteTitleInput as i32); + doc.ctx.set_state(AppStates::NoteTitleInput); } #[action] @@ -397,7 +397,7 @@ impl Note { let Some(doc) = self.doc.get_doc() else { return; }; - doc.ctx.unset_state(AppStates::NoteTitleInput as i32); + doc.ctx.unset_state(AppStates::NoteTitleInput); } #[action] @@ -439,7 +439,7 @@ impl Note { }; obj.splitview_set_visible(0, event.intval == 0); - doc.ctx.set_state(AppStates::NoteMaximized as i32); + doc.ctx.set_state(AppStates::NoteMaximized); } #[action] @@ -453,7 +453,7 @@ impl Note { let Some(doc) = self.doc.get_doc() else { return; }; - doc.ctx.unset_state(AppStates::NoteShowExtModInfo as i32); + doc.ctx.unset_state(AppStates::NoteShowExtModInfo); } #[action] diff --git a/application/note/src/window.rs b/application/note/src/window.rs index 7e33025..03b452b 100644 --- a/application/note/src/window.rs +++ b/application/note/src/window.rs @@ -231,7 +231,7 @@ pub fn create_window(app: &App, ctx: &AppContext) -> UiObject>(&self, state: T) { unsafe { - ui_set_state(self.ptr, state); + ui_set_state(self.ptr, state.into()); } } - pub fn unset_state(&self, state: i32) { + pub fn unset_state>(&self, state: T) { unsafe { - ui_unset_state(self.ptr, state); + ui_unset_state(self.ptr, state.into()); } } - pub fn suppress_state(&self, state: i32) { + pub fn suppress_state>(&self, state: T) { unsafe { - ui_suppress_state(self.ptr, state); + ui_suppress_state(self.ptr, state.into()); } } - pub fn unsuppress_state(&self, state: i32) { + pub fn unsuppress_state>(&self, state: T) { unsafe { - ui_unsuppress_state(self.ptr, state); + ui_unsuppress_state(self.ptr, state.into()); } } } -- 2.52.0