File indexing completed on 2024-04-28 05:11:31

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Sandro Knauß <knauss@kolabsys.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QModelIndex>
0010 #include <QString>
0011 #include <QStyledItemDelegate>
0012 
0013 #include <KCompletion>
0014 
0015 namespace IncidenceEditorNG
0016 {
0017 /** show a AttendeeLineEdit as editor */
0018 class AttendeeLineEditDelegate : public QStyledItemDelegate
0019 {
0020     Q_OBJECT
0021 public:
0022     explicit AttendeeLineEditDelegate(QObject *parent = nullptr);
0023 
0024     QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0025     void setEditorData(QWidget *editor, const QModelIndex &index) const override;
0026     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
0027     void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0028 
0029     virtual void setCompletionMode(KCompletion::CompletionMode mode);
0030 
0031 public Q_SLOTS:
0032     bool helpEvent(QHelpEvent *event, QAbstractItemView *view, const QStyleOptionViewItem &option, const QModelIndex &index) override;
0033 
0034 private:
0035     void rightPressed();
0036     void leftPressed();
0037     const QString mToolTip;
0038     const QString mWhatsThis;
0039     KCompletion::CompletionMode mCompletionMode = KCompletion::CompletionPopup;
0040 };
0041 }