File indexing completed on 2024-05-12 16:23:41
0001 // SPDX-FileCopyrightText: 2014 Sebastian Kügler <sebas@kde.org> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #include "browsermanager.h" 0006 0007 #include <QDebug> 0008 #include <QSettings> 0009 #include <QStandardPaths> 0010 #include <QUrl> 0011 #include <QQmlEngine> 0012 0013 #include <QCoro/QCoroTask> 0014 0015 #include "angelfishsettings.h" 0016 0017 BrowserManager *BrowserManager::s_instance = nullptr; 0018 0019 BrowserManager::BrowserManager(QObject *parent) 0020 : QObject(parent) 0021 , m_dbmanager(new DBManager(this)) 0022 { 0023 connect(m_dbmanager, &DBManager::databaseTableChanged, this, &BrowserManager::databaseTableChanged); 0024 } 0025 0026 void BrowserManager::addBookmark(const QVariantMap &bookmarkdata) 0027 { 0028 qDebug() << "Add bookmark"; 0029 qDebug() << " data: " << bookmarkdata; 0030 m_dbmanager->addBookmark(bookmarkdata); 0031 } 0032 0033 void BrowserManager::removeBookmark(const QString &url) 0034 { 0035 m_dbmanager->removeBookmark(url); 0036 } 0037 0038 void BrowserManager::addToHistory(const QVariantMap &pagedata) 0039 { 0040 // qDebug() << "Add History"; 0041 // qDebug() << " data: " << pagedata; 0042 m_dbmanager->addToHistory(pagedata); 0043 } 0044 0045 void BrowserManager::removeFromHistory(const QString &url) 0046 { 0047 m_dbmanager->removeFromHistory(url); 0048 } 0049 0050 void BrowserManager::clearHistory() 0051 { 0052 m_dbmanager->clearHistory(); 0053 } 0054 0055 void BrowserManager::updateLastVisited(const QString &url) 0056 { 0057 m_dbmanager->updateLastVisited(url); 0058 } 0059 0060 void BrowserManager::updateIcon(const QString &url, const QString &iconSource) 0061 { 0062 auto *engine = qmlEngine(this); 0063 Q_ASSERT(engine); 0064 m_dbmanager->updateIcon(engine, url, iconSource); 0065 } 0066 0067 QUrl BrowserManager::initialUrl() const 0068 { 0069 return m_initialUrl; 0070 } 0071 0072 QString BrowserManager::tempDirectory() const 0073 { 0074 return QStandardPaths::writableLocation(QStandardPaths::TempLocation); 0075 } 0076 0077 QString BrowserManager::downloadDirectory() const 0078 { 0079 return QStandardPaths::writableLocation(QStandardPaths::DownloadLocation); 0080 } 0081 0082 void BrowserManager::setInitialUrl(const QUrl &initialUrl) 0083 { 0084 m_initialUrl = initialUrl; 0085 Q_EMIT initialUrlChanged(); 0086 } 0087 0088 BrowserManager *BrowserManager::instance() 0089 { 0090 if (!s_instance) 0091 s_instance = new BrowserManager(); 0092 0093 return s_instance; 0094 } 0095 0096 #include "moc_browsermanager.cpp"