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 }