File indexing completed on 2024-04-14 14:30:04

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2002 Simon Hausmann <hausmann@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #ifndef KTOOLBARHANDLER_H
0009 #define KTOOLBARHANDLER_H
0010 
0011 #include <QObject>
0012 
0013 #include <kxmlguiclient.h>
0014 
0015 class KXmlGuiWindow;
0016 
0017 namespace KDEPrivate
0018 {
0019 class ToolBarHandler : public QObject, public KXMLGUIClient
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     /**
0025      * Creates a new tool bar handler for the supplied
0026      * @param mainWindow.
0027      */
0028     explicit ToolBarHandler(KXmlGuiWindow *mainWindow);
0029 
0030     /**
0031      * Creates a new tool bar handler for the supplied
0032      * @param mainWindow and with the supplied parent.
0033      */
0034     ToolBarHandler(KXmlGuiWindow *mainWindow, QObject *parent);
0035 
0036     /**
0037      * Destroys the tool bar handler.
0038      */
0039     ~ToolBarHandler() override;
0040 
0041     /**
0042      * Returns the action which is responsible for the tool bar menu.
0043      */
0044     QAction *toolBarMenuAction();
0045 
0046 public Q_SLOTS:
0047     void setupActions();
0048 
0049 private Q_SLOTS:
0050     void clientAdded(KXMLGUIClient *client);
0051 
0052 private:
0053     class Private;
0054     Private *const d;
0055 };
0056 
0057 } // namespace KDEPrivate
0058 
0059 #endif // KTOOLBARHANDLER_H