X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2FMainView.cpp;h=99c9355053652253527d727961ba751041dbb898;hp=3bef1040a88bb160939b685cd2fbf10635f69844;hb=2c380f75b275780859774f3947db39cdf6f4f021;hpb=44cd064cb213ad693223ca117fe346d8b78456d6 diff --git a/src/MainView.cpp b/src/MainView.cpp index 3bef104..99c9355 100644 --- a/src/MainView.cpp +++ b/src/MainView.cpp @@ -28,6 +28,7 @@ #include "helpers/UserAgentHelper.h" // Qt framework headers. +#include #include MainView::MainView(QWidget *parent) : QWidget(parent) @@ -92,15 +93,9 @@ MainView::MainView(QWidget *parent) : QWidget(parent) // Don't allow JavaScript to open windows. webEngineSettingsPointer->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, false); - // Set the zoom factor. - webEngineViewPointer->setZoomFactor(Settings::zoomFactor()); - // Apply the application settings. applyApplicationSettings(); - // Apply the domain settings. `false` does not reload the website. - applyDomainSettings(false); - // Set the focus on the WebEngine view. webEngineViewPointer->setFocus(); @@ -120,9 +115,13 @@ MainView::MainView(QWidget *parent) : QWidget(parent) } } -void MainView::applyApplicationSettings() const +void MainView::applyApplicationSettings() { - // TODO. + // Set the search engine URL. + searchEngineUrl = SearchEngineHelper::getSearchUrl(Settings::searchEngine()); + + // Emit the search engine updated signal, which causes the on-the-fly menu to be updated. + emit searchEngineUpdated(Settings::searchEngine()); } // This exists as a separate function from `applyDomainSettings()` so it can be listed as a slot and function without the need for a boolean argument. @@ -157,6 +156,12 @@ void MainView::applyDomainSettings(bool reloadWebsite) const // Apply the user agent. webEngineProfilePointer->setHttpUserAgent(UserAgentHelper::getUserAgent(Settings::userAgent())); + // Emit the user agent updated signal, which causes the on-the-fly menu to be updated. + emit userAgentUpdated(Settings::userAgent()); + + // Set the zoom factor. + webEngineViewPointer->setZoomFactor(Settings::zoomFactor()); + // Reload the website if requested. if (reloadWebsite) { @@ -164,6 +169,33 @@ void MainView::applyDomainSettings(bool reloadWebsite) const } } +void MainView::applyOnTheFlySearchEngine(QAction *searchEngineActionPointer) +{ + // Store the search engine name. + QString searchEngineName = searchEngineActionPointer->text(); + + // Strip out any `&` characters. + searchEngineName.remove('&'); + + // Store the search engine string. + searchEngineUrl = SearchEngineHelper::getSearchUrl(searchEngineName); +} + +void MainView::applyOnTheFlyUserAgent(QAction *userAgentActionPointer) const +{ + // Get the user agent name. + QString userAgentName = userAgentActionPointer->text(); + + // Strip out any `&` characters. + userAgentName.remove('&'); + + // Apply the user agent. + webEngineProfilePointer->setHttpUserAgent(UserAgentHelper::getUserAgent(userAgentName)); + + // Reload the website. + webEngineViewPointer->reload(); +} + void MainView::goHome() const { // Load the homepage. @@ -191,7 +223,7 @@ void MainView::loadUrlFromTextBox(QString urlFromUser) const else // The text is likely a search. { // Load the search. - webEngineViewPointer->setUrl(QUrl::fromUserInput(SearchEngineHelper::getSearchUrl(Settings::searchEngine()) + urlFromUser)); + webEngineViewPointer->setUrl(QUrl::fromUserInput(searchEngineUrl + urlFromUser)); } }