File indexing completed on 2024-04-28 05:49:02

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Friedrich W. H. Kossebau <kossebau@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 // KF
0010 #include <KTextEditor/SessionConfigInterface>
0011 // Qt
0012 #include <QObject>
0013 #include <QPointer>
0014 
0015 namespace KTextEditorPreview
0016 {
0017 class PreviewWidget;
0018 }
0019 
0020 namespace KTextEditor
0021 {
0022 class MainWindow;
0023 class View;
0024 }
0025 
0026 class KTextEditorPreviewPlugin;
0027 
0028 class QWidget;
0029 
0030 class KTextEditorPreviewView : public QObject, public KTextEditor::SessionConfigInterface
0031 {
0032     Q_OBJECT
0033     Q_INTERFACES(KTextEditor::SessionConfigInterface)
0034 
0035 public:
0036     KTextEditorPreviewView(KTextEditorPreviewPlugin *plugin, KTextEditor::MainWindow *mainWindow);
0037     ~KTextEditorPreviewView() override;
0038 
0039     void readSessionConfig(const KConfigGroup &config) override;
0040     void writeSessionConfig(KConfigGroup &config) override;
0041 
0042 private:
0043     QPointer<QWidget> m_toolView;
0044     KTextEditorPreview::PreviewWidget *m_previewView;
0045 };