From a7465aa35b4efd3bfc4bbd9be4d1572d25a05bb2 Mon Sep 17 00:00:00 2001 From: aqua Date: Sat, 27 Aug 2022 15:27:37 +0300 Subject: Rename rView to RekonqView - move rview.hpp to include/ - move src/mainwindow/* to src/ --- src/rekonqwindow.cpp | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 src/rekonqwindow.cpp (limited to 'src/rekonqwindow.cpp') diff --git a/src/rekonqwindow.cpp b/src/rekonqwindow.cpp new file mode 100644 index 00000000..b1380154 --- /dev/null +++ b/src/rekonqwindow.cpp @@ -0,0 +1,161 @@ +/* ============================================================ + * The rekonq project + * ============================================================ + * SPDX-License-Identifier: GPL-2.0-or-later + * Copyright (C) 2013 by Andrea Diamantini + * SPDX-License-Identifier: GPL-3.0-only + * Copyright (C) 2022 aqua + * ============================================================ + * Description: Main Window class + * ============================================================ */ + +#include "rekonqwindow.h" +#include "application.hpp" +#include "taskmanager.h" +#include "ui_rekonqwindow.h" +#include + +RekonqWindow::RekonqWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::RekonqWindow) +{ + ui->setupUi(this); + connect(ui->actionTaskManager, &QAction::triggered, this, [this]() { (new TaskManager(this))->show(); }); +} + +RekonqWindow::~RekonqWindow() { delete ui; } + +void RekonqWindow::addView(RekonqView *view) +{ + const auto tabId = ui->tabWidget->addTab(view, view->title()); + connect(view, &RekonqView::titleChanged, this, + [this, tabId](const QString &title) { ui->tabWidget->setTabText(tabId, title); }); +} + +/* +void RekonqWindow::init() +{ + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + QVBoxLayout *l = new QVBoxLayout(this); + l->setMargin(0); + l->setSpacing(0); + + if (ReKonfig::showBookmarksPanel()) + showBookmarksPanel(true); + + if (ReKonfig::showHistoryPanel()) + showHistoryPanel(true); + + _splitter->addWidget(_tabWidget); + _tabWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + l->addWidget(_splitter); + + // fix focus handling + setFocusProxy(_tabWidget); + + // signals + connect(_tabWidget, SIGNAL(closeWindow()), this, SLOT(close())); + connect(_tabWidget, SIGNAL(windowTitleChanged(QString)), this, SLOT(setWindowTitle(QString))); +} + +// -------------------------------------------------------------------------------------------------- + + +TabWidget *RekonqWindow::tabWidget() +{ + return _tabWidget; +} + + +TabBar *RekonqWindow::tabBar() +{ + return _tabWidget->tabBar(); +} + + +WebWindow *RekonqWindow::currentWebWindow() const +{ + return _tabWidget->currentWebWindow(); +} + + +bool RekonqWindow::isPrivateBrowsingMode() +{ + return _tabWidget->isPrivateBrowsingWindowMode(); +} + + +// -------------------------------------------------------------------------------------------------- + + +void RekonqWindow::loadUrl(const KUrl &url, Rekonq::OpenType type, TabHistory *history) +{ + switch (type) + { + case Rekonq::NewWindow: + case Rekonq::NewPrivateWindow: + case Rekonq::WebApp: + rApp->loadUrl(url, type); + return; + + case Rekonq::NewTab: + case Rekonq::NewBackGroundTab: + case Rekonq::NewFocusedTab: + case Rekonq::CurrentTab: + default: + _tabWidget->loadUrl(url, type, history); + break; + }; +} + + +void RekonqWindow::showBookmarksPanel(bool on) +{ + if (on) + { + if (_bookmarksPanel.isNull()) + { + _bookmarksPanel = new BookmarksPanel(i18n("Bookmarks Panel"), this); + connect(_bookmarksPanel.data(), SIGNAL(openUrl(KUrl,Rekonq::OpenType)), this, +SLOT(loadUrl(KUrl,Rekonq::OpenType))); + + QAction *a = _tabWidget->actionByName(QL1S("show_bookmarks_panel")); + connect(_bookmarksPanel.data(), SIGNAL(visibilityChanged(bool)), a, SLOT(setChecked(bool))); + } + _splitter->insertWidget(0, _bookmarksPanel.data()); + _bookmarksPanel.data()->show(); + } + else + { + _bookmarksPanel.data()->hide(); + delete _bookmarksPanel.data(); + _bookmarksPanel.clear(); + } +} + + +void RekonqWindow::showHistoryPanel(bool on) +{ + if (on) + { + if (_historyPanel.isNull()) + { + _historyPanel = new HistoryPanel(i18n("History Panel"), this); + connect(_historyPanel.data(), SIGNAL(openUrl(KUrl,Rekonq::OpenType)), this, +SLOT(loadUrl(KUrl,Rekonq::OpenType))); + + QAction *a = _tabWidget->actionByName(QL1S("show_history_panel")); + connect(_historyPanel.data(), SIGNAL(visibilityChanged(bool)), a, SLOT(setChecked(bool))); + + } + _splitter->insertWidget(0, _historyPanel.data()); + _historyPanel.data()->show(); + } + else + { + _historyPanel.data()->hide(); + delete _historyPanel.data(); + _historyPanel.clear(); + } +} +*/ -- cgit v1.2.1