From 1b1e327cb73491c17972a33a07c3c9beafe7f938 Mon Sep 17 00:00:00 2001 From: aqua Date: Sun, 18 Sep 2022 09:57:29 +0300 Subject: Add Navigation and Tab toolbars --- src/panels/bookmarkstoolbar.hpp | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/panels/bookmarkstoolbar.hpp (limited to 'src/panels/bookmarkstoolbar.hpp') diff --git a/src/panels/bookmarkstoolbar.hpp b/src/panels/bookmarkstoolbar.hpp new file mode 100644 index 00000000..6aaa750a --- /dev/null +++ b/src/panels/bookmarkstoolbar.hpp @@ -0,0 +1,58 @@ +/* ============================================================ + * The rekonq project + * ============================================================ + * SPDX-License-Identifier: GPL-2.0-or-later + * Copyright (C) 2008-2013 by Andrea Diamantini + * Copyright (C) 2010 by Yoann Laissus + * SPDX-License-Identifier: GPL-3.0-only + * Copyright (C) 2022 aqua + * ============================================================ */ + +#pragma once + +#include "rekonq.hpp" +#include + +class BookmarksTreeModel; + +/** + * This class manage the bookmark toolbar. + * Some events from the toolbar are handled to allow the drag and drop + */ +class BookmarkToolBar : public QToolBar { + Q_OBJECT + +public: + explicit BookmarkToolBar(QWidget *parent = nullptr); + ~BookmarkToolBar() override = default; + + void setModel(BookmarksTreeModel *ptr) + { + Q_CHECK_PTR(ptr); + model = ptr; + } + +signals: + void loadUrl(const QUrl &url, rekonq::OpenType type); + +protected: + void showEvent(QShowEvent *event) override; + // bool eventFilter(QObject *watched, QEvent *event); + +private slots: + // void contextMenu(const QPoint &); + // void menuDisplayed(); + // void menuHidden(); + // void hideMenu(); + // void dragDestroyed(); + +private: + BookmarksTreeModel *model = nullptr; + void startDrag(); + + QPoint m_startDragPos; + QAction *m_dragAction = nullptr; + QAction *m_dropAction = nullptr; + QAction *m_checkedAction = nullptr; + bool m_filled = false; +}; -- cgit v1.2.1