aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/dockingwidget.cpp
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2017-10-10 19:25:44 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2017-10-10 19:25:44 +0200
commit442ba9f09a8ee18609361f3971b5da7f40eb5c35 (patch)
treefd612714e7df77ff3523a6773b6e9c3e60084809 /src/widgets/dockingwidget.cpp
parentCleaned up WebViewTabBar (diff)
downloadsmolbote-442ba9f09a8ee18609361f3971b5da7f40eb5c35.tar.xz
Split off DownloadsWidget into library
Fixed bug with BookmarksWidget crashing the program on exit
Diffstat (limited to 'src/widgets/dockingwidget.cpp')
-rw-r--r--src/widgets/dockingwidget.cpp82
1 files changed, 0 insertions, 82 deletions
diff --git a/src/widgets/dockingwidget.cpp b/src/widgets/dockingwidget.cpp
deleted file mode 100644
index e501f16..0000000
--- a/src/widgets/dockingwidget.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- **
- ** smolbote: yet another qute browser
- ** Copyright (C) 2017 Xian Nox
- **
- ** This program is free software: you can redistribute it and/or modify
- ** it under the terms of the GNU General Public License as published by
- ** the Free Software Foundation, either version 3 of the License, or
- ** (at your option) any later version.
- **
- ** This program is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ** GNU General Public License for more details.
- **
- ** You should have received a copy of the GNU General Public License
- ** along with this program. If not, see <http://www.gnu.org/licenses/>.
- **
- ******************************************************************************/
-
-#include "dockingwidget.h"
-#include "mainwindow.h"
-
-#include <QApplication>
-
-DockWidget::DockWidget(const QString &title, QWidget *parent, Qt::WindowFlags flags) :
- QDockWidget(title, parent, flags)
-{
-}
-
-void DockWidget::closeEvent(QCloseEvent *event)
-{
- setParent(0);
- event->ignore();
-}
-
-DockingWidget::DockingWidget(const QString &title, QWidget *parent) :
- QWidget(parent)
-{
- window = nullptr;
- dock = new DockWidget(title, 0);
- dock->setWidget(this);
- dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
-
- connect(qApp, &QApplication::aboutToQuit, [this]() {
- this->setParent(0);
- });
-}
-
-DockingWidget::~DockingWidget()
-{
- // If the dock has a parent, it will take care of it
- // calling delete later here if the dock has a parent causes a crash
- if(!dock->parent()) {
- dock->deleteLater();
- }
-}
-
-void DockingWidget::show()
-{
- MainWindow *caller = qobject_cast<MainWindow *>(sender()->parent());
- // if already shown and on the same window - hide the widget
- if(isVisible() && window == caller) {
- dock->setParent(0);
- return;
- }
-
- // show() gets called by a QAction in MainWindow
- window = caller;
- if(window) {
-
- // dockable widgets
- dock->setParent(window);
- //window->addDockWidget(Qt::RightDockWidgetArea, dock);
- window->addTabbedDock(Qt::RightDockWidgetArea, dock);
-
- } else {
- qWarning("DockingWidget not called by MainWindow");
- }
-
- QWidget::show();
-}