File indexing completed on 2024-06-02 05:24:06

0001 /*
0002  * SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include "kldapwidgets_export.h"
0010 
0011 #include <QWidget>
0012 
0013 class QListWidget;
0014 class QPushButton;
0015 class QToolButton;
0016 class QListWidgetItem;
0017 
0018 namespace KLDAPWidgets
0019 {
0020 class LdapClientSearchConfig;
0021 /**
0022  * @brief The LdapConfigureWidget class
0023  * @author Laurent Montel <montel@kde.org>
0024  */
0025 class KLDAPWIDGETS_EXPORT LdapConfigureWidget : public QWidget
0026 {
0027     Q_OBJECT
0028 public:
0029     explicit LdapConfigureWidget(QWidget *parent = nullptr);
0030     ~LdapConfigureWidget() override;
0031 
0032     void load();
0033     void save();
0034 
0035 private Q_SLOTS:
0036     void slotAddHost();
0037     void slotEditHost();
0038     void slotRemoveHost();
0039     void slotSelectionChanged(QListWidgetItem *);
0040     void slotItemClicked(QListWidgetItem *);
0041     void slotMoveUp();
0042     void slotMoveDown();
0043 
0044 Q_SIGNALS:
0045     void changed(bool);
0046 
0047 private:
0048     KLDAPWIDGETS_NO_EXPORT void initGUI();
0049 
0050     QListWidget *mHostListView = nullptr;
0051 
0052     QPushButton *mAddButton = nullptr;
0053     QPushButton *mEditButton = nullptr;
0054     QPushButton *mRemoveButton = nullptr;
0055 
0056     QToolButton *mUpButton = nullptr;
0057     QToolButton *mDownButton = nullptr;
0058     KLDAPWidgets::LdapClientSearchConfig *const mClientSearchConfig;
0059 };
0060 }