kio Library API Documentation

kurlbar.h

00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2001,2002,2003 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 as published by the Free Software Foundation, version 2. 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 #ifndef KURLBAR_H 00020 #define KURLBAR_H 00021 00022 #include <qevent.h> 00023 #include <qframe.h> 00024 #include <qtooltip.h> 00025 00026 #include <kdialogbase.h> 00027 #include <kicontheme.h> 00028 #include <klistbox.h> 00029 #include <kurl.h> 00030 00031 class KConfig; 00032 class KURLBar; 00033 00042 class KIO_EXPORT KURLBarItem : public QListBoxPixmap 00043 { 00044 public: 00058 KURLBarItem( KURLBar *parent, const KURL& url, bool persistent, 00059 const QString& description = QString::null, 00060 const QString& icon = QString::null, 00061 KIcon::Group group = KIcon::Panel ); 00062 00075 KURLBarItem( KURLBar *parent, const KURL& url, 00076 const QString& description = QString::null, 00077 const QString& icon = QString::null, 00078 KIcon::Group group = KIcon::Panel ); 00079 00083 ~KURLBarItem(); 00084 00090 void setURL( const KURL& url ); 00096 void setIcon( const QString& icon, KIcon::Group group = KIcon::Panel ); 00101 void setDescription( const QString& desc ); 00106 void setToolTip( const QString& tip ); 00107 00112 QSize sizeHint() const; 00113 00117 virtual int width( const QListBox * ) const; 00121 virtual int height( const QListBox * ) const; 00122 00127 const KURL& url() const { return m_url; } 00132 const QString& description() const { return m_description; } 00137 const QString& icon() const { return m_icon; } 00142 QString toolTip() const; 00147 KIcon::Group iconGroup() const { return m_group; } 00151 virtual const QPixmap * pixmap() const { return &m_pixmap; } 00152 00159 void setApplicationLocal( bool local ); 00160 00167 bool applicationLocal() const { return m_appLocal; } 00168 00174 bool isPersistent() const; 00175 00176 protected: 00177 virtual void paint( QPainter *p ); 00178 00179 private: 00180 int iconSize() const; 00181 void init( const QString& icon, KIcon::Group group, 00182 const QString& description, bool persistent ); 00183 00184 KURL m_url; 00185 QString m_description; 00186 QString m_icon; 00187 QString m_toolTip; 00188 QPixmap m_pixmap; 00189 KIcon::Group m_group; 00190 KURLBar *m_parent; 00191 bool m_appLocal :1; 00192 00193 protected: 00194 virtual void virtual_hook( int id, void* data ); 00195 private: 00196 class KURLBarItemPrivate; 00197 KURLBarItemPrivate *d; 00198 }; 00199 00200 00203 00204 00205 class KURLBarListBox; 00206 00230 class KIO_EXPORT KURLBar : public QFrame 00231 { 00232 Q_OBJECT 00233 00234 public: 00239 KURLBar( bool useGlobalItems, 00240 QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 00244 ~KURLBar(); 00245 00256 virtual KURLBarItem * insertItem( const KURL& url, 00257 const QString& description, 00258 bool applicationLocal = true, 00259 const QString& icon = QString::null, 00260 KIcon::Group group = KIcon::Panel ); 00271 virtual KURLBarItem * insertDynamicItem( const KURL& url, 00272 const QString& description, 00273 const QString& icon = QString::null, 00274 KIcon::Group group = KIcon::Panel ); 00280 virtual void setOrientation( Qt::Orientation orient ); 00285 Orientation orientation() const; 00286 00293 virtual void setListBox( KURLBarListBox * ); 00298 KURLBarListBox *listBox() const { return m_listBox; } 00299 00305 virtual void setIconSize( int size ); 00311 int iconSize() const { return m_iconSize; } 00312 00316 virtual void clear(); 00317 00322 virtual QSize sizeHint() const; 00323 00327 virtual QSize minimumSizeHint() const; 00328 00334 virtual void readConfig( KConfig *config, const QString& itemGroup ); 00340 virtual void writeConfig( KConfig *config, const QString& itemGroup ); 00341 00347 virtual void readItem( int i, KConfig *config, bool applicationLocal ); 00354 virtual void writeItem( KURLBarItem *item, int i, KConfig *, bool global ); 00355 00361 KURLBarItem * currentItem() const; 00368 KURL currentURL() const; 00369 00375 bool isModified() const { return m_isModified; } 00376 00380 bool isImmutable() const { return m_isImmutable; } 00381 00385 bool isVertical() const { return orientation() == Vertical; } 00386 00387 void createItemOnMDKMerge( const KURL &url, const QString & description, const QString &icon ); 00388 00389 public slots: 00396 virtual void setCurrentItem( const KURL& url ); 00397 00398 signals: 00403 void activated( const KURL& url ); 00404 00405 protected: 00411 virtual bool addNewItem(); 00419 virtual bool editItem( KURLBarItem *item ); 00420 00421 virtual void resizeEvent( QResizeEvent * ); 00422 00423 virtual void paletteChange( const QPalette & ); 00424 00428 KURLBarItem * m_activeItem; 00432 bool m_useGlobal :1; 00433 00438 bool m_isModified :1; 00439 00444 bool m_isImmutable :1; 00445 00446 protected slots: 00451 virtual void slotContextMenuRequested( QListBoxItem *, const QPoint& pos ); 00456 virtual void slotSelected( QListBoxItem * ); 00457 00462 virtual void slotDropped( QDropEvent * ); 00463 00464 private slots: 00465 void slotSelected( int button, QListBoxItem * ); 00466 00467 private: 00468 KURLBarListBox *m_listBox; 00469 int m_iconSize; 00470 00471 00472 protected: 00473 virtual void virtual_hook( int id, void* data ); 00474 private: 00475 class KURLBarPrivate; 00476 KURLBarPrivate *d; 00477 }; 00478 00479 00482 00483 00484 class QDragObject; 00485 class KURLBarToolTip; 00486 00495 class KIO_EXPORT KURLBarListBox : public KListBox 00496 { 00497 Q_OBJECT 00498 00499 public: 00503 KURLBarListBox( QWidget *parent = 0, const char *name = 0 ); 00507 ~KURLBarListBox(); 00508 00515 virtual void setOrientation( Qt::Orientation orient ); 00520 Qt::Orientation orientation() const { return m_orientation; } 00521 00522 bool isVertical() const { return m_orientation == Qt::Vertical; } 00523 00524 signals: 00528 void dropped( QDropEvent *e ); 00529 00530 protected: 00534 virtual QDragObject * dragObject(); 00535 00536 virtual void contentsDragEnterEvent( QDragEnterEvent * ); 00537 virtual void contentsDropEvent( QDropEvent * ); 00538 virtual void contextMenuEvent( QContextMenuEvent * ); 00539 virtual void paintEvent( QPaintEvent* ); 00540 00541 private: 00542 Qt::Orientation m_orientation; 00543 KURLBarToolTip *m_toolTip; 00544 00545 protected: 00546 virtual void virtual_hook( int id, void* data ); 00547 private: 00548 class KURLBarListBoxPrivate; 00549 KURLBarListBoxPrivate *d; 00550 }; 00551 00552 00555 00556 00557 class QCheckBox; 00558 class KIconButton; 00559 class KLineEdit; 00560 class KURLRequester; 00561 00569 class KIO_EXPORT KURLBarItemDialog : public KDialogBase 00570 { 00571 Q_OBJECT 00572 00573 public: 00581 static bool getInformation( bool allowGlobal, KURL& url, 00582 QString& description, QString& icon, 00583 bool& appLocal, int iconSize, 00584 QWidget *parent = 0 ); 00585 00603 KURLBarItemDialog( bool allowGlobal, const KURL& url, 00604 const QString& description, QString icon, 00605 bool appLocal = true, 00606 int iconSize = KIcon::SizeMedium, 00607 QWidget *parent = 0, const char *name = 0 ); 00611 ~KURLBarItemDialog(); 00612 00616 KURL url() const; 00617 00621 QString description() const; 00622 00626 QString icon() const; 00627 00633 bool applicationLocal() const; 00634 00635 protected: 00639 KURLRequester * m_urlEdit; 00643 KLineEdit * m_edit; 00647 KIconButton * m_iconButton; 00651 QCheckBox * m_appLocal; 00652 00653 public slots: 00654 void urlChanged(const QString & ); 00655 00656 private: 00657 class KURLBarItemDialogPrivate; 00658 KURLBarItemDialogPrivate *d; 00659 }; 00660 00661 00662 #endif // KURLBAR_H
KDE Logo
This file is part of the documentation for kio Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Apr 14 00:20:30 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003