1 | /* This file is part of the KDE libraries |
2 | Copyright (C) 2000 Wilco Greven <greven@kde.org> |
3 | |
4 | library is free software; you can redistribute it and/or |
5 | modify it under the terms of the GNU Library General Public |
6 | License as published by the Free Software Foundation; either |
7 | version 2 of the License, or (at your option) any later version. |
8 | |
9 | This library is distributed in the hope that it will be useful, |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | Library General Public License for more details. |
13 | |
14 | You should have received a copy of the GNU Library General Public License |
15 | along with this library; see the file COPYING.LIB. If not, write to |
16 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
17 | Boston, MA 02110-1301, USA. |
18 | */ |
19 | |
20 | |
21 | #ifndef KURLREQUESTERDIALOG_H |
22 | #define KURLREQUESTERDIALOG_H |
23 | |
24 | #include <kio/kio_export.h> |
25 | #include <kdialog.h> |
26 | #include <kurl.h> |
27 | |
28 | class KUrlRequester; |
29 | class KFileDialog; |
30 | class KUrlRequesterDialogPrivate; |
31 | /** |
32 | * Dialog in which a user can enter a filename or url. It is a dialog |
33 | * encapsulating KUrlRequester. The API is derived from |
34 | * KFileDialog. |
35 | * |
36 | * @short Simple dialog to enter a filename/url. |
37 | * @author Wilco Greven <greven@kde.org> |
38 | */ |
39 | class KIO_EXPORT KUrlRequesterDialog : public KDialog |
40 | { |
41 | Q_OBJECT |
42 | |
43 | public: |
44 | /** |
45 | * Constructs a KUrlRequesterDialog. |
46 | * |
47 | * @param url The url of the directory to start in. Use QString() |
48 | * to start in the current working directory, or the last |
49 | * directory where a file has been selected. |
50 | * @param parent The parent object of this widget. |
51 | */ |
52 | explicit KUrlRequesterDialog(const QString &url, QWidget *parent = 0); |
53 | |
54 | /** |
55 | * Constructs a KUrlRequesterDialog. |
56 | * |
57 | * @param url The url of the directory to start in. Use QString() |
58 | * to start in the current working directory, or the last |
59 | * directory where a file has been selected. |
60 | * @param text Text of the label |
61 | * @param parent The parent object of this widget. |
62 | */ |
63 | KUrlRequesterDialog( const QString& url, const QString& text, |
64 | QWidget *parent); |
65 | /** |
66 | * Destructs the dialog. |
67 | */ |
68 | ~KUrlRequesterDialog(); |
69 | |
70 | /** |
71 | * Returns the fully qualified filename. |
72 | */ |
73 | KUrl selectedUrl() const; |
74 | |
75 | /** |
76 | * Creates a modal dialog, executes it and returns the selected URL. |
77 | * |
78 | * @param url This specifies the initial path of the input line. |
79 | * @param parent The widget the dialog will be centered on initially. |
80 | * @param caption The caption to use for the dialog. |
81 | */ |
82 | static KUrl getUrl(const QString& url = QString(), |
83 | QWidget *parent= 0, const QString& caption = QString()); |
84 | |
85 | /** |
86 | * Returns a pointer to the file dialog used by the KUrlRequester. |
87 | */ |
88 | KFileDialog * fileDialog(); |
89 | /** |
90 | * Returns a pointer to the KUrlRequester. |
91 | */ |
92 | KUrlRequester *urlRequester(); |
93 | |
94 | private: |
95 | friend class KUrlRequesterDialogPrivate; |
96 | KUrlRequesterDialogPrivate *const d; |
97 | |
98 | Q_DISABLE_COPY(KUrlRequesterDialog) |
99 | |
100 | Q_PRIVATE_SLOT(d, void _k_slotClear()) |
101 | Q_PRIVATE_SLOT(d, void _k_slotTextChanged(const QString &)) |
102 | }; |
103 | |
104 | #endif // KURLREQUESTERDIALOG_H |
105 | |
106 | // vim:ts=4:sw=4:tw=78 |
107 | |