File indexing completed on 2024-04-21 03:55:59

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #include "enums.h"
0008 
0009 #include "moc_enums.cpp"
0010 
0011 #include <QVariant>
0012 
0013 bool DisplayHint::displayHintSet(DisplayHints values, Hint hint)
0014 {
0015     return isDisplayHintSet(values, hint);
0016 }
0017 
0018 bool DisplayHint::displayHintSet(QObject *object, DisplayHint::Hint hint)
0019 {
0020     if (!object) {
0021         return false;
0022     }
0023 
0024     auto property = object->property("displayHint");
0025     if (property.isValid()) {
0026         return isDisplayHintSet(DisplayHints{property.toInt()}, hint);
0027     } else {
0028         return false;
0029     }
0030 }
0031 
0032 bool DisplayHint::isDisplayHintSet(DisplayHint::DisplayHints values, DisplayHint::Hint hint)
0033 {
0034     if (hint == DisplayHint::AlwaysHide && (values & DisplayHint::KeepVisible)) {
0035         return false;
0036     }
0037 
0038     return values & hint;
0039 }