File indexing completed on 2024-06-23 05:14:09
0001 /* -*- mode: c++; c-basic-offset:4 -*- 0002 newcertificatewizard/listwidget.h 0003 0004 This file is part of Kleopatra, the KDE keymanager 0005 SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #pragma once 0011 0012 #include <QWidget> 0013 0014 #include <utils/pimpl_ptr.h> 0015 0016 class QString; 0017 #include <QStringList> 0018 0019 namespace Kleo 0020 { 0021 namespace NewCertificateUi 0022 { 0023 0024 class ListWidget : public QWidget 0025 { 0026 Q_OBJECT 0027 Q_PROPERTY(QStringList items READ items WRITE setItems USER true NOTIFY itemsChanged) 0028 Q_PROPERTY(QRegularExpression regExpFilter READ regExpFilter WRITE setRegExpFilter) 0029 Q_PROPERTY(QString defaultValue READ defaultValue WRITE setDefaultValue) 0030 public: 0031 explicit ListWidget(QWidget *parent = nullptr); 0032 ~ListWidget() override; 0033 0034 void setDefaultValue(const QString &defaultValue); 0035 QString defaultValue() const; 0036 0037 void setRegExpFilter(const QRegularExpression &rx); 0038 QRegularExpression regExpFilter() const; 0039 0040 QStringList items() const; 0041 0042 public Q_SLOTS: 0043 void setItems(const QStringList &items); 0044 0045 Q_SIGNALS: 0046 void itemsChanged(); 0047 0048 private: 0049 class Private; 0050 kdtools::pimpl_ptr<Private> d; 0051 Q_PRIVATE_SLOT(d, void slotAdd()) 0052 Q_PRIVATE_SLOT(d, void slotRemove()) 0053 Q_PRIVATE_SLOT(d, void slotUp()) 0054 Q_PRIVATE_SLOT(d, void slotDown()) 0055 Q_PRIVATE_SLOT(d, void slotSelectionChanged()) 0056 }; 0057 0058 } 0059 }