File indexing completed on 2024-05-12 05:14:42
0001 /* 0002 * editdlg_p.h - private classes for editdlg.cpp 0003 * Program: kalarm 0004 * SPDX-FileCopyrightText: 2003-2022 David Jarvie <djarvie@kde.org> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #pragma once 0010 0011 #include <KTextEdit> 0012 #include <QFrame> 0013 class QDragEnterEvent; 0014 class QShowEvent; 0015 class CheckBox; 0016 class LineEdit; 0017 0018 0019 class PageFrame : public QFrame 0020 { 0021 Q_OBJECT 0022 public: 0023 explicit PageFrame(QWidget* parent = nullptr) : QFrame(parent) { } 0024 0025 protected: 0026 void showEvent(QShowEvent*) override { Q_EMIT shown(); } 0027 0028 Q_SIGNALS: 0029 void shown(); 0030 }; 0031 0032 class TextEdit : public KTextEdit 0033 { 0034 Q_OBJECT 0035 public: 0036 explicit TextEdit(QWidget* parent); 0037 void enableEmailDrop(); 0038 QSize sizeHint() const override { return minimumSizeHint(); } 0039 QSize minimumSizeHint() const override { return minimumSize(); } 0040 0041 protected: 0042 void dragEnterEvent(QDragEnterEvent*) override; 0043 void dragMoveEvent(QDragMoveEvent*) override; 0044 void dropEvent(QDropEvent*) override; 0045 0046 private: 0047 bool mEmailDrop {false}; 0048 }; 0049 0050 class CommandEdit : public QWidget 0051 { 0052 Q_OBJECT 0053 public: 0054 explicit CommandEdit(QWidget* parent); 0055 bool isScript() const; 0056 void setScript(bool); 0057 QString text(EditAlarmDlg*, bool showErrorMessage) const; 0058 void setText(const AlarmText&); 0059 void setReadOnly(bool); 0060 QSize minimumSizeHint() const override; 0061 QSize sizeHint() const override { return minimumSizeHint(); } 0062 0063 Q_SIGNALS: 0064 void scriptToggled(bool); 0065 void changed(); // emitted when any changes occur 0066 0067 private Q_SLOTS: 0068 void slotCmdScriptToggled(bool); 0069 0070 private: 0071 CheckBox* mTypeScript; // entering a script 0072 LineEdit* mCommandEdit; // command line edit box 0073 TextEdit* mScriptEdit; // script edit box 0074 }; 0075 0076 // vim: et sw=4: