From: Olaf Wintermann Date: Wed, 17 Jun 2026 17:57:27 +0000 (+0200) Subject: add missing toolbar item visibility_states arg X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=HEAD;p=note.git add missing toolbar item visibility_states arg --- diff --git a/application/src/main.rs b/application/src/main.rs index a4fff48..2e7901b 100644 --- a/application/src/main.rs +++ b/application/src/main.rs @@ -151,10 +151,7 @@ fn create_toolbar(app: &AppContext) { 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); diff --git a/ui-rs/src/ui/icon.rs b/ui-rs/src/ui/icon.rs index 008763b..327ee09 100644 --- a/ui-rs/src/ui/icon.rs +++ b/ui-rs/src/ui/icon.rs @@ -44,7 +44,8 @@ pub enum UiIconSet { GoBack, GoForward, GoUp, - GoDown + GoDown, + List } impl UiIconSet { diff --git a/ui-rs/src/ui/toolbar.rs b/ui-rs/src/ui/toolbar.rs index f5d0618..b6e4a7f 100644 --- a/ui-rs/src/ui/toolbar.rs +++ b/ui-rs/src/ui/toolbar.rs @@ -188,6 +188,13 @@ impl ToolbarItemBuilder { } 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 Drop for ToolbarToggleItemBuilder { @@ -255,6 +262,20 @@ impl ToolbarToggleItemBuilder { } 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 Drop for ToolbarMenuItemBuilder { @@ -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; diff --git a/ui/common/icons.c b/ui/common/icons.c index 26f6049..decf616 100644 --- a/ui/common/icons.c +++ b/ui/common/icons.c @@ -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; } diff --git a/ui/ui/icons.h b/ui/ui/icons.h index 07feff6..326b568 100644 --- a/ui/ui/icons.h +++ b/ui/ui/icons.h @@ -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);