move MessageItemDelegate to its own file

This commit is contained in:
Brian Moran 2022-09-29 08:39:22 -07:00
parent 9520eb1309
commit 923de0ef38
3 changed files with 47 additions and 0 deletions

View File

@ -190,6 +190,7 @@ set (wsjt_qt_CXXSRCS
widgets/FrequencyDeltaLineEdit.cpp
item_delegates/CandidateKeyFilter.cpp
item_delegates/ForeignKeyDelegate.cpp
item_delegates/MessageItemDelegate.cpp
validators/LiveFrequencyValidator.cpp
GetUserId.cpp
Audio/AudioDevice.cpp

View File

@ -0,0 +1,26 @@
//
// Moved from Configuration.cpp
//
#include "MessageItemDelegate.hpp"
#include <QLineEdit>
#include <QRegExpValidator>
//
// Class MessageItemDelegate
//
// Item delegate for message entry such as free text message macros.
//
MessageItemDelegate::MessageItemDelegate(QObject *parent): QStyledItemDelegate{parent}
{
}
QWidget *MessageItemDelegate::createEditor(QWidget *parent, QStyleOptionViewItem const &, QModelIndex const &) const
{
QRegularExpression message_alphabet{"[- @A-Za-z0-9+./?#<>;$]*"};
auto editor = new QLineEdit{parent};
editor->setFrame(false);
editor->setValidator(new QRegularExpressionValidator{message_alphabet, editor});
return editor;
}

View File

@ -0,0 +1,20 @@
//
//
//
#ifndef WSJTX_MESSAGEITEMDELEGATE_H
#define WSJTX_MESSAGEITEMDELEGATE_H
#include <QStyledItemDelegate>
class MessageItemDelegate: public QStyledItemDelegate
{
Q_OBJECT
public:
explicit MessageItemDelegate(QObject *parent = nullptr);
QWidget *createEditor(QWidget *parent, QStyleOptionViewItem const & /* option*/
, QModelIndex const & /* index */
) const override;
};
#endif //WSJTX_MESSAGEITEMDELEGATE_H