File indexing completed on 2024-05-26 05:56:25
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2009 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef KASTEN_BOOKMARKSVIEW_HPP 0010 #define KASTEN_BOOKMARKSVIEW_HPP 0011 0012 // Qt 0013 #include <QWidget> 0014 0015 class QTreeView; 0016 class QAction; 0017 class QModelIndex; 0018 0019 namespace Kasten { 0020 0021 class BookmarkListModel; 0022 class BookmarksTool; 0023 0024 class BookmarksView : public QWidget 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit BookmarksView(BookmarksTool* tool, QWidget* parent = nullptr); 0030 ~BookmarksView() override; 0031 0032 public: 0033 BookmarksTool* tool() const; 0034 0035 private Q_SLOTS: 0036 void onBookmarkDoubleClicked(const QModelIndex& index); 0037 void onBookmarkSelectionChanged(); 0038 void onCreateBookmarkButtonClicked(); 0039 void onDeleteBookmarkButtonClicked(); 0040 void onGotoBookmarkButtonClicked(); 0041 void onRenameBookmarkButtonClicked(); 0042 0043 private: 0044 BookmarksTool* mTool; 0045 0046 BookmarkListModel* mBookmarkListModel; 0047 0048 QTreeView* mBookmarkListView; 0049 QAction* mCreateBookmarkAction; 0050 QAction* mDeleteBookmarksAction; 0051 QAction* mGotoBookmarkAction; 0052 QAction* mRenameBookmarkAction; 0053 }; 0054 0055 inline BookmarksTool* BookmarksView::tool() const { return mTool; } 0056 0057 } 0058 0059 #endif