2 * Copyright 2020 Felix Ernst <fe.a.ernst@gmail.com>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) version 3, or any
8 * later version accepted by the membership of KDE e.V. (or its
9 * successor approved by the membership of KDE e.V.), which shall
10 * act as a proxy defined in Section 6 of version 3 of the license.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library. If not, see <https://www.gnu.org/licenses/>.
21 #ifndef DOLPHINURLNAVIGATORWIDGETACTION_H
22 #define DOLPHINURLNAVIGATORWIDGETACTION_H
24 #include "dolphinurlnavigator.h"
26 #include <QWidgetAction>
27 #include <QStackedWidget>
30 * @brief QWidgetAction that allows to use a KUrlNavigator in a toolbar.
32 * When the UrlNavigator of this object is not in use,
33 * setUrlNavigatorVisible(false) is used to hide it. It will then be
34 * replaced in the toolbar by an empty expanding spacer. This makes sure
35 * that the other widgets in the toolbar will not change location when
36 * switching the UrlNavigators visibility.
38 class DolphinUrlNavigatorWidgetAction
: public QWidgetAction
43 DolphinUrlNavigatorWidgetAction(QWidget
*parent
= nullptr);
45 DolphinUrlNavigator
*urlNavigator() const;
48 * Set the QStackedWidget which is the defaultWidget() to either
49 * show a KUrlNavigator or an expanding spacer.
51 void setUrlNavigatorVisible(bool visible
);
54 QStackedWidget
*m_stackedWidget
;
57 #endif // DOLPHINURLNAVIGATORWIDGETACTION_H