kurlbar.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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 KURLBarItem : public QListBoxPixmap
00043 {
00044 public:
00055 KURLBarItem( KURLBar *parent, const KURL& url,
00056 const QString& description = QString::null,
00057 const QString& icon = QString::null,
00058 KIcon::Group group = KIcon::Panel );
00062 ~KURLBarItem();
00063
00069 void setURL( const KURL& url );
00075 void setIcon( const QString& icon, KIcon::Group group = KIcon::Panel );
00080 void setDescription( const QString& desc );
00085 void setToolTip( const QString& tip );
00086
00091 QSize sizeHint() const;
00092
00096 virtual int width( const QListBox * ) const;
00100 virtual int height( const QListBox * ) const;
00101
00106 const KURL& url() const { return m_url; }
00111 const QString& description() const { return m_description; }
00116 const QString& icon() const { return m_icon; }
00121 QString toolTip() const;
00126 KIcon::Group iconGroup() const { return m_group; }
00130 virtual const QPixmap * pixmap() const { return &m_pixmap; }
00131
00136 void setApplicationLocal( bool local ) { m_appLocal = local; }
00143 bool applicationLocal() const { return m_appLocal; }
00144
00145
00146 protected:
00147 virtual void paint( QPainter *p );
00148
00149 private:
00150 int iconSize() const;
00151
00152 KURL m_url;
00153 QString m_description;
00154 QString m_icon;
00155 QString m_toolTip;
00156 QPixmap m_pixmap;
00157 KIcon::Group m_group;
00158 KURLBar *m_parent;
00159 bool m_appLocal :1;
00160
00161 protected:
00162 virtual void virtual_hook( int id, void* data );
00163 private:
00164 class KURLBarItemPrivate;
00165 KURLBarItemPrivate *d;
00166 };
00167
00168
00171
00172
00173 class KURLBarListBox;
00174
00198 class KURLBar : public QFrame
00199 {
00200 Q_OBJECT
00201
00202 public:
00207 KURLBar( bool useGlobalItems,
00208 QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
00212 ~KURLBar();
00213
00224 virtual KURLBarItem * insertItem( const KURL& url,
00225 const QString& description,
00226 bool applicationLocal = true,
00227 const QString& icon = QString::null,
00228 KIcon::Group group = KIcon::Panel );
00234 virtual void setOrientation( Qt::Orientation orient );
00239 Orientation orientation() const;
00240
00247 virtual void setListBox( KURLBarListBox * );
00252 KURLBarListBox *listBox() const { return m_listBox; }
00253
00259 virtual void setIconSize( int size );
00265 int iconSize() const { return m_iconSize; }
00266
00270 virtual void clear();
00271
00276 virtual QSize sizeHint() const;
00280 virtual QSize minimumSizeHint() const;
00281
00287 virtual void readConfig( KConfig *config, const QString& itemGroup );
00293 virtual void writeConfig( KConfig *config, const QString& itemGroup );
00294
00300 virtual void readItem( int i, KConfig *config, bool applicationLocal );
00307 virtual void writeItem( KURLBarItem *item, int i, KConfig *, bool global );
00308
00314 KURLBarItem * currentItem() const;
00321 KURL currentURL() const;
00322
00328 bool isModified() const { return m_isModified; }
00329
00333 bool isImmutable() const { return m_isImmutable; }
00334
00338 bool isVertical() const { return orientation() == Vertical; }
00339
00340 public slots:
00347 virtual void setCurrentItem( const KURL& url );
00348
00349 signals:
00354 void activated( const KURL& url );
00355
00356 protected:
00362 virtual bool addNewItem();
00370 virtual bool editItem( KURLBarItem *item );
00374 virtual void resizeEvent( QResizeEvent * );
00375
00379 KURLBarItem * m_activeItem;
00383 bool m_useGlobal :1;
00384
00389 bool m_isModified :1;
00390
00395 bool m_isImmutable :1;
00396
00397 protected slots:
00402 virtual void slotContextMenuRequested( QListBoxItem *, const QPoint& pos );
00407 virtual void slotSelected( QListBoxItem * );
00408
00413 virtual void slotDropped( QDropEvent * );
00414
00415 private slots:
00416 void slotSelected( int button, QListBoxItem * );
00417
00418 private:
00419 KURLBarListBox *m_listBox;
00420 int m_iconSize;
00421
00422
00423 protected:
00424 virtual void virtual_hook( int id, void* data );
00425 private:
00426 class KURLBarPrivate;
00427 KURLBarPrivate *d;
00428 };
00429
00430
00433
00434
00435 class QDragObject;
00436 class KURLBarToolTip;
00437
00446 class KURLBarListBox : public KListBox
00447 {
00448 Q_OBJECT
00449
00450 public:
00454 KURLBarListBox( QWidget *parent = 0, const char *name = 0 );
00458 ~KURLBarListBox();
00459
00466 virtual void setOrientation( Qt::Orientation orient );
00471 Qt::Orientation orientation() const { return m_orientation; }
00472
00473 bool isVertical() const { return m_orientation == Qt::Vertical; }
00474
00475 signals:
00479 void dropped( QDropEvent *e );
00480
00481 protected:
00485 virtual QDragObject * dragObject();
00489 virtual void contentsDragEnterEvent( QDragEnterEvent * );
00493 virtual void contentsDropEvent( QDropEvent * );
00494
00495 private:
00496 Qt::Orientation m_orientation;
00497 KURLBarToolTip *m_toolTip;
00498
00499 protected:
00500 virtual void virtual_hook( int id, void* data );
00501 private:
00502 class KURLBarListBoxPrivate;
00503 KURLBarListBoxPrivate *d;
00504 };
00505
00506
00509
00510
00511 class QCheckBox;
00512 class KIconButton;
00513 class KLineEdit;
00514 class KURLRequester;
00515
00523 class KURLBarItemDialog : public KDialogBase
00524 {
00525 Q_OBJECT
00526
00527 public:
00535 static bool getInformation( bool allowGlobal, KURL& url,
00536 QString& description, QString& icon,
00537 bool& appLocal, int iconSize,
00538 QWidget *parent = 0 );
00539
00557 KURLBarItemDialog( bool allowGlobal, const KURL& url,
00558 const QString& description, QString icon,
00559 bool appLocal = true,
00560 int iconSize = KIcon::SizeMedium,
00561 QWidget *parent = 0, const char *name = 0 );
00565 ~KURLBarItemDialog();
00566
00570 KURL url() const;
00571
00575 QString description() const;
00576
00580 QString icon() const;
00581
00587 bool applicationLocal() const;
00588
00589 protected:
00593 KURLRequester * m_urlEdit;
00597 KLineEdit * m_edit;
00601 KIconButton * m_iconButton;
00605 QCheckBox * m_appLocal;
00606
00607 public slots:
00608 void urlChanged(const QString & );
00609
00610 private:
00611 class KURLBarItemDialogPrivate;
00612 KURLBarItemDialogPrivate *d;
00613 };
00614
00615
00616 #endif // KURLBAR_H
This file is part of the documentation for kdelibs Version 3.1.5.