132 lines
3.4 KiB
C++
132 lines
3.4 KiB
C++
/*
|
|
* SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.0-or-later
|
|
*/
|
|
|
|
#ifndef ENUMS_H
|
|
#define ENUMS_H
|
|
|
|
#include <QObject>
|
|
|
|
class ApplicationHeaderStyle : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum Status {
|
|
Auto = 0,
|
|
Breadcrumb,
|
|
Titles,
|
|
TabBar,
|
|
ToolBar, ///@since 5.48
|
|
None ///@since 5.48
|
|
};
|
|
Q_ENUM(Status)
|
|
|
|
enum NavigationButton {
|
|
NoNavigationButtons = 0,
|
|
ShowBackButton = 0x1,
|
|
ShowForwardButton = 0x2
|
|
};
|
|
Q_ENUM(NavigationButton)
|
|
Q_DECLARE_FLAGS(NavigationButtons, NavigationButton)
|
|
};
|
|
|
|
class MessageType : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum Type {
|
|
Information = 0,
|
|
Positive,
|
|
Warning,
|
|
Error
|
|
};
|
|
Q_ENUM(Type)
|
|
};
|
|
|
|
class DisplayHint : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/**
|
|
* Hints for implementations using Actions indicating preferences about how to display the action.
|
|
*/
|
|
enum Hint : uint {
|
|
/**
|
|
* Indicates there is no specific preference.
|
|
*/
|
|
NoPreference = 0,
|
|
/**
|
|
* Only display an icon for this Action.
|
|
*/
|
|
IconOnly = 1,
|
|
/**
|
|
* Try to keep the action visible even when space constrained.
|
|
* Mutually exclusive with AlwaysHide, KeepVisible has priority.
|
|
*/
|
|
KeepVisible = 2,
|
|
/**
|
|
* If possible, hide the action in an overflow menu or similar location.
|
|
* Mutually exclusive with KeepVisible, KeepVisible has priority.
|
|
*/
|
|
AlwaysHide = 4,
|
|
/**
|
|
* When this action has children, do not display any indicator (like a
|
|
* menu arrow) for this action.
|
|
*/
|
|
HideChildIndicator = 8
|
|
};
|
|
Q_DECLARE_FLAGS(DisplayHints, Hint)
|
|
Q_ENUM(Hint)
|
|
Q_FLAG(DisplayHints)
|
|
|
|
// Note: These functions are instance methods because they need to be
|
|
// exposed to QML. Unfortunately static methods are not supported.
|
|
|
|
/**
|
|
* Helper function to check if a certain display hint has been set.
|
|
*
|
|
* This function is mostly convenience to enforce certain behaviour of the
|
|
* various display hints, primarily the mutual exclusivity of KeepVisible
|
|
* and AlwaysHide.
|
|
*
|
|
* @param values The display hints to check.
|
|
* @param hint The display hint to check if it is set.
|
|
*
|
|
* @return true if the hint was set for this action, false if not.
|
|
*
|
|
* @since 2.14
|
|
*/
|
|
Q_INVOKABLE bool displayHintSet(DisplayHints values, Hint hint);
|
|
|
|
/**
|
|
* Check if a certain display hint has been set on an object.
|
|
*
|
|
* This overloads @f displayHintSet(DisplayHints, Hint) to accept a QObject
|
|
* instance. This object is checked to see if it has a displayHint property
|
|
* and if so, if that property has @p hint set.
|
|
*
|
|
* @param object The object to check.
|
|
* @param hint The hint to check for.
|
|
*
|
|
* @return false if object is null, object has no displayHint property or
|
|
* the hint was not set. true if it has the property and the hint is
|
|
* set.
|
|
*/
|
|
Q_INVOKABLE bool displayHintSet(QObject *object, Hint hint);
|
|
|
|
/**
|
|
* Static version of \f displayHintSet(DisplayHints, Hint) that can be
|
|
* called from C++ code.
|
|
*/
|
|
static bool isDisplayHintSet(DisplayHints values, Hint hint);
|
|
};
|
|
|
|
Q_DECLARE_OPERATORS_FOR_FLAGS(DisplayHint::DisplayHints)
|
|
|
|
#endif // ENUMS_H
|