File indexing completed on 2024-06-16 04:16:12
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2010 Matus Talcik <matus.talcik@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "HistoryDock.h" 0008 #include <KoDocumentResourceManager.h> 0009 #include <kis_config.h> 0010 #include <kis_icon_utils.h> 0011 0012 #include <QDebug> 0013 #include <QWidget> 0014 #include <QHBoxLayout> 0015 #include <QVBoxLayout> 0016 #include <QSpacerItem> 0017 0018 HistoryDock::HistoryDock() 0019 : QDockWidget() 0020 , m_undoView(new KisUndoView(this)) 0021 { 0022 setWidget(m_undoView); 0023 setWindowTitle(i18n("Undo History")); 0024 } 0025 0026 void HistoryDock::setCanvas(KoCanvasBase *canvas) 0027 { 0028 setEnabled(canvas != 0); 0029 QPointer<KisCanvas2> myCanvas = dynamic_cast<KisCanvas2*>(canvas); 0030 if (myCanvas 0031 && myCanvas->shapeController() 0032 && myCanvas->shapeController()->resourceManager() 0033 && myCanvas->shapeController()->resourceManager()->undoStack()) { 0034 KUndo2Stack* undoStack = myCanvas->shapeController()->resourceManager()->undoStack(); 0035 0036 m_undoView->setStack(undoStack); 0037 } 0038 m_undoView->setCanvas( myCanvas ); 0039 0040 } 0041 0042 void HistoryDock::unsetCanvas() 0043 { 0044 setEnabled(false); 0045 m_undoView->setStack(0); 0046 }