breadcrumb bar icons

This commit is contained in:
nakst 2021-11-06 13:55:44 +00:00
parent fd2729c98d
commit 95e6cc1780
5 changed files with 5 additions and 1 deletions

View File

@ -1026,6 +1026,7 @@ int BreadcrumbBarMessage(EsElement *element, EsMessage *message) {
String path = PathGetParent(instance->folder->path, message->getBreadcrumb.index); String path = PathGetParent(instance->folder->path, message->getBreadcrumb.index);
NamespaceGetVisibleName(message->getBreadcrumb.buffer, path); NamespaceGetVisibleName(message->getBreadcrumb.buffer, path);
message->getBreadcrumb.icon = message->getBreadcrumb.index ? 0 : NamespaceGetIcon(path);
return ES_HANDLED; return ES_HANDLED;
} }

View File

@ -1716,6 +1716,7 @@ struct EsMessageNumberUpdated {
struct EsMessageGetBreadcrumb { struct EsMessageGetBreadcrumb {
uintptr_t index; // Set response to ES_REJECTED if this equals the number of breadcrumbs. uintptr_t index; // Set response to ES_REJECTED if this equals the number of breadcrumbs.
EsBuffer *buffer; EsBuffer *buffer;
uint32_t icon;
}; };
struct EsMessageEndEdit { struct EsMessageEndEdit {

View File

@ -4861,7 +4861,7 @@ void TextboxBreadcrumbOverlayRecreate(EsTextbox *textbox) {
m.getBreadcrumb.buffer = &buffer; m.getBreadcrumb.buffer = &buffer;
while (true) { while (true) {
buffer.position = 0; buffer.position = 0, m.getBreadcrumb.icon = 0;
int response = EsMessageSend(textbox, &m); int response = EsMessageSend(textbox, &m);
EsAssert(response != 0); // Must handle ES_MSG_TEXTBOX_GET_BREADCRUMB message for breadcrumb overlay. EsAssert(response != 0); // Must handle ES_MSG_TEXTBOX_GET_BREADCRUMB message for breadcrumb overlay.
if (response == ES_REJECTED) break; if (response == ES_REJECTED) break;
@ -4870,6 +4870,8 @@ void TextboxBreadcrumbOverlayRecreate(EsTextbox *textbox) {
ES_STYLE_BREADCRUMB_BAR_CRUMB, (char *) buffer.out, buffer.position); ES_STYLE_BREADCRUMB_BAR_CRUMB, (char *) buffer.out, buffer.position);
if (crumb) { if (crumb) {
EsButtonSetIcon(crumb, m.getBreadcrumb.icon);
crumb->userData = m.getBreadcrumb.index; crumb->userData = m.getBreadcrumb.index;
crumb->messageUser = [] (EsElement *element, EsMessage *message) { crumb->messageUser = [] (EsElement *element, EsMessage *message) {

Binary file not shown.

Binary file not shown.