File indexing completed on 2024-05-12 16:23:41
0001 // SPDX-FileCopyrightText: 2020 Rinigus <rinigus.git@gmail.com> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #ifndef URLOBSERVER_H 0006 #define URLOBSERVER_H 0007 0008 #include <QObject> 0009 0010 #include <QCoro/QCoroTask> 0011 0012 class UrlObserver : public QObject 0013 { 0014 Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) 0015 Q_PROPERTY(bool bookmarked READ bookmarked NOTIFY bookmarkedChanged) 0016 0017 Q_OBJECT 0018 public: 0019 explicit UrlObserver(QObject *parent = nullptr); 0020 0021 QString url() const; 0022 void setUrl(const QString &url); 0023 0024 bool bookmarked() const; 0025 0026 Q_SIGNALS: 0027 void urlChanged(const QString &url); 0028 void bookmarkedChanged(bool bookmarked); 0029 0030 private: 0031 void onDatabaseTableChanged(const QString &table); 0032 QCoro::Task<> updateBookmarked(); 0033 0034 private: 0035 QString m_url; 0036 bool m_bookmarked = false; 0037 }; 0038 0039 #endif // URLOBSERVER_H