diff options
author | aqua <aqua@iserlohn-fortress.net> | 2022-08-16 09:00:40 +0300 |
---|---|---|
committer | aqua <aqua@iserlohn-fortress.net> | 2022-08-16 09:00:40 +0300 |
commit | 7a760b5d20f17de449665ee4fb26059c196489e3 (patch) | |
tree | be8d41f452529ab52cbbc10eed28a04f16d00a08 /src/application.cpp | |
parent | Add third-party/SingleApplication (diff) | |
download | rekonq-7a760b5d20f17de449665ee4fb26059c196489e3.tar.xz |
Add rView and WebView
Diffstat (limited to 'src/application.cpp')
-rw-r--r-- | src/application.cpp | 177 |
1 files changed, 61 insertions, 116 deletions
diff --git a/src/application.cpp b/src/application.cpp index 41cf1dab..54a7db88 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -6,103 +6,46 @@ * SPDX-License-Identifier: GPL-3.0-only * Copyright (C) 2022 aqua <aqua@iserlohn-fortress.net> * ============================================================ - * Description: Application Entry Point + * Description: Application Main Class * ============================================================ */ #include "application.h" -#include "rekonq.hpp" - -// Ui Includes -#include "ui_webappcreation.h" - -// Local Includes -#include "searchengine.h" - -#include "tabbar.h" -#include "rekonqwindow.h" - -#include "webwindow.h" -#include "webtab.h" -#include "webpage.h" - -#include "urlresolver.h" - -// Local Manager(s) Includes -#include "adblockmanager.h" -#include "downloadmanager.h" -#include "historymanager.h" -#include "iconmanager.h" -#include "sessionmanager.h" - -// Ui Includes -#include "ui_cleardata.h" - -// KDE Includes -#include <KCmdLineArgs> - -#include <KDialog> -#include <KProcess> -#include <KPushButton> -#include <KStandardDirs> -#include <KWindowSystem> -#include <KWindowInfo> -#include <KStartupInfo> - -#include <KMessageBox> - -#include <config-kactivities.h> -#ifdef HAVE_KACTIVITIES -#include <KActivities/Consumer> -#endif - -// Qt Includes -#include <QDBusInterface> -#include <QDBusReply> -#include <QDir> -#include <QTimer> +#include "rview.h" +#include "webengine/webview.h" // --------------------------------------------------------------------------------------------------------------- // Ctor and Dtor -Application::Application(int argc, char **argv) : SingleApplication(argc, argv) +Application::Application(int &argc, char *argv[]) : SingleApplication(argc, argv) { // updating rekonq configuration - updateConfiguration(); + // updateConfiguration(); - setWindowIcon(KIcon("rekonq")); + // setWindowIcon(KIcon("rekonq")); // just create History Manager... - HistoryManager::self(); + // HistoryManager::self(); } Application::~Application() { - // ok, we are closing well: don't recover on next load.. - ReKonfig::setRecoverOnCrash(0); - saveConfiguration(); - -#ifdef HAVE_KACTIVITIES - delete m_activityConsumer; -#endif - - // Destroy all windows... - Q_FOREACH(QWeakPointer<RekonqWindow> pointer, m_rekonqWindows) - { - delete pointer.data(); - pointer.clear(); - } - - // Destroy all web apps - Q_FOREACH(WebTab *tab, m_webApps) - { - delete tab; - } - - kDebug() << "Bye bye (k)baby..."; + // ok, we are closing well: don't recover on next load.. + // ReKonfig::setRecoverOnCrash(0); + // saveConfiguration(); + + // Destroy all windows... + /*Q_FOREACH(QWeakPointer<RekonqWindow> pointer, m_rekonqWindows) + { + delete pointer.data(); + pointer.clear(); + }*/ + + // Destroy all web apps + for (auto *webApp : m_webApps) delete webApp; } // --------------------------------------------------------------------------------------------------------------- - +/* int Application::newInstance() { KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); @@ -179,7 +122,7 @@ int Application::newInstance() if (isFirstLoad) { bool restoreOk = false; - + switch(ReKonfig::startupBehaviour()) { case 2: @@ -188,11 +131,11 @@ int Application::newInstance() else restoreOk = SessionManager::self()->restoreSessionFromScratch(); break; - + case 3: SessionManager::self()->manageSessions(); break; - + default: restoreOk = SessionManager::self()->restoreJustThePinnedTabs(); break; @@ -332,8 +275,9 @@ int Application::newInstance() SessionManager::self()->setSessionManagementEnabled(true); } - if (ReKonfig::checkDefaultSearchEngine() && !hasToBeRecoveredFromCrash && SearchEngine::defaultEngine().isNull()) - QTimer::singleShot(2000, rekonqWindow()->currentWebWindow()->tabView(), SLOT(showSearchEngineBar())); + if (ReKonfig::checkDefaultSearchEngine() && !hasToBeRecoveredFromCrash && +SearchEngine::defaultEngine().isNull()) QTimer::singleShot(2000, rekonqWindow()->currentWebWindow()->tabView(), +SLOT(showSearchEngineBar())); ReKonfig::setRecoverOnCrash(ReKonfig::recoverOnCrash() + 1); saveConfiguration(); @@ -364,10 +308,10 @@ RekonqWindow *Application::rekonqWindow(const QString & activityID) #ifdef HAVE_KACTIVITIES wList = tabsForActivity(activityID); #endif - + if (wList.isEmpty()) return 0; - + Q_FOREACH(const QWeakPointer<RekonqWindow> &pointer, wList) { if (KWindowInfo(pointer.data()->effectiveWinId(), NET::WMDesktop, 0).isOnCurrentDesktop()) @@ -385,7 +329,7 @@ RekonqWindowList Application::tabsForActivity(const QString & activityID) QString id = activityID; if ( id.isEmpty() ) id = m_activityConsumer->currentActivity(); - + return m_activityRekonqWindowsMap[id]; #else return m_rekonqWindows; @@ -418,7 +362,7 @@ RekonqWindow *Application::newWindow(WebPage *pg) setWindowInfo(w); w->show(); - return w; + return w; } @@ -432,30 +376,28 @@ void Application::setWindowInfo(RekonqWindow *w) w->installEventFilter(this); m_rekonqWindows.prepend(w); - + #ifdef HAVE_KACTIVITIES QString currentActivity = m_activityConsumer->currentActivity(); m_activityRekonqWindowsMap[currentActivity].prepend(w); -#endif -} - +#endif +}*/ // ----------------------------------------------------------------------------------------------------------- +// Slots - -WebTab *Application::newWebApp() +rView *Application::newWebApp(const QUrl &url) { - WebTab *tab = new WebTab; - - tab->installEventFilter(this); - m_webApps.prepend(tab); + auto *view = new WebView(url); - tab->show(); + // tab->installEventFilter(this); + m_webApps.append(view); - return tab; + view->show(); + return view; } - +/* RekonqWindowList Application::rekonqWindowList() { return m_rekonqWindows; @@ -480,8 +422,8 @@ bool Application::eventFilter(QObject* watched, QEvent* event) RekonqWindow *window = qobject_cast<RekonqWindow*>(watched); if (window) { - if (!m_rekonqWindows.isEmpty() - && m_rekonqWindows.at(0) + if (!m_rekonqWindows.isEmpty() + && m_rekonqWindows.at(0) && m_rekonqWindows.at(0).data() != window) { int index = m_rekonqWindows.indexOf(QWeakPointer<RekonqWindow>(window)); @@ -506,7 +448,7 @@ bool Application::eventFilter(QObject* watched, QEvent* event) m_activityRekonqWindowsMap[currentActivity].removeOne(window); #endif } - + WebTab *webApp = qobject_cast<WebTab*>(watched); m_webApps.removeOne(webApp); @@ -536,7 +478,7 @@ void Application::loadUrl(const KUrl& url, const Rekonq::OpenType& type) tab->view()->load(url); return; } - + Rekonq::OpenType newType = type; // Don't open useless tabs or windows for actions in rekonq: pages if (url.url().contains("rekonq:") && url.url().contains("/")) @@ -582,7 +524,7 @@ void Application::updateConfiguration() defaultSettings->setFontSize(QWebSettings::DefaultFontSize, ReKonfig::defaultFontSize()); defaultSettings->setFontSize(QWebSettings::MinimumFontSize, ReKonfig::minFontSize()); - + // encodings QString enc = ReKonfig::defaultEncoding(); defaultSettings->setDefaultTextEncoding(enc); @@ -607,10 +549,11 @@ void Application::updateConfiguration() defaultSettings->setMaximumPagesInCache(3); // ===== HTML 5 features WebKit support ====== - defaultSettings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, ReKonfig::offlineStorageDatabaseEnabled()); - defaultSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, ReKonfig::offlineWebApplicationCacheEnabled()); - defaultSettings->setAttribute(QWebSettings::LocalStorageEnabled, ReKonfig::localStorageEnabled()); - if (ReKonfig::localStorageEnabled()) + defaultSettings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, +ReKonfig::offlineStorageDatabaseEnabled()); + defaultSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, +ReKonfig::offlineWebApplicationCacheEnabled()); defaultSettings->setAttribute(QWebSettings::LocalStorageEnabled, +ReKonfig::localStorageEnabled()); if (ReKonfig::localStorageEnabled()) { QString path = KStandardDirs::locateLocal("cache", QString("WebkitLocalStorage/rekonq"), true); path.remove("rekonq"); @@ -629,10 +572,10 @@ void Application::updateConfiguration() HistoryManager::self()->loadSettings(); defaultSettings = 0; - + if (!rekonqWindow()) return; - + // ============== Tabs ================== bool b = ReKonfig::closeTabSelectPrevious(); Q_FOREACH(const QWeakPointer<RekonqWindow> &w, m_rekonqWindows) @@ -670,7 +613,8 @@ void Application::updateConfiguration() case 2: // url previews for (int i = 0; i < rekonqWindow()->tabBar()->count(); i++) { - rekonqWindow()->tabBar()->setTabToolTip(i, rekonqWindow()->tabWidget()->webWindow(i)->url().toMimeDataString()); + rekonqWindow()->tabBar()->setTabToolTip(i, +rekonqWindow()->tabWidget()->webWindow(i)->url().toMimeDataString()); } break; @@ -716,7 +660,7 @@ void Application::queryQuit() } } - SessionManager::self()->setSessionManagementEnabled(false); + SessionManager::self()->setSessionManagementEnabled(false); quit(); } @@ -832,7 +776,7 @@ void Application::createWebAppShortcut(const QString & urlString, const QString webAppTitle = titleString; } webAppTitle = webAppTitle.remove('&'); - + wAppWidget.nameLineEdit->setText(webAppTitle); wAppWidget.kcfg_createDesktopAppShortcut->setChecked(ReKonfig::createDesktopAppShortcut()); wAppWidget.kcfg_createMenuAppShortcut->setChecked(ReKonfig::createMenuAppShortcut()); @@ -882,8 +826,8 @@ void Application::createWebAppShortcut(const QString & urlString, const QString out.setCodec("UTF-8"); out << shortcutString; - wAppFile.setPermissions(QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::ReadOther); - wAppFile.close(); + wAppFile.setPermissions(QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | +QFile::ReadOther); wAppFile.close(); } if (ReKonfig::createMenuAppShortcut()) @@ -937,3 +881,4 @@ void Application::pageCreated(WebPage *pg) tw->activateWindow(); tw->raise(); } +*/ |