File indexing completed on 2024-05-19 16:41:36

0001 /*
0002     SPDX-FileCopyrightText: 2007 Glenn Ergeerts <glenn.ergeerts@telenet.be>
0003     SPDX-FileCopyrightText: 2012 Marco Gulino <marco.gulino@xpeppers.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 #pragma once
0008 
0009 #include <QList>
0010 #include <QStandardPaths>
0011 #include <QString>
0012 
0013 class Favicon;
0014 class Profile
0015 {
0016 public:
0017     Profile(const QString &path, const QString &name, Favicon *favicon)
0018         : m_path(path)
0019         , m_name(name)
0020         , m_favicon(favicon)
0021     {
0022         // Remove "Bookmarks" from end of path
0023         m_faviconSource = path.chopped(9) + QStringLiteral("Favicons");
0024         m_faviconCache = QStringLiteral("%1/bookmarksrunner/KRunner-Chrome-Favicons-%2.sqlite")
0025                              .arg(QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation), name);
0026     }
0027     inline QString path() const
0028     {
0029         return m_path;
0030     }
0031     inline QString name() const
0032     {
0033         return m_name;
0034     }
0035     inline Favicon *favicon() const
0036     {
0037         return m_favicon;
0038     }
0039     inline QString faviconSource() const
0040     {
0041         return m_faviconSource;
0042     }
0043     inline QString faviconCache() const
0044     {
0045         return m_faviconCache;
0046     }
0047 
0048 private:
0049     QString m_path;
0050     QString m_name;
0051     Favicon *m_favicon;
0052     QString m_faviconSource;
0053     QString m_faviconCache;
0054 };
0055 
0056 class FindProfile
0057 {
0058 public:
0059     virtual QList<Profile> find() = 0;
0060     virtual ~FindProfile()
0061     {
0062     }
0063 };