File indexing completed on 2024-05-19 04:29:10
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Jouni Pentikäinen <joupent@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <QHBoxLayout> 0008 0009 #include "KisCanvasWindow.h" 0010 #include "KisMainWindow.h" 0011 0012 struct KisCanvasWindow::Private { 0013 KisMainWindow *mainWindow; 0014 0015 Private(KisMainWindow *mainWindow) 0016 : mainWindow(mainWindow) 0017 {} 0018 }; 0019 0020 KisCanvasWindow::KisCanvasWindow(KisMainWindow *mainWindow) 0021 : QWidget(mainWindow) 0022 , d(new Private(mainWindow)) 0023 { 0024 setWindowFlags(Qt::Window); 0025 setLayout(new QHBoxLayout); 0026 } 0027 0028 KisCanvasWindow::~KisCanvasWindow() = default; 0029 0030 void KisCanvasWindow::closeEvent(QCloseEvent *event) 0031 { 0032 d->mainWindow->setCanvasDetached(false); 0033 QWidget::closeEvent(event); 0034 } 0035 0036 QWidget * KisCanvasWindow::swapMainWidget(QWidget *newWidget) 0037 { 0038 QWidget *oldWidget = (layout()->count() > 0) ? (layout()->takeAt(0)->widget()) : nullptr; 0039 if (newWidget) { 0040 layout()->addWidget(newWidget); 0041 } 0042 return oldWidget; 0043 }