]> uap-core.de Git - note.git/commitdiff
change icon arg type from &str to Into<String> main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 9 Sep 2026 17:00:31 +0000 (19:00 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 9 Sep 2026 17:00:31 +0000 (19:00 +0200)
application/note/src/main.rs
ui-rs/src/ui/button.rs
ui-rs/src/ui/icon.rs
ui-rs/src/ui/menu.rs
ui-rs/src/ui/toolbar.rs

index a8cc9f277f9f95aa735ef84afb78c0a18a7cfa1c..767d66afb1c22759603f26aa8e46877347805fc8 100644 (file)
@@ -155,17 +155,17 @@ fn create_menubar(app: &AppContext<MainWindow>) {
 }
 
 fn create_toolbar(app: &AppContext<MainWindow>) {
-    app.toolbar_item("new_notebook").icon(UiIconSet::NewFolder.as_str()).action("new_notebook").create();
-    app.toolbar_item("go_back").icon(UiIconSet::GoBack.as_str()).action("go_back").create();
-    app.toolbar_item("go_forward").icon(UiIconSet::GoForward.as_str()).action("go_forward").create();
-    app.toolbar_item("new_note").icon(UiIconSet::NewDocument.as_str()).action("new_note").states(&[AppStates::NoteEnableNew as i32]).create();
+    app.toolbar_item("new_notebook").icon(UiIconSet::NewFolder).action("new_notebook").create();
+    app.toolbar_item("go_back").icon(UiIconSet::GoBack).action("go_back").create();
+    app.toolbar_item("go_forward").icon(UiIconSet::GoForward).action("go_forward").create();
+    app.toolbar_item("new_note").icon(UiIconSet::NewDocument).action("new_note").states(&[AppStates::NoteEnableNew as i32]).create();
     app.toolbar_content_toggleitem("note_maximize")
-        .icon0(UiIconSet::ViewFullscreen.as_str())
-        .icon1(UiIconSet::ViewRestore.as_str())
+        .icon0(UiIconSet::ViewFullscreen)
+        .icon1(UiIconSet::ViewRestore)
         .action("notebook_view_changed")
         .varname("note_maximized")
         .create();
-    app.toolbar_item("add_attachment").icon(UiIconSet::Add.as_str()).action("add_attachment").create();
+    app.toolbar_item("add_attachment").icon(UiIconSet::Add).action("add_attachment").create();
 
     app.toolbar_add_default("new_notebook", ToolbarItemPosition::SidebarLeft);
     app.toolbar_add_default("go_back", ToolbarItemPosition::Left);
index 02147da8877214c37251b55c3b5f38dc6417a6fa..da7362d3c1a8cef0199ed69e82553ebe60c3648b 100644 (file)
@@ -375,8 +375,8 @@ impl<'a, T> ButtonBuilder<'a, T> {
         self
     }
 
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
-        let cstr = CString::new(icon).unwrap();
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
+        let cstr = CString::new(icon.into()).unwrap();
         unsafe {
             ui_button_args_set_icon(self.args, cstr.as_ptr());
         }
@@ -555,8 +555,8 @@ impl<'a, T> ToggleBuilder<'a, T> {
         self
     }
 
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
-        let cstr = CString::new(icon).unwrap();
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
+        let cstr = CString::new(icon.into()).unwrap();
         unsafe {
             ui_toggle_args_set_icon(self.args, cstr.as_ptr());
         }
@@ -751,8 +751,8 @@ impl<'a, T> ContentToggleBuilder<'a, T> {
         self
     }
 
-    pub fn icon0(&mut self, icon: &str) -> &mut Self {
-        let cstr = CString::new(icon).unwrap();
+    pub fn icon0(&mut self, icon: impl Into<String>) -> &mut Self {
+        let cstr = CString::new(icon.into()).unwrap();
         unsafe {
             ui_content_toggle_args_set_icon0(self.args, cstr.as_ptr());
         }
@@ -775,8 +775,8 @@ impl<'a, T> ContentToggleBuilder<'a, T> {
         self
     }
 
-    pub fn icon1(&mut self, icon: &str) -> &mut Self {
-        let cstr = CString::new(icon).unwrap();
+    pub fn icon1(&mut self, icon: impl Into<String>) -> &mut Self {
+        let cstr = CString::new(icon.into()).unwrap();
         unsafe {
             ui_content_toggle_args_set_icon1(self.args, cstr.as_ptr());
         }
index 78fcc23b9a212edccc81d02d5bbde9b029595e36..a4161e095aa1a2fd11be156277988480f55cb36c 100644 (file)
@@ -104,6 +104,12 @@ impl UiIconSet {
     }
 }
 
+impl From<UiIconSet> for String {
+    fn from(icon: UiIconSet) -> Self {
+        icon.as_str().to_string()
+    }
+}
+
 unsafe extern "C" {
     fn ui_icon_name(id: i32) ->  *const c_char ;
 }
\ No newline at end of file
index 8926d33b143149080c5387bd1ccab372e47b41e9..4f14145d9d31b65b7a9c5bb795ea83645466397d 100644 (file)
@@ -143,9 +143,9 @@ impl<T: UiModel + UiActions> MenuItemBuilder<T> {
             ui_menuitem_create(self.args);
         }
     }
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_menuitem_args_set_icon(self.args, cstr.as_ptr());
         }
         self
@@ -186,9 +186,9 @@ impl<T: UiModel + UiActions> MenuToggleItemBuilder<T> {
             (self.create)(self.args);
         }
     }
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_menutoggleitem_args_set_icon(self.args, cstr.as_ptr());
         }
         self
index 54678cd5e049a32ad993ef5e1c643e3b810cad96..d73571496b67d808019bfb657ad1b93241c6d4de 100644 (file)
@@ -164,9 +164,9 @@ impl<T: UiModel + UiActions> ToolbarItemBuilder<T> {
         self
     }
 
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_toolbar_item_args_set_icon(self.args, cstr.as_ptr());
         }
         self
@@ -237,9 +237,9 @@ impl<T: UiModel + UiActions> ToolbarToggleItemBuilder<T> {
         self
     }
 
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_toolbar_toggleitem_args_set_icon(self.args, cstr.as_ptr());
         }
         self
@@ -310,9 +310,9 @@ impl<T: UiModel + UiActions> ToolbarContentToggleItemBuilder<T> {
         self
     }
 
-    pub fn icon0(&mut self, icon: &str) -> &mut Self {
+    pub fn icon0(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_toolbar_content_toggleitem_args_set_icon0(self.args, cstr.as_ptr());
         }
         self
@@ -334,9 +334,9 @@ impl<T: UiModel + UiActions> ToolbarContentToggleItemBuilder<T> {
         self
     }
 
-    pub fn icon1(&mut self, icon: &str) -> &mut Self {
+    pub fn icon1(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_toolbar_content_toggleitem_args_set_icon1(self.args, cstr.as_ptr());
         }
         self
@@ -436,9 +436,9 @@ impl<T: UiModel + UiActions> ToolbarMenuItemBuilder<T> {
         self
     }
 
-    pub fn icon(&mut self, icon: &str) -> &mut Self {
+    pub fn icon(&mut self, icon: impl Into<String>) -> &mut Self {
         unsafe {
-            let cstr = CString::new(icon).unwrap();
+            let cstr = CString::new(icon.into()).unwrap();
             ui_toolbar_menu_args_set_icon(self.args, cstr.as_ptr());
         }
         self