kossebau added a comment.
In https://phabricator.kde.org/D3987#78427, @kfunk wrote: > In https://phabricator.kde.org/D3987#78420, @kossebau wrote: > > > In https://phabricator.kde.org/D3987#78383, @dfaure wrote: > > > > > I agree. But it's the default value anyway, so why not remove it completely, thus making everyone happy? > > > > > > What do you mean by "remove"? In the samples from a few comments above, the `0` (or now `nullptr`) is used as (default) value for an argument: > > > > + NETWinInfo info(QX11Info::connection(), win, QX11Info::appRootWindow(), nullptr, nullptr); > > + explicit KProgressDialog(QWidget *parent = nullptr, const QString &caption = QString(), > > + const QString &text = QString(), Qt::WindowFlags flags = nullptr); > > + QCOMPARE(QStringList(queryUrl.queryItems(nullptr).keys()).join(", "), > > + KLocale::TimeFormatOptions timeOptions = nullptr, > > > > > > How could that be removed here? Unless you mean replacing with the default constructor of the flags type? That might be even better for human readers at least, agreed :) Though not sure how easy that fix-up is, but maybe the clang artist knows what to do? > > > `Qt::WindowFlags flags = {}`, or > `Qt::WindowFlags flags = Qt::WindowFlags()` "What to do" was about how to create a diff automatically :) Have to say, personally I am used to the `0` to denote a bitmask without any bit set, and would assume quite some other people as well. Not sure if `{}` would be an improvement for the human reader, being another pattern to learn. But assuming we want to avoid `0` as value for QFlags-based types, when comparing NETWinInfo info(QX11Info::connection(), win, QX11Info::appRootWindow(), {}, {}); explicit KProgressDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &text = QString(), Qt::WindowFlags flags = {}); QCOMPARE(QStringList(queryUrl.queryItems({}).keys()).join(", "), KLocale::TimeFormatOptions timeOptions = {}, with NETWinInfo info(QX11Info::connection(), win, QX11Info::appRootWindow(), NET::Properties(), NET::Properties2()); explicit KProgressDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &text = QString(), Qt::WindowFlags flags = Qt::WindowFlags()); QCOMPARE(QStringList(queryUrl.queryItems(KUrl::QueryItemsOptions()).keys()).join(", "), KLocale::TimeFormatOptions timeOptions = KLocale::TimeFormatOptions(), it might be nice to use `{}` for default values, as the type is given already, and the explicit constructor for arguments when calling methods, as it adds information in the code itself. My 2 cents. In the end I was okay with `0`, just am unhappy with `nullptr` being used for QFlags values, for the reasons given :) REPOSITORY R280 Prison REVISION DETAIL https://phabricator.kde.org/D3987 EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: kfunk, #frameworks, dfaure, kossebau Cc: kossebau, dfaure, graesslin