File indexing completed on 2024-12-08 09:41:08
0001 /* 0002 SPDX-FileCopyrightText: 1998, 2008, 2009 David Faure <faure@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef KNAMEANDURLINPUTDIALOG_H 0008 #define KNAMEANDURLINPUTDIALOG_H 0009 0010 #include "kiofilewidgets_export.h" 0011 #include <QDialog> 0012 0013 #include <memory> 0014 0015 class KUrlRequester; 0016 class KNameAndUrlInputDialogPrivate; 0017 class QUrl; 0018 0019 /** 0020 * @class KNameAndUrlInputDialog knameandurlinputdialog.h <KNameAndUrlInputDialog> 0021 * 0022 * Dialog to ask for a name (e.g.\ filename) and a URL 0023 * Basically a merge of KLineEditDlg and KUrlRequesterDlg ;) 0024 * @since 4.5 0025 * @author David Faure <faure@kde.org> 0026 */ 0027 class KIOFILEWIDGETS_EXPORT KNameAndUrlInputDialog : public QDialog 0028 { 0029 Q_OBJECT 0030 public: 0031 /** 0032 * @param nameLabel label for the name field 0033 * @param urlLabel label for the URL requester 0034 * @param startDir start directory for the URL requester (optional) 0035 * @param parent parent widget 0036 */ 0037 KNameAndUrlInputDialog(const QString &nameLabel, const QString &urlLabel, const QUrl &startDir, QWidget *parent); 0038 0039 /** 0040 * Destructor. 0041 */ 0042 ~KNameAndUrlInputDialog() override; 0043 0044 /** 0045 * Pre-fill the name lineedit. 0046 */ 0047 void setSuggestedName(const QString &name); 0048 /** 0049 * Pre-fill the URL requester. 0050 */ 0051 void setSuggestedUrl(const QUrl &url); 0052 0053 /** 0054 * @return the name the user entered 0055 */ 0056 QString name() const; 0057 /** 0058 * @return the URL the user entered 0059 */ 0060 QUrl url() const; 0061 /** 0062 * @return the URL the user entered, as plain text. 0063 * This is only useful for creating relative symlinks. 0064 * @since 5.25 0065 */ 0066 QString urlText() const; 0067 0068 private: 0069 std::unique_ptr<KNameAndUrlInputDialogPrivate> const d; 0070 }; 0071 0072 #endif