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"