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