File indexing completed on 2024-04-28 17:05:54
0001 /* 0002 SPDX-FileCopyrightText: 2005 Csaba Karai <krusader@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2005-2022 Krusader Krew <https://krusader.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KURLLISTREQUESTER_H 0009 #define KURLLISTREQUESTER_H 0010 0011 // QtGui 0012 #include <QKeyEvent> 0013 // QtWidgets 0014 #include <QToolButton> 0015 #include <QWidget> 0016 0017 #include <KCompletion/KLineEdit> 0018 #include <KIOWidgets/KUrlCompletion> 0019 0020 #include "../GUI/krlistwidget.h" 0021 0022 /** 0023 * Widget for letting the user define a list of URLs. 0024 */ 0025 class KURLListRequester : public QWidget 0026 { 0027 Q_OBJECT 0028 0029 public: 0030 enum Mode { RequestFiles, RequestDirs }; 0031 0032 explicit KURLListRequester(Mode requestMode, QWidget *parent = nullptr); 0033 0034 QList<QUrl> urlList(); 0035 void setUrlList(const QList<QUrl> &); 0036 0037 KLineEdit *lineEdit() 0038 { 0039 return urlLineEdit; 0040 } 0041 KrListWidget *listBox() 0042 { 0043 return urlListBox; 0044 } 0045 0046 void setCompletionDir(const QUrl &dir) 0047 { 0048 completion.setDir(dir); 0049 } 0050 0051 signals: 0052 void checkValidity(QString &text, QString &error); 0053 void changed(); 0054 0055 protected slots: 0056 void slotAdd(); 0057 void slotBrowse(); 0058 void slotRightClicked(QListWidgetItem *, const QPoint &); 0059 0060 protected: 0061 void keyPressEvent(QKeyEvent *e) override; 0062 void deleteSelectedItems(); 0063 0064 Mode mode; 0065 0066 KLineEdit *urlLineEdit; 0067 KrListWidget *urlListBox; 0068 QToolButton *urlAddBtn; 0069 QToolButton *urlBrowseBtn; 0070 0071 KUrlCompletion completion; 0072 }; 0073 0074 #endif /* __KURLLISTREQUESTER_H__ */