/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #ifndef BOOKMARKSDIALOG_H #define BOOKMARKSDIALOG_H #include #include #include #include namespace Ui { class BookmarksDialog; } class BookmarksView; class BookmarkModel; class BookmarksWidget : public QWidget { Q_OBJECT public: explicit BookmarksWidget(const QString &path, QWidget *parent = nullptr); ~BookmarksWidget() override; const BookmarkModel *model() const { return m_model; }; protected: void editBookmark(const QModelIndex &index); signals: void openUrl(const QUrl &url); public slots: void save(); void addBookmark(const QString &title, const QString &url); void search(const QString &term, const std::function &callback) const; private: Ui::BookmarksDialog *ui; QString m_bookmarksPath; BookmarkModel *m_model; }; #endif // BOOKMARKSDIALOG_H