1 /*
2     This file is part of the KDE libraries
3     SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
4 
5     SPDX-License-Identifier: LGPL-2.0-only
6 */
7 
8 #ifndef KTOOLBARSPACERACTION_H
9 #define KTOOLBARSPACERACTION_H
10 
11 #include <QWidgetAction>
12 #include <memory>
13 
14 #include <kwidgetsaddons_export.h>
15 
16 class QWidget;
17 
18 /**
19  * @class KToolBarSpacerAction ktoolbarspaceraction.h KToolBarSpacerAction
20  *
21  * An extension to QAction which allows for adding a spacer item into a
22  * QToolBar / KToolBar.
23  *
24  * This is useful if you want to align at the right (or left if RTL) and
25  * need something that pushes the element to the end of the tool bar.
26  *
27  * @author Hamish Rodda <rodda@kde.org>
28  */
29 class KWIDGETSADDONS_EXPORT KToolBarSpacerAction : public QWidgetAction
30 {
31     Q_OBJECT
32 
33 public:
34     /**
35      * Creates a new toolbar spacer action.
36      *
37      * @param parent The action's parent object.
38      */
39     explicit KToolBarSpacerAction(QObject *parent);
40 
41     ~KToolBarSpacerAction() override;
42 
43     /**
44      * Reimplemented from QWidgetAction.
45      */
46     QWidget *createWidget(QWidget *parent) override;
47 
48 private:
49     std::unique_ptr<class KToolBarSpacerActionPrivate> const d;
50 };
51 
52 #endif
53