File indexing completed on 2024-06-23 05:49:16
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2009 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 "documentstool.hpp" 0010 0011 // Kasten core 0012 #include <Kasten/DocumentManager> 0013 #include <Kasten/AbstractDocument> 0014 // KF 0015 #include <KLocalizedString> 0016 0017 namespace Kasten { 0018 0019 DocumentsTool::DocumentsTool(DocumentManager* documentManager) 0020 : mDocumentManager(documentManager) 0021 { 0022 setObjectName(QStringLiteral("Documents")); 0023 0024 connect(mDocumentManager, &DocumentManager::added, 0025 this, &DocumentsTool::documentsAdded); 0026 connect(mDocumentManager, &DocumentManager::closing, 0027 this, &DocumentsTool::documentsClosing); 0028 } 0029 0030 DocumentsTool::~DocumentsTool() = default; 0031 0032 QVector<AbstractDocument*> DocumentsTool::documents() const { return mDocumentManager->documents(); } 0033 0034 QString DocumentsTool::title() const { return i18nc("@title:window", "Documents"); } 0035 0036 // TODO: this is an abuse of setTargetModel. Find other way to get focused model 0037 void DocumentsTool::setTargetModel(AbstractModel* model) 0038 { 0039 mFocussedDocument = model ? model->findBaseModel<AbstractDocument*>() : nullptr; 0040 Q_EMIT focussedDocumentChanged(mFocussedDocument); 0041 } 0042 0043 void DocumentsTool::setFocussedDocument(AbstractDocument* document) 0044 { 0045 mDocumentManager->requestFocus(document); 0046 } 0047 0048 } 0049 0050 #include "moc_documentstool.cpp"