diff --git a/repos/gems/src/app/sculpt_manager/depot_query.h b/repos/gems/src/app/sculpt_manager/depot_query.h index f9746d3cc4..905dab3f8f 100644 --- a/repos/gems/src/app/sculpt_manager/depot_query.h +++ b/repos/gems/src/app/sculpt_manager/depot_query.h @@ -72,6 +72,7 @@ static inline bool Sculpt::blueprint_rom_missing(Xml_node blueprint, Path const pkg.for_each_sub_node("missing_rom", [&] (Xml_node missing_rom) { /* ld.lib.so is always taken from the base system */ + using Label = String<64>; Label const label = missing_rom.attribute_value("label", Label()); if (label == "ld.lib.so") return; diff --git a/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h b/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h index d49246d3fa..1d55d6c880 100644 --- a/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h +++ b/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h @@ -125,8 +125,7 @@ class Dialog::Distant_runtime::View : private Views::Element Event::Seq_number _hover_seq_number { }; - template - void _with_dialog_hover(FN const &fn) const + void _with_dialog_hover(auto const &fn) const { bool done = false; @@ -254,6 +253,15 @@ class Dialog::Distant_runtime::View : private Views::Element { } void refresh() { _refresh_handler.local_submit(); } + + bool if_hovered(auto const &fn) const + { + bool result = false; + if (_dialog_hovered) + _with_dialog_hover([&] (Xml_node const &location) { + result = fn(Hovered_at { Event::Seq_number { }, location }); }); + return result; + } }; #endif /* _DIALOG__DISTANT_RUNTIME_H_ */ diff --git a/repos/gems/src/app/sculpt_manager/feature.h b/repos/gems/src/app/sculpt_manager/feature.h index 58f6cc975d..a37c53f3fb 100644 --- a/repos/gems/src/app/sculpt_manager/feature.h +++ b/repos/gems/src/app/sculpt_manager/feature.h @@ -29,9 +29,6 @@ struct Sculpt::Feature /* allow the browsing of file systems via the inspect view */ static constexpr bool INSPECT_VIEW = true; - - /* highlight hovered buttons, not possible on touch-screen devices */ - static constexpr bool VISUAL_HOVER = true; }; #endif /* _FEATURE_H_ */ diff --git a/repos/gems/src/app/sculpt_manager/graph.cc b/repos/gems/src/app/sculpt_manager/graph.cc index b847a9526e..24793d805e 100644 --- a/repos/gems/src/app/sculpt_manager/graph.cc +++ b/repos/gems/src/app/sculpt_manager/graph.cc @@ -70,7 +70,7 @@ struct Dialog::Selectable_node if (s.hovered()) s.attribute("hovered", "yes"); if (attr.selected) s.attribute("selected", "yes"); - s.sub_scope(attr.pretty_name); + s.sub_scope