File indexing completed on 2024-06-09 04:58:48
0001 /* 0002 SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 #include "config-ruqola.h" 0009 #include "libruqolawidgets_private_export.h" 0010 #include <QPlainTextEdit> 0011 #if HAVE_TEXT_CUSTOM_EDITOR 0012 #include <TextCustomEditor/PlainTextEditor> 0013 #include <TextCustomEditor/PlainTextEditorWidget> 0014 0015 class LIBRUQOLAWIDGETS_TESTS_EXPORT ViewLogPlainTextEdit : public TextCustomEditor::PlainTextEditorWidget 0016 { 0017 Q_OBJECT 0018 public: 0019 explicit ViewLogPlainTextEdit(QWidget *parent = nullptr); 0020 ~ViewLogPlainTextEdit() override; 0021 }; 0022 0023 class LIBRUQOLAWIDGETS_TESTS_EXPORT ViewLogPlainTextEditor : public TextCustomEditor::PlainTextEditor 0024 { 0025 Q_OBJECT 0026 public: 0027 explicit ViewLogPlainTextEditor(QWidget *parent = nullptr); 0028 ~ViewLogPlainTextEditor() override; 0029 0030 protected: 0031 void addExtraMenuEntry(QMenu *menu, QPoint pos) override; 0032 0033 private: 0034 LIBRUQOLAWIDGETS_NO_EXPORT void slotSaveAsFile(); 0035 LIBRUQOLAWIDGETS_NO_EXPORT void saveTextAs(const QString &text, const QString &filter, QWidget *parent, const QUrl &url = {}, const QString &caption = {}); 0036 [[nodiscard]] LIBRUQOLAWIDGETS_NO_EXPORT bool saveToFile(const QString &filename, const QString &text); 0037 }; 0038 #else 0039 class LIBRUQOLAWIDGETS_TESTS_EXPORT ViewLogPlainTextEdit : public QPlainTextEdit 0040 { 0041 Q_OBJECT 0042 public: 0043 explicit ViewLogPlainTextEdit(QWidget *parent = nullptr); 0044 ~ViewLogPlainTextEdit() override; 0045 0046 protected: 0047 void contextMenuEvent(QContextMenuEvent *event) override; 0048 0049 private: 0050 LIBRUQOLAWIDGETS_NO_EXPORT void slotSaveAsFile(); 0051 LIBRUQOLAWIDGETS_NO_EXPORT void saveTextAs(const QString &text, const QString &filter, QWidget *parent, const QUrl &url = {}, const QString &caption = {}); 0052 [[nodiscard]] LIBRUQOLAWIDGETS_NO_EXPORT bool saveToFile(const QString &filename, const QString &text); 0053 }; 0054 0055 #endif