Changeset View
Changeset View
Standalone View
Standalone View
host/settings.cpp
Show All 36 Lines | |||||
37 | #include <config-host.h> | 37 | #include <config-host.h> | ||
38 | 38 | | |||
39 | const QMap<Settings::Environment, QString> Settings::environmentNames = { | 39 | const QMap<Settings::Environment, QString> Settings::environmentNames = { | ||
40 | {Settings::Environment::Chrome, QStringLiteral("chrome")}, | 40 | {Settings::Environment::Chrome, QStringLiteral("chrome")}, | ||
41 | {Settings::Environment::Chromium, QStringLiteral("chromium")}, | 41 | {Settings::Environment::Chromium, QStringLiteral("chromium")}, | ||
42 | {Settings::Environment::Firefox, QStringLiteral("firefox")}, | 42 | {Settings::Environment::Firefox, QStringLiteral("firefox")}, | ||
43 | {Settings::Environment::Opera, QStringLiteral("opera")}, | 43 | {Settings::Environment::Opera, QStringLiteral("opera")}, | ||
44 | {Settings::Environment::Vivaldi, QStringLiteral("vivaldi")}, | 44 | {Settings::Environment::Vivaldi, QStringLiteral("vivaldi")}, | ||
45 | {Settings::Environment::Brave, QStringLiteral("brave")} | ||||
45 | }; | 46 | }; | ||
46 | 47 | | |||
47 | const QMap<Settings::Environment, EnvironmentDescription> Settings::environmentDescriptions = { | 48 | const QMap<Settings::Environment, EnvironmentDescription> Settings::environmentDescriptions = { | ||
48 | {Settings::Environment::Chrome, { | 49 | {Settings::Environment::Chrome, { | ||
49 | QStringLiteral("google-chrome"), | 50 | QStringLiteral("google-chrome"), | ||
50 | QStringLiteral("Google Chrome"), | 51 | QStringLiteral("Google Chrome"), | ||
51 | QStringLiteral("google-chrome"), | 52 | QStringLiteral("google-chrome"), | ||
52 | QStringLiteral("google.com"), | 53 | QStringLiteral("google.com"), | ||
Show All 22 Lines | |||||
75 | } }, | 76 | } }, | ||
76 | {Settings::Environment::Vivaldi, { | 77 | {Settings::Environment::Vivaldi, { | ||
77 | QStringLiteral("vivaldi"), | 78 | QStringLiteral("vivaldi"), | ||
78 | QStringLiteral("Vivaldi"), | 79 | QStringLiteral("Vivaldi"), | ||
79 | // This is what the official package on their website uses | 80 | // This is what the official package on their website uses | ||
80 | QStringLiteral("vivaldi-stable"), | 81 | QStringLiteral("vivaldi-stable"), | ||
81 | QStringLiteral("vivaldi.com"), | 82 | QStringLiteral("vivaldi.com"), | ||
82 | QStringLiteral("Vivaldi") | 83 | QStringLiteral("Vivaldi") | ||
84 | } }, | ||||
85 | {Settings::Environment::Brave, { | ||||
86 | QStringLiteral("Brave"), | ||||
87 | QStringLiteral("Brave"), | ||||
88 | QStringLiteral("brave-browser"), | ||||
89 | QStringLiteral("brave.com"), | ||||
90 | QStringLiteral("Brave") | ||||
83 | } } | 91 | } } | ||
84 | }; | 92 | }; | ||
85 | 93 | | |||
86 | Settings::Settings() | 94 | Settings::Settings() | ||
87 | : AbstractBrowserPlugin(QStringLiteral("settings"), 1, nullptr) | 95 | : AbstractBrowserPlugin(QStringLiteral("settings"), 1, nullptr) | ||
88 | { | 96 | { | ||
89 | new SettingsAdaptor(this); | 97 | new SettingsAdaptor(this); | ||
90 | QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"), this); | 98 | QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"), this); | ||
Show All 38 Lines | 110 | if (event == QLatin1String("changed")) { | |||
129 | emit changed(data); | 137 | emit changed(data); | ||
130 | } else if (event == QLatin1String("openKRunnerSettings")) { | 138 | } else if (event == QLatin1String("openKRunnerSettings")) { | ||
131 | QProcess::startDetached(QStringLiteral("kcmshell5"), {QStringLiteral("kcm_plasmasearch")}); | 139 | QProcess::startDetached(QStringLiteral("kcmshell5"), {QStringLiteral("kcm_plasmasearch")}); | ||
132 | } else if (event == QLatin1String("setEnvironment")) { | 140 | } else if (event == QLatin1String("setEnvironment")) { | ||
133 | QString name = data[QStringLiteral("browserName")].toString(); | 141 | QString name = data[QStringLiteral("browserName")].toString(); | ||
134 | 142 | | |||
135 | // Most chromium-based browsers just impersonate Chromium nowadays to keep websites from locking them out | 143 | // Most chromium-based browsers just impersonate Chromium nowadays to keep websites from locking them out | ||
136 | // so we'll need to make an educated guess from our parent process | 144 | // so we'll need to make an educated guess from our parent process | ||
137 | if (name == QLatin1String("chromium")) { | 145 | if (name == QLatin1String("chromium") || name == QLatin1String("chrome")) { | ||
138 | const auto processInfo = KProcessList::processInfo(getppid()); | 146 | const auto processInfo = KProcessList::processInfo(getppid()); | ||
139 | if (processInfo.name().contains(QLatin1String("vivaldi"))) { | 147 | if (processInfo.name().contains(QLatin1String("vivaldi"))) { | ||
140 | name = QStringLiteral("vivaldi"); | 148 | name = QStringLiteral("vivaldi"); | ||
149 | } else if (processInfo.name().contains(QLatin1String("brave"))) { | ||||
150 | name = QStringLiteral("brave"); | ||||
141 | } | 151 | } | ||
142 | } | 152 | } | ||
143 | 153 | | |||
144 | m_environment = Settings::environmentNames.key(name, Settings::Environment::Unknown); | 154 | m_environment = Settings::environmentNames.key(name, Settings::Environment::Unknown); | ||
145 | m_currentEnvironment = Settings::environmentDescriptions.value(m_environment); | 155 | m_currentEnvironment = Settings::environmentDescriptions.value(m_environment); | ||
146 | 156 | | |||
147 | qApp->setApplicationName(m_currentEnvironment.applicationName); | 157 | qApp->setApplicationName(m_currentEnvironment.applicationName); | ||
148 | qApp->setApplicationDisplayName(m_currentEnvironment.applicationDisplayName); | 158 | qApp->setApplicationDisplayName(m_currentEnvironment.applicationDisplayName); | ||
▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines |