File indexing completed on 2024-09-22 05:16:04
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2010-2011 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 "terminaltool.hpp" 0010 0011 // Kasten core 0012 #include <Kasten/DocumentSyncManager> 0013 #include <Kasten/AbstractDocument> 0014 #include <Kasten/AbstractModelSynchronizer> 0015 0016 // KF 0017 #include <KLocalizedString> 0018 #include <KIO/Global> 0019 // Qt 0020 #include <QUrl> 0021 0022 namespace Kasten { 0023 0024 TerminalTool::TerminalTool(DocumentSyncManager* documentSyncManager) 0025 : mDocumentSyncManager(documentSyncManager) 0026 { 0027 setObjectName(QStringLiteral("Terminal")); 0028 } 0029 0030 TerminalTool::~TerminalTool() = default; 0031 0032 QString TerminalTool::title() const { return i18nc("@title:window", "Terminal"); } 0033 0034 QUrl TerminalTool::currentUrl() const 0035 { 0036 QUrl result; 0037 0038 if (mDocument) { 0039 result = KIO::upUrl(mDocumentSyncManager->urlOf(mDocument)); 0040 } 0041 0042 return result; 0043 } 0044 0045 void TerminalTool::setTargetModel(AbstractModel* model) 0046 { 0047 const QUrl oldCurrentUrl = currentUrl(); 0048 0049 mDocument = model ? model->findBaseModel<AbstractDocument*>() : nullptr; 0050 0051 const QUrl newCurrentUrl = currentUrl(); 0052 0053 if (oldCurrentUrl != newCurrentUrl) { 0054 Q_EMIT currentUrlChanged(newCurrentUrl); 0055 } 0056 } 0057 0058 } 0059 0060 #include "moc_terminaltool.cpp"