]> uap-core.de Git - note.git/commitdiff
add missing toolbar item visibility_states arg main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 17 Jun 2026 17:57:27 +0000 (19:57 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 17 Jun 2026 17:57:27 +0000 (19:57 +0200)
application/src/main.rs
ui-rs/src/ui/icon.rs
ui-rs/src/ui/toolbar.rs
ui/common/icons.c
ui/ui/icons.h

index a4fff48ec185197fe347eb2ab83f1ee68376df39..2e7901b6651f699254a280f870418734f339bb3b 100644 (file)
@@ -151,10 +151,7 @@ fn create_toolbar(app: &AppContext<MainWindow>) {
     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::Add.as_str()).action("new_note").states(&[AppStates::NoteEnableNew as i32]).create();
-
-    app.toolbar_item("go_back2").icon(UiIconSet::GoBack.as_str()).action("go_back").create();
-    app.toolbar_item("go_forward2").icon(UiIconSet::GoForward.as_str()).action("go_forward").create();
-    app.toolbar_item("new_note2").icon(UiIconSet::Add.as_str()).action("new_note").states(&[AppStates::NoteEnableNew as i32]).create();
+    app.toolbar_item("show_list").icon(UiIconSet::List.as_str()).action("show_list").create();
 
     app.toolbar_add_default("new_notebook", ToolbarItemPosition::SidebarLeft);
     app.toolbar_add_default("go_back", ToolbarItemPosition::Left);
index 008763b8de708d6dacb1e5c5ea24852766bf446a..327ee094e90749cf11263ff98f9569f68a1b328d 100644 (file)
@@ -44,7 +44,8 @@ pub enum UiIconSet {
     GoBack,
     GoForward,
     GoUp,
-    GoDown
+    GoDown,
+    List
 }
 
 impl UiIconSet {
index f5d06184f2fddaba1d3a8a60fe056065d5d80b41..b6e4a7f7082435644e45d44810795f726f360059 100644 (file)
@@ -188,6 +188,13 @@ impl<T: UiModel + UiActions> ToolbarItemBuilder<T> {
         }
         self
     }
+
+    pub fn visibility_states(&mut self, states: &[i32]) -> &mut Self {
+        unsafe {
+            ui_toolbar_item_args_set_visibility_states(self.args, states.as_ptr(), states.len() as c_int);
+        }
+        self
+    }
 }
 
 impl<T: UiModel + UiActions> Drop for ToolbarToggleItemBuilder<T> {
@@ -255,6 +262,20 @@ impl<T: UiModel + UiActions> ToolbarToggleItemBuilder<T> {
         }
         self
     }
+
+    pub fn states(&mut self, states: &[i32]) -> &mut Self {
+        unsafe {
+            ui_toolbar_toggleitem_args_set_states(self.args, states.as_ptr(), states.len() as c_int);
+        }
+        self
+    }
+
+    pub fn visibility_states(&mut self, states: &[i32]) -> &mut Self {
+        unsafe {
+            ui_toolbar_toggleitem_args_set_visibility_states(self.args, states.as_ptr(), states.len() as c_int);
+        }
+        self
+    }
 }
 
 impl<T: UiModel + UiActions> Drop for ToolbarMenuItemBuilder<T> {
@@ -331,6 +352,7 @@ unsafe extern "C" {
     fn ui_toolbar_item_args_set_onclick(args: *mut UiToolbarItemArgs, onclick: UiCallback);
     fn ui_toolbar_item_args_set_onclickdata(args: *mut UiToolbarItemArgs, data: *mut c_void);
     fn ui_toolbar_item_args_set_states(args: *mut UiToolbarItemArgs, states: *const c_int, numstates: c_int);
+    fn ui_toolbar_item_args_set_visibility_states(args: *mut UiToolbarItemArgs, states: *const c_int, numstates: c_int);
     fn ui_toolbar_item_args_free(args: *mut UiToolbarItemArgs);
 
     fn ui_toolbar_toggleitem_args_new() -> *mut UiToolbarToggleItemArgs;
@@ -341,7 +363,8 @@ unsafe extern "C" {
     fn ui_toolbar_toggleitem_args_set_varname(args: *mut UiToolbarToggleItemArgs, varname: *const c_char);
     fn ui_toolbar_toggleitem_args_set_onchange(args: *mut UiToolbarToggleItemArgs, onclick: UiCallback);
     fn ui_toolbar_toggleitem_args_set_onchangedata(args: *mut UiToolbarToggleItemArgs, data: *mut c_void);
-    fn ui_toolbar_toggleitem_args_set_states(args: *mut UiToolbarToggleItemArgs, states: *mut c_int, numstates: c_int);
+    fn ui_toolbar_toggleitem_args_set_states(args: *mut UiToolbarToggleItemArgs, states: *const c_int, numstates: c_int);
+    fn ui_toolbar_toggleitem_args_set_visibility_states(args: *mut UiToolbarToggleItemArgs, states: *const c_int, numstates: c_int);
     fn ui_toolbar_toggleitem_args_free(args: *mut UiToolbarToggleItemArgs);
 
     fn ui_toolbar_menu_args_new() -> *mut UiToolbarMenuArgs;
index 26f604916b91f3ab8f5c5c540df5190c81852760..decf61648b3a28e56dd0ced42d2edff168e4cb3b 100644 (file)
@@ -44,6 +44,7 @@ const char* ui_icon_name(enum UiIconId icon_id) {
         case UI_ICON_ID_GO_FORWARD  : return UI_ICON_GO_FORWARD;
         case UI_ICON_ID_GO_UP       : return UI_ICON_GO_UP;
         case UI_ICON_ID_GO_DOWN     : return UI_ICON_GO_DOWN;
+        case UI_ICON_ID_LIST        : return UI_ICON_LIST;
     }
     return NULL;
 }
index 07feff60835d77e3c9ac9e3fe57bfb6e5c2ae5a5..326b5687db509c2c067a1aa5b843eeac9093258f 100644 (file)
@@ -51,6 +51,7 @@ extern "C" {
 #define UI_ICON_GO_FORWARD "go-next"
 #define UI_ICON_GO_UP "go-up"
 #define UI_ICON_GO_DOWN "go-down"
+#define UI_ICON_LIST "view-list"
     
 #endif /* UI_GTK */
     
@@ -70,6 +71,7 @@ extern "C" {
 #define UI_ICON_GO_FORWARD "go-next"
 #define UI_ICON_GO_UP "go-up"
 #define UI_ICON_GO_DOWN "go-down"
+#define UI_ICON_LIST "view-list"
     
 #endif /* UI_QT */
 
@@ -89,6 +91,7 @@ extern "C" {
 #define UI_ICON_GO_FORWARD "Forward"
 #define UI_ICON_GO_UP "Up"
 #define UI_ICON_GO_DOWN "" // TODO: implement workaround for missing down symbol
+#define UI_ICON_LIST "List"
     
 #endif /* UI_WINUI */
 
@@ -108,6 +111,7 @@ extern "C" {
 #define UI_ICON_GO_FORWARD "NSImageNameGoRightTemplate"
 #define UI_ICON_GO_UP ""
 #define UI_ICON_GO_DOWN ""
+#define UI_ICON_LIST ""
 
 #endif /* UI_COCOA */
     
@@ -127,6 +131,7 @@ extern "C" {
 #define UI_ICON_GO_FORWARD ""
 #define UI_ICON_GO_UP ""
 #define UI_ICON_GO_DOWN "" 
+#define UI_ICON_LIST ""
     
 #endif /* UI_MOTIF */
     
@@ -146,6 +151,7 @@ extern "C" {
 #define UI_ICON_GO_FORWARD ""
 #define UI_ICON_GO_UP ""
 #define UI_ICON_GO_DOWN "" 
+#define UI_ICON_LIST ""
     
 #endif /* UI_MOTIF */
     
@@ -164,7 +170,8 @@ enum UiIconId {
     UI_ICON_ID_GO_BACK,
     UI_ICON_ID_GO_FORWARD,
     UI_ICON_ID_GO_UP,
-    UI_ICON_ID_GO_DOWN
+    UI_ICON_ID_GO_DOWN,
+    UI_ICON_ID_LIST
 };
     
 UIEXPORT UiIcon* ui_icon(const char* name, size_t size);