diff options
Diffstat (limited to 'src/mainwindow/mainwindow.cpp')
-rw-r--r-- | src/mainwindow/mainwindow.cpp | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/src/mainwindow/mainwindow.cpp b/src/mainwindow/mainwindow.cpp index 27279c1..0932aee 100644 --- a/src/mainwindow/mainwindow.cpp +++ b/src/mainwindow/mainwindow.cpp @@ -29,6 +29,10 @@ #include <QUrl> #include <configuration/configuration.h> +#ifdef QT_DEBUG +#include "session.h" +#endif + #ifdef PLASMA_BLUR #include <KWindowEffects> #endif @@ -183,6 +187,16 @@ void MainWindow::createMenuBar() // tools menu toolsMenu = menuBar()->addMenu(tr("Tools")); + + // debug menu +#ifdef QT_DEBUG + auto *debugMenu = menuBar()->addMenu(tr("Debug")); + + debugMenu->addAction(tr("Print window session"), [this]() { + auto json = Session::toJson(this); + qDebug("session data >>>\n%s\n<<<", qUtf8Printable(json.toJson())); + }); +#endif } void MainWindow::addAction(ActionLocation where, QAction *action) @@ -236,6 +250,18 @@ void MainWindow::createTab(const QUrl &url) } } +const QVector<SubWindow *> MainWindow::subWindows() const +{ + QVector<SubWindow *> list; + for(auto *w : mdiArea->subWindowList()) { + auto *subwindow = qobject_cast<SubWindow *>(w); + if(subwindow != nullptr) + list.append(subwindow); + } + + return list; +} + SubWindow *MainWindow::currentSubWindow() const { return qobject_cast<SubWindow *>(mdiArea->currentSubWindow()); @@ -247,16 +273,7 @@ SubWindow *MainWindow::createSubWindow(const QString &url) mdiArea->addSubWindow(w); w->showMaximized(); w->setFocus(); - - QJsonObject session; - session.insert("profile", ""); - QJsonArray urls; - if(!url.isEmpty()) - urls.append(url); - session.insert("tabs", urls); - - w->restoreSession(session); - + w->addTab(url); return w; } |