konq_iconviewwidget.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __konq_iconviewwidget_h__
00021 #define __konq_iconviewwidget_h__
00022
00023 #include <kiconloader.h>
00024 #include <kiconview.h>
00025 #include <kurl.h>
00026 #include <qguardedptr.h>
00027 #include <kfileitem.h>
00028
00029 class KonqFMSettings;
00030 class KFileIVI;
00031 class KonqIconDrag;
00032 namespace KIO { class Job; }
00033
00040 class KonqIconViewWidget : public KIconView
00041 {
00042 Q_OBJECT
00043 Q_PROPERTY( bool sortDirectoriesFirst READ sortDirectoriesFirst WRITE setSortDirectoriesFirst )
00044 Q_PROPERTY( QRect iconArea READ iconArea WRITE setIconArea )
00045 Q_PROPERTY( int lineupMode READ lineupMode WRITE setLineupMode )
00046 Q_PROPERTY( QString url READ urlString WRITE setNewURL )
00047
00048 friend class KFileIVI;
00049
00050 public:
00051
00052 enum LineupMode { LineupHorizontal=1, LineupVertical, LineupBoth };
00053
00058 KonqIconViewWidget( QWidget *parent = 0L, const char *name = 0L, WFlags f = 0, bool kdesktop = FALSE );
00059 virtual ~KonqIconViewWidget();
00060
00069 bool initConfig( bool bInit );
00070
00076 void setIconArea( const QRect &rect );
00077
00081 virtual void focusOutEvent( QFocusEvent * );
00082
00086 QRect iconArea() const;
00087
00092 void setLineupMode(int mode);
00093
00097 int lineupMode() const;
00098
00104 void lineupIcons();
00105
00115 void setIcons( int size, const QStringList& stopImagePreviewFor = QStringList() );
00116
00120 void refreshMimeTypes();
00121
00122 int iconSize() { return m_size; }
00123
00124 void calculateGridX();
00129 int gridXValue() const;
00130
00137 void startImagePreview( const QStringList &ignored, bool force );
00138 void stopImagePreview();
00139 bool isPreviewRunning() const;
00140 void setThumbnailPixmap( KFileIVI * item, const QPixmap & pixmap );
00141 void disableSoundPreviews();
00142
00143 void setURL ( const KURL & kurl );
00144
00145 const KURL & url() { return m_url; }
00146 QString urlString() const { return m_url.url(); }
00147 void setRootItem ( const KFileItem * item ) { m_rootItem = item; }
00148
00152 KFileItemList selectedFileItems();
00153
00154 void setItemColor( const QColor &c );
00155 QColor itemColor() const;
00156
00157 virtual void cutSelection();
00158 virtual void copySelection();
00159 virtual void pasteSelection();
00160 virtual KURL::List selectedUrls();
00161 void paste( const KURL &url );
00162
00163 bool sortDirectoriesFirst() const;
00164 void setSortDirectoriesFirst( bool b );
00165
00169 const KURL::List & dragURLs() { return m_lstDragURLs; }
00170
00174 virtual void clear();
00175
00179 virtual void takeItem( QIconViewItem *item );
00180
00184 virtual void insertInGrid( QIconViewItem *item );
00185
00189 virtual void setItemTextPos( ItemTextPos pos );
00190
00194 virtual void visualActivate(QIconViewItem *);
00195
00196 bool isDesktop() const { return m_bDesktop; }
00197
00201 virtual void setWallpaper(const KURL&) { }
00202
00203 bool maySetWallpaper();
00204 void setMaySetWallpaper(bool b);
00205
00206 void disableIcons( const KURL::List & lst );
00207
00208 QString iconPositionGroupPrefix() const { return m_iconPositionGroupPrefix; }
00209 QString dotDirectoryPath() const { return m_dotDirectoryPath; }
00210
00211 void setPreviewSettings(const QStringList& mimeTypes);
00212 const QStringList& previewSettings();
00213 void setNewURL( const QString& url );
00214
00215 public slots:
00219 virtual void slotSelectionChanged();
00220
00221 void slotSaveIconPositions();
00222
00223 void renameSelectedItem();
00224
00225 void slotToolTipPreview( const KFileItem *, const QPixmap & );
00226 void slotToolTipPreviewResult();
00227
00228 signals:
00232 void enableAction( const char * name, bool enabled );
00233
00234 void dropped();
00235 void imagePreviewFinished();
00236
00237 protected slots:
00238
00239 virtual void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & );
00240
00241 void slotItemRenamed(QIconViewItem *item, const QString &name);
00242
00243 void slotIconChanged(int);
00244 void slotOnItem(QIconViewItem *);
00245 void slotOnViewport();
00246 void slotStartSoundPreview();
00247 void slotPreview(const KFileItem *, const QPixmap &);
00248 void slotPreviewResult();
00249
00250 void slotMovieUpdate( const QRect& rect );
00251 void slotMovieStatus( int status );
00252 void slotReenableAnimation();
00253
00254 protected:
00255 virtual QDragObject *dragObject();
00256 KonqIconDrag *konqDragObject( QWidget * dragSource = 0L );
00257 bool mimeTypeMatch( const QString& mimeType, const QStringList& mimeList ) const;
00258
00259 virtual void drawBackground( QPainter *p, const QRect &r );
00265 virtual void drawBackground( QPainter *p, const QRect &r,
00266 const QPoint &pt );
00267 virtual void contentsDragEnterEvent( QDragEnterEvent *e );
00268 virtual void contentsDropEvent( QDropEvent *e );
00269 virtual void contentsMousePressEvent( QMouseEvent *e );
00270 virtual void contentsMouseReleaseEvent ( QMouseEvent * e );
00271 virtual void backgroundPixmapChange( const QPixmap & );
00272 void readAnimatedIconsConfig();
00273
00274 private:
00275 KURL m_url;
00276 const KFileItem * m_rootItem;
00277
00278 KURL::List m_lstDragURLs;
00279
00280 int m_size;
00281
00283 KonqFMSettings * m_pSettings;
00284
00285 bool m_bMousePressed;
00286 QPoint m_mousePos;
00287
00288 QColor iColor;
00289
00290 bool m_bSortDirsFirst;
00291
00292 QString m_iconPositionGroupPrefix;
00293 QString m_dotDirectoryPath;
00294
00295 int m_LineupMode;
00296 QRect m_IconRect;
00297
00298 bool m_bDesktop;
00299 bool m_bSetGridX;
00300
00301 private:
00302 struct KonqIconViewWidgetPrivate *d;
00303
00304 };
00305
00306 #endif
This file is part of the documentation for kdelibs Version 3.1.5.