Lagrange [release]
SidebarWidget: Disable menu items for remote bookmarks
[1mdiff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c[m
[1mindex 3b7e7d4b..4c7435c5 100644[m
[1m--- a/src/ui/sidebarwidget.c[m
[1m+++ b/src/ui/sidebarwidget.c[m
[36m@@ -1069,6 +1069,25 @@[m [mstatic iBool processEvent_SidebarWidget_(iSidebarWidget *d, const SDL_Event *ev)[m
}[m
}[m
if (hoverItem_ListWidget(d->list) || isVisible_Widget(d->menu)) {[m
[32m+[m[32m /* Update the menu before opening. */[m
[32m+[m[32m if (d->mode == bookmarks_SidebarMode && !isVisible_Widget(d->menu)) {[m
[32m+[m[32m /* Remote bookmarks have limitations. */[m
[32m+[m[32m const iSidebarItem *hoverItem = hoverItem_ListWidget(d->list);[m
[32m+[m[32m iAssert(hoverItem);[m
[32m+[m[32m const iBookmark * bm = get_Bookmarks(bookmarks_App(), hoverItem->id);[m
[32m+[m[32m const iBool isRemote = hasTag_Bookmark(bm, "remote");[m
[32m+[m[32m static const char *localOnlyCmds[] = { "bookmark.edit",[m
[32m+[m[32m "bookmark.delete",[m
[32m+[m[32m "bookmark.tag tag:subscribed",[m
[32m+[m[32m "bookmark.tag tag:homepage",[m
[32m+[m[32m "bookmark.tag tag:remotesource",[m
[32m+[m[32m "bookmark.tag tag:subscribed" };[m
[32m+[m[32m iForIndices(i, localOnlyCmds) {[m
[32m+[m[32m setFlags_Widget(as_Widget(findMenuItem_Widget(d->menu, localOnlyCmds[i])),[m
[32m+[m[32m disabled_WidgetFlag,[m
[32m+[m[32m isRemote);[m
[32m+[m[32m }[m
[32m+[m[32m }[m
processContextMenuEvent_Widget(d->menu, ev, {});[m
}[m
return processEvent_Widget(w, ev);[m