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 }