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 #ifndef KASTEN_TERMINALTOOL_HPP 0010 #define KASTEN_TERMINALTOOL_HPP 0011 0012 // Kasten core 0013 #include <Kasten/AbstractTool> 0014 0015 class QUrl; 0016 0017 namespace Kasten { 0018 0019 class DocumentSyncManager; 0020 class AbstractDocument; 0021 0022 class TerminalTool : public AbstractTool 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 explicit TerminalTool(DocumentSyncManager* documentSyncManager); 0028 ~TerminalTool() override; 0029 0030 public: 0031 QUrl currentUrl() const; 0032 0033 public: // AbstractTool API 0034 // virtual AbstractModel* targetModel() const; 0035 QString title() const override; 0036 0037 void setTargetModel(AbstractModel* model) override; 0038 0039 Q_SIGNALS: 0040 void currentUrlChanged(const QUrl& currentUrl); 0041 0042 private: // sources 0043 DocumentSyncManager* mDocumentSyncManager; 0044 0045 AbstractDocument* mDocument = nullptr; 0046 }; 0047 0048 } 0049 0050 #endif