KIO
kurlrequester.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef KURLREQUESTER_H
00020 #define KURLREQUESTER_H
00021
00022 #include <keditlistbox.h>
00023 #include <kfile.h>
00024 #include <kpushbutton.h>
00025 #include <kurl.h>
00026 #include <khbox.h>
00027
00028 class KComboBox;
00029 class KFileDialog;
00030 class KLineEdit;
00031 class KUrlCompletion;
00032
00033 class QString;
00034 class QEvent;
00035
00053 class KIO_EXPORT KUrlRequester : public KHBox
00054 {
00055 Q_OBJECT
00056 Q_PROPERTY( KUrl url READ url WRITE setUrl USER true )
00057 Q_PROPERTY( QString filter READ filter WRITE setFilter )
00058 Q_FLAGS( KFile::Modes )
00059 Q_PROPERTY( KFile::Modes mode READ mode WRITE setMode )
00060
00061 public:
00065 explicit KUrlRequester( QWidget *parent=0);
00066
00070 explicit KUrlRequester( const KUrl& url, QWidget *parent=0);
00071
00078 KUrlRequester( QWidget *editWidget, QWidget *parent);
00082 ~KUrlRequester();
00083
00089 KUrl url() const;
00090
00097 void setMode( KFile::Modes m );
00098
00103 KFile::Modes mode() const;
00104
00109 void setFilter( const QString& filter );
00110
00115 QString filter() const;
00116
00125 virtual KFileDialog * fileDialog() const;
00126
00134 KLineEdit * lineEdit() const;
00135
00140 KComboBox * comboBox() const;
00141
00146 KPushButton * button() const;
00147
00151 KUrlCompletion *completionObject() const;
00152
00163 const KEditListBox::CustomEditor &customEditor();
00164
00165 public Q_SLOTS:
00169 void setUrl( const KUrl& url );
00170
00177 void setPath( const QString& path );
00178
00182 void clear();
00183
00184 Q_SIGNALS:
00185
00190 void textChanged( const QString& );
00191
00195 void returnPressed();
00196
00201 void returnPressed( const QString& );
00202
00214 void openFileDialog( KUrlRequester * );
00215
00220 void urlSelected( const KUrl& );
00221
00222 protected:
00223 virtual void changeEvent (QEvent *e);
00224 bool eventFilter( QObject *obj, QEvent *ev );
00225
00226 private:
00227 class KUrlRequesterPrivate;
00228 KUrlRequesterPrivate* const d;
00229
00230 Q_DISABLE_COPY(KUrlRequester)
00231
00232 Q_PRIVATE_SLOT(d, void _k_slotUpdateUrl())
00233 Q_PRIVATE_SLOT(d, void _k_slotOpenDialog())
00234
00235 };
00236
00237 class KIO_EXPORT KUrlComboRequester : public KUrlRequester
00238 {
00239 Q_OBJECT
00240 public:
00244 explicit KUrlComboRequester(QWidget *parent = 0);
00245
00246 private:
00247 class Private;
00248 Private* const d;
00249 };
00250
00251 #endif // KURLREQUESTER_H