diff options
Diffstat (limited to 'src/views/dolphinurlnavigatorwidgetaction.h')
| -rw-r--r-- | src/views/dolphinurlnavigatorwidgetaction.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/views/dolphinurlnavigatorwidgetaction.h b/src/views/dolphinurlnavigatorwidgetaction.h new file mode 100644 index 000000000..5efd07f46 --- /dev/null +++ b/src/views/dolphinurlnavigatorwidgetaction.h @@ -0,0 +1,57 @@ +/* + * Copyright 2020 Felix Ernst <[email protected]> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) version 3, or any + * later version accepted by the membership of KDE e.V. (or its + * successor approved by the membership of KDE e.V.), which shall + * act as a proxy defined in Section 6 of version 3 of the license. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see <https://www.gnu.org/licenses/>. + */ + +#ifndef DOLPHINURLNAVIGATORWIDGETACTION_H +#define DOLPHINURLNAVIGATORWIDGETACTION_H + +#include "dolphinurlnavigator.h" + +#include <QWidgetAction> +#include <QStackedWidget> + +/** + * @brief QWidgetAction that allows to use a KUrlNavigator in a toolbar. + * + * When the UrlNavigator of this object is not in use, + * setUrlNavigatorVisible(false) is used to hide it. It will then be + * replaced in the toolbar by an empty expanding spacer. This makes sure + * that the other widgets in the toolbar will not change location when + * switching the UrlNavigators visibility. + */ +class DolphinUrlNavigatorWidgetAction : public QWidgetAction +{ + Q_OBJECT + +public: + DolphinUrlNavigatorWidgetAction(QWidget *parent = nullptr); + + DolphinUrlNavigator *urlNavigator() const; + + /** + * Set the QStackedWidget which is the defaultWidget() to either + * show a KUrlNavigator or an expanding spacer. + */ + void setUrlNavigatorVisible(bool visible); + +private: + QStackedWidget *m_stackedWidget; +}; + +#endif // DOLPHINURLNAVIGATORWIDGETACTION_H |
