From 95e6cc1780742b2782d8b3c1ed36d2222f64e420 Mon Sep 17 00:00:00 2001 From: nakst <> Date: Sat, 6 Nov 2021 13:55:44 +0000 Subject: [PATCH] breadcrumb bar icons --- apps/file_manager/ui.cpp | 1 + desktop/os.header | 1 + desktop/text.cpp | 4 +++- res/Theme Source.dat | Bin 521128 -> 521128 bytes res/Theme.dat | Bin 29624 -> 29624 bytes 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/file_manager/ui.cpp b/apps/file_manager/ui.cpp index 705003d..9a66a9d 100644 --- a/apps/file_manager/ui.cpp +++ b/apps/file_manager/ui.cpp @@ -1026,6 +1026,7 @@ int BreadcrumbBarMessage(EsElement *element, EsMessage *message) { String path = PathGetParent(instance->folder->path, message->getBreadcrumb.index); NamespaceGetVisibleName(message->getBreadcrumb.buffer, path); + message->getBreadcrumb.icon = message->getBreadcrumb.index ? 0 : NamespaceGetIcon(path); return ES_HANDLED; } diff --git a/desktop/os.header b/desktop/os.header index ab43a19..1954fab 100644 --- a/desktop/os.header +++ b/desktop/os.header @@ -1716,6 +1716,7 @@ struct EsMessageNumberUpdated { struct EsMessageGetBreadcrumb { uintptr_t index; // Set response to ES_REJECTED if this equals the number of breadcrumbs. EsBuffer *buffer; + uint32_t icon; }; struct EsMessageEndEdit { diff --git a/desktop/text.cpp b/desktop/text.cpp index b0b95de..9242e5f 100644 --- a/desktop/text.cpp +++ b/desktop/text.cpp @@ -4861,7 +4861,7 @@ void TextboxBreadcrumbOverlayRecreate(EsTextbox *textbox) { m.getBreadcrumb.buffer = &buffer; while (true) { - buffer.position = 0; + buffer.position = 0, m.getBreadcrumb.icon = 0; int response = EsMessageSend(textbox, &m); EsAssert(response != 0); // Must handle ES_MSG_TEXTBOX_GET_BREADCRUMB message for breadcrumb overlay. if (response == ES_REJECTED) break; @@ -4870,6 +4870,8 @@ void TextboxBreadcrumbOverlayRecreate(EsTextbox *textbox) { ES_STYLE_BREADCRUMB_BAR_CRUMB, (char *) buffer.out, buffer.position); if (crumb) { + EsButtonSetIcon(crumb, m.getBreadcrumb.icon); + crumb->userData = m.getBreadcrumb.index; crumb->messageUser = [] (EsElement *element, EsMessage *message) { diff --git a/res/Theme Source.dat b/res/Theme Source.dat index 8173ec6747d8101448caf551dc167c96e0e164cf..5aa9b690f082d324de33ec2a0bdc0acd8199a6e4 100644 GIT binary patch delta 125 zcmZ4STzOh?%x02r-AVGBGTjzVR+o^mGLw=7`A` Z?s>FtkzfX579eH?Vz%vDB-p>)0sxV=aq0ApcbTH6D+n=1 bOulf>qkW46GZ3=?F)I+WZQmln{^b?`gHJWB diff --git a/res/Theme.dat b/res/Theme.dat index 6264c358cd3c8d68b9c15769fc2ab780cd8c2087..1dcddd3eab0ae28c3c1634892d78d55a10786073 100644 GIT binary patch delta 35 rcmdn-oN>o<#tjPmlLgcjHaqY;FtM{Ture?*FizgjBe{8jphOY?$>IsN delta 34 qcmdn-oN>o<#tjPmlbjSbJMcR&O