File indexing completed on 2024-05-05 17:45:00

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 
0008 #include "browserfactory.h"
0009 #include "browsers/browser.h"
0010 #include "browsers/chrome.h"
0011 #include "browsers/chromefindprofile.h"
0012 #include "browsers/falkon.h"
0013 #include "browsers/firefox.h"
0014 #include "browsers/konqueror.h"
0015 #include "browsers/opera.h"
0016 
0017 Browser *BrowserFactory::find(const QString &browserName, QObject *parent)
0018 {
0019     if (m_previousBrowserName == browserName) {
0020         return m_previousBrowser;
0021     }
0022     delete m_previousBrowser;
0023     m_previousBrowserName = browserName;
0024     if (browserName.contains(QLatin1String("firefox"), Qt::CaseInsensitive) || browserName.contains(QLatin1String("iceweasel"), Qt::CaseInsensitive)) {
0025         m_previousBrowser = new Firefox(QDir::homePath() + QStringLiteral("/.mozilla/firefox"), parent);
0026     } else if (browserName.contains(QLatin1String("opera"), Qt::CaseInsensitive)) {
0027         m_previousBrowser = new Opera(parent);
0028     } else if (browserName.contains(QLatin1String("chrome"), Qt::CaseInsensitive)) {
0029         m_previousBrowser = new Chrome(new FindChromeProfile(QStringLiteral("google-chrome"), QDir::homePath(), parent), parent);
0030     } else if (browserName.contains(QLatin1String("chromium"), Qt::CaseInsensitive)) {
0031         m_previousBrowser = new Chrome(new FindChromeProfile(QStringLiteral("chromium"), QDir::homePath(), parent), parent);
0032     } else if (browserName.contains(QLatin1String("falkon"), Qt::CaseInsensitive)) {
0033         m_previousBrowser = new Falkon(parent);
0034     } else {
0035         m_previousBrowser = new Konqueror(parent);
0036     }
0037 
0038     return m_previousBrowser;
0039 }
0040 
0041 BrowserFactory::BrowserFactory(QObject *parent)
0042     : QObject(parent)
0043     , m_previousBrowser(nullptr)
0044     , m_previousBrowserName(QStringLiteral("invalid"))
0045 {
0046 }