X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fwidgethelpers.h;h=9ca6189a33834cc5ba4633aa09129c22a32c9a56;hp=22f9f9ce497a3bba4dfd64f95ad34df935cfc194;hb=c1cf157116de7fc3da96203aa6f03c38c7ebb650;hpb=30b159cb876a9495de42e9a3e70ca050516f0805 diff --git a/src/uisupport/widgethelpers.h b/src/uisupport/widgethelpers.h index 22f9f9ce..9ca6189a 100644 --- a/src/uisupport/widgethelpers.h +++ b/src/uisupport/widgethelpers.h @@ -45,28 +45,28 @@ namespace detail { * Contains all supported widget changed signals. */ static const auto supportedWidgetChangedSignals = std::make_tuple( - &ColorButton::colorChanged, - &FontSelector::fontChanged, - &QAbstractButton::toggled, - selectOverload(&QComboBox::currentIndexChanged), - selectOverload(&QDoubleSpinBox::valueChanged), - &QGroupBox::toggled, - &QLineEdit::textChanged, - selectOverload(&QSpinBox::valueChanged), - &QTextEdit::textChanged + &ColorButton::colorChanged, + &FontSelector::fontChanged, + &QAbstractButton::toggled, + selectOverload(&QComboBox::currentIndexChanged), + selectOverload(&QDoubleSpinBox::valueChanged), + &QGroupBox::toggled, + &QLineEdit::textChanged, + selectOverload(&QSpinBox::valueChanged), + &QTextEdit::textChanged ); /** * Tries to find a changed signal that matches the given widget type, and connects that to the given receiver/slot. */ -template +template bool tryConnectChangedSignal(const QObject* widget, const Receiver* receiver, Slot slot, std::index_sequence) { // Tries to cast the given QObject to the given signal's class type, and connects to receiver/slot if successful. // If *alreadyConnected is true, just returns false to prevent multiple connections. static const auto tryConnect = [](const QObject* object, auto sig, auto receiver, auto slot, bool* alreadyConnected) { if (!*alreadyConnected) { - auto widget = qobject_cast::ClassType *>(object); + auto widget = qobject_cast::ClassType*>(object); if (widget) { *alreadyConnected = QObject::connect(widget, sig, receiver, slot); return *alreadyConnected; @@ -77,11 +77,11 @@ bool tryConnectChangedSignal(const QObject* widget, const Receiver* receiver, Sl // Unpack the tuple and try to connect to each contained signal in order bool alreadyConnected{false}; - auto results = { tryConnect(widget, std::get(supportedWidgetChangedSignals), receiver, slot, &alreadyConnected)... }; + auto results = {tryConnect(widget, std::get(supportedWidgetChangedSignals), receiver, slot, &alreadyConnected)...}; return std::any_of(results.begin(), results.end(), [](bool result) { return result; }); } -} //detail +} // namespace detail /** * Connects the given widget's changed signal to the given receiver/context and slot. @@ -98,7 +98,9 @@ bool tryConnectChangedSignal(const QObject* widget, const Receiver* receiver, Sl template bool connectToWidgetChangedSignal(const QObject* widget, const Receiver* receiver, Slot slot) { - return detail::tryConnectChangedSignal(widget, receiver, slot, + return detail::tryConnectChangedSignal(widget, + receiver, + slot, std::make_index_sequence::value>{}); } @@ -119,8 +121,11 @@ bool connectToWidgetsChangedSignals(const Container& widgets, const Receiver* re { bool success = true; for (auto&& widget : widgets) { - success &= detail::tryConnectChangedSignal(widget, receiver, slot, - std::make_index_sequence::value>{}); + success &= detail::tryConnectChangedSignal(widget, + receiver, + slot, + std::make_index_sequence< + std::tuple_size::value>{}); } return success; }