File indexing completed on 2024-06-23 05:48:53

0001 /*
0002     This file is part of the Okteta Kasten module, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2007-2008 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #include "printcontroller.hpp"
0010 
0011 // controller
0012 #include "printtool.hpp"
0013 // KF
0014 #include <KXMLGUIClient>
0015 #include <KActionCollection>
0016 #include <KStandardAction>
0017 // Qt
0018 #include <QAction>
0019 
0020 namespace Kasten {
0021 
0022 PrintController::PrintController(KXMLGUIClient* guiClient)
0023     : mPrintTool(new PrintTool())
0024 {
0025     mPrintAction = KStandardAction::print(mPrintTool, &PrintTool::print, this);
0026     connect(mPrintTool, &PrintTool::viewChanged,
0027             mPrintAction, &QAction::setEnabled);
0028 
0029     guiClient->actionCollection()->addAction(mPrintAction->objectName(), mPrintAction);
0030 
0031 
0032     setTargetModel(nullptr);
0033 }
0034 
0035 PrintController::~PrintController()
0036 {
0037     delete mPrintTool;
0038 }
0039 
0040 void PrintController::setTargetModel(AbstractModel* model)
0041 {
0042     mPrintTool->setTargetModel(model);
0043 }
0044 
0045 void PrintController::print()
0046 {
0047     mPrintTool->print();
0048 }
0049 
0050 }
0051 
0052 #include "moc_printcontroller.cpp"