16#include <xmlsettingsdialog/basesettingsmanager.h>
25 [] (
auto acc,
auto elem) { return acc + elem.value_or (0); });
58 result.reserve (list.size ());
59 for (
const auto&
var : list)
72 result.reserve (list.size ());
81 return [
f = std::forward<F> (f)] (
QEvent*, QObject&
pThis)
mutable
83 std::invoke (std::forward<F> (f));
107 using namespace std::chrono_literals;
109 &QSplitter::splitterMoved,
113 xsm.setProperty (id.c_str (), ToVariantList (splitter.sizes ()));
125 const auto scrollWidth =
header.style ()->pixelMetric (QStyle::PM_ScrollBarExtent);
126 const auto slack = 10;
134 using namespace std::chrono_literals;
136 [&
xsm =
params.XSM_,
id =
params.Id_, &
header] { xsm.setProperty (id.c_str (), header.saveState ()); });
137 QObject::connect (&
header,
138 &QHeaderView::sectionMoved,
140 QObject::connect (&
header,
141 &QHeaderView::sectionResized,
constexpr detail::ExprTree< detail::ExprType::LeafStaticPlaceholder, detail::MemberPtrs< Ptr > > f
Container< T > Filter(const Container< T > &c, F f)
void SetupStateSaver(QSplitter &splitter, const StateSaverParams ¶ms)
auto Throttled(std::chrono::milliseconds ms, QObject *parent, F &&f)
auto Visit(const Either< Left, Right > &either, Args &&... args)
std::variant< Widths, Factors > InitialDistr