kio Library API Documentation

kurlrequester.h

00001 /* This file is part of the KDE libraries
00002     Copyright (C) 1999,2000,2001 Carsten Pfeiffer <pfeiffer@kde.org>
00003 
00004     library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Library General Public
00006     License version 2, as published by the Free Software Foundation.
00007 
00008     This library is distributed in the hope that it will be useful,
00009     but WITHOUT ANY WARRANTY; without even the implied warranty of
00010     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011     Library General Public License for more details.
00012 
00013     You should have received a copy of the GNU Library General Public License
00014     along with this library; see the file COPYING.LIB.  If not, write to
00015     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00016     Boston, MA 02111-1307, USA.
00017 */
00018 
00019 
00020 #ifndef KURLREQUESTER_H
00021 #define KURLREQUESTER_H
00022 
00023 #include <qhbox.h>
00024 
00025 #include <keditlistbox.h>
00026 #include <kfile.h>
00027 #include <kpushbutton.h>
00028 #include <kurl.h>
00029 
00030 class KComboBox;
00031 class KFileDialog;
00032 class KLineEdit;
00033 class KURLCompletion;
00034 class KURLDragPushButton;
00035 
00036 class QString;
00037 class QTimer;
00038 
00056 class KIO_EXPORT KURLRequester : public QHBox
00057 {
00058     Q_OBJECT
00059     Q_PROPERTY( QString url READ url WRITE setURL )
00060     Q_PROPERTY( bool showLocalProtocol READ showLocalProtocol WRITE setShowLocalProtocol )
00061     Q_PROPERTY( QString filter READ filter WRITE setFilter )
00062     Q_PROPERTY( uint mode READ mode WRITE setMode )
00063 
00064 public:
00068     KURLRequester( QWidget *parent=0, const char *name=0 );
00069 
00074     KURLRequester( const QString& url, QWidget *parent=0, const char *name=0 );
00075 
00082     KURLRequester( QWidget *editWidget, QWidget *parent, const char *name=0 );
00086     ~KURLRequester();
00087 
00094     QString url() const;
00095 
00102     void setShowLocalProtocol( bool b );
00103 
00110     void setMode( uint m );
00111 
00117     uint mode() const;
00118 
00119 
00124     void setFilter( const QString& filter );
00125 
00131     QString filter() const;
00132 
00138     bool showLocalProtocol() const { return myShowLocalProt; }
00139 
00148     virtual KFileDialog * fileDialog() const;
00149 
00157     KLineEdit * lineEdit() const;
00158 
00163     KComboBox * comboBox() const;
00164 
00169     KPushButton * button() const;
00170 
00174     KURLCompletion *completionObject() const { return myCompletion; }
00175 
00187     KEditListBox::CustomEditor customEditor();
00188 
00189 public slots:
00196     void setURL( const QString& url );
00197 
00202     virtual void setCaption( const QString& caption );
00203 
00207     void clear();
00208 
00209 signals:
00210     // forwards from LineEdit
00216     void textChanged( const QString& );
00217 
00221     void returnPressed();
00222 
00227     void returnPressed( const QString& );
00228 
00240     void openFileDialog( KURLRequester * );
00241 
00247     void urlSelected( const QString& );
00248 
00249 protected:
00250     void        init();
00251 
00252     KURLCompletion *    myCompletion;
00253 
00254 
00255 private:
00256     KURLDragPushButton * myButton;
00257     bool        myShowLocalProt;
00258     mutable KFileDialog * myFileDialog;
00259 
00260 
00261 protected slots:
00266     void slotOpenDialog();
00267 
00268 private slots:
00269     void slotUpdateURL();
00270 
00271 protected:
00272     virtual void virtual_hook( int id, void* data );
00273 private:
00274     class KURLRequesterPrivate;
00275     KURLRequesterPrivate *d;
00276 };
00277 
00278 class KIO_EXPORT KURLComboRequester : public KURLRequester // For use in Qt Designer
00279 {
00280     Q_OBJECT
00281 public:
00285     KURLComboRequester( QWidget *parent=0, const char *name=0 );
00286 };
00287 
00288 
00289 #endif // KURLREQUESTER_H
KDE Logo
This file is part of the documentation for kio Library Version 3.3.90.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 30 10:15:31 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003