File indexing completed on 2024-04-28 05:02:05

0001 /*
0002  *  Mount dialog
0003  *
0004  *  SPDX-FileCopyrightText: 2023 Alexander Reinholdt <alexander.reinholdt@kdemail.net>
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #ifndef SMB4KMOUNTDIALOG_H
0009 #define SMB4KMOUNTDIALOG_H
0010 
0011 // Qt includes
0012 #include <QCheckBox>
0013 #include <QDialog>
0014 #include <QPushButton>
0015 #include <QResizeEvent>
0016 #include <QSize>
0017 
0018 // KDE includes
0019 #include <KComboBox>
0020 #include <KLineEdit>
0021 
0022 class Q_DECL_EXPORT Smb4KMountDialog : public QDialog
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     /**
0028      * Constructor
0029      */
0030     explicit Smb4KMountDialog(QWidget *parent = nullptr);
0031 
0032     /**
0033      * Destructor
0034      */
0035     virtual ~Smb4KMountDialog();
0036 
0037 protected Q_SLOTS:
0038     void slotEnableButtons(const QString &text);
0039     void slotBookmarkButtonClicked();
0040     void slotEnableBookmarkInputWidget();
0041     void slotLocationEntered();
0042     void slotIpAddressEntered();
0043     void slotWorkgroupEntered();
0044     void slotLabelEntered();
0045     void slotCategoryEntered();
0046     void slotAccepted();
0047     void slotRejected();
0048 
0049 private:
0050     bool isValidLocation(const QString &text);
0051     void adjustDialogSize();
0052     KLineEdit *m_locationInput;
0053     KLineEdit *m_ipAddressInput;
0054     KLineEdit *m_workgroupInput;
0055     QPushButton *m_okButton;
0056     QPushButton *m_cancelButton;
0057     QPushButton *m_bookmarkButton;
0058     QWidget *m_bookmarkWidget;
0059     QCheckBox *m_bookmarkShare;
0060     QWidget *m_bookmarkInputWidget;
0061     KLineEdit *m_bookmarkLabelInput;
0062     KComboBox *m_bookmarkCategoryInput;
0063 };
0064 
0065 #endif