From 120a5f7c6d31a3bc5acdb54b19326516f8399767 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Wed, 11 Jan 2017 10:18:08 +0100 Subject: Initial commit --- src/browser.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/browser.cpp (limited to 'src/browser.cpp') diff --git a/src/browser.cpp b/src/browser.cpp new file mode 100644 index 0000000..7ccd13a --- /dev/null +++ b/src/browser.cpp @@ -0,0 +1,55 @@ +#include "browser.h" +#include "mainwindow.h" +#include + +Browser::Browser(QString configPath, QObject *parent) : QObject(parent) +{ + // TODO Read Profile + m_settings = new QSettings(configPath, QSettings::IniFormat, this); + + // TODO Restore previous session + + QtWebEngine::initialize(); +} + +Browser::~Browser() +{ + // TODO Save Profile + m_settings->sync(); + + // TODO Save session + + // cleanup + qDeleteAll(m_windows); + m_windows.clear(); +} + + +QSettings* Browser::settings() +{ + return m_settings; +} + +QVector Browser::windows() +{ + return m_windows; +} + +void Browser::addWindow(MainWindow *window) +{ + if(m_windows.contains(window)) { + return; + } + + m_windows.append(window); + connect(window, &QObject::destroyed, [this, window]() { + this->removeWindow(window); + }); + + window->show(); +} + +void Browser::removeWindow(MainWindow *window) +{ + m_windows.removeOne(window); +} -- cgit v1.2.1