libkonq Library API Documentation

konq_iconviewwidget.h

00001 /* This file is part of the KDE project 00002 Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 00003 Copyright (C) 2000, 2001, 2002 David Faure <david@mandrakesoft.com> 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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 #include <kio/jobclasses.h> 00029 00030 class KonqFMSettings; 00031 class KFileIVI; 00032 class KonqIconDrag; 00033 namespace KIO { class Job; } 00034 00041 class KonqIconViewWidget : public KIconView 00042 { 00043 Q_OBJECT 00044 Q_PROPERTY( bool sortDirectoriesFirst READ sortDirectoriesFirst WRITE setSortDirectoriesFirst ) 00045 Q_PROPERTY( QRect iconArea READ iconArea WRITE setIconArea ) 00046 Q_PROPERTY( int lineupMode READ lineupMode WRITE setLineupMode ) 00047 Q_PROPERTY( QString url READ urlString WRITE setNewURL ) 00048 00049 friend class KFileIVI; 00050 00051 public: 00052 00053 enum LineupMode { LineupHorizontal=1, LineupVertical, LineupBoth }; 00054 00059 KonqIconViewWidget( QWidget *parent = 0L, const char *name = 0L, WFlags f = 0, bool kdesktop = FALSE ); 00060 virtual ~KonqIconViewWidget(); 00061 00070 bool initConfig( bool bInit ); 00071 00077 void setIconArea( const QRect &rect ); 00078 00082 virtual void focusOutEvent( QFocusEvent * /* ev */ ); 00083 00087 QRect iconArea() const; 00088 00093 void setLineupMode(int mode); 00094 00098 int lineupMode() const; 00099 00105 void lineupIcons(); 00106 00116 void setIcons( int size, const QStringList& stopImagePreviewFor = QStringList() ); 00117 00121 void refreshMimeTypes(); 00122 00123 int iconSize() { return m_size; } 00124 00125 void calculateGridX(); 00130 int gridXValue() const; 00131 00138 void startImagePreview( const QStringList &ignored, bool force ); 00139 void stopImagePreview(); 00140 bool isPreviewRunning() const; 00141 // unused 00142 void setThumbnailPixmap( KFileIVI * item, const QPixmap & pixmap ); 00143 void disableSoundPreviews(); 00144 00145 void setURL ( const KURL & kurl ); 00146 // ### KDE4: make const 00147 const KURL & url() { return m_url; } 00148 QString urlString() const { return m_url.url(); } 00149 void setRootItem ( const KFileItem * item ) { m_rootItem = item; } 00150 00154 KFileItemList selectedFileItems(); 00155 00156 void setItemColor( const QColor &c ); 00157 QColor itemColor() const; 00158 00159 virtual void cutSelection(); 00160 virtual void copySelection(); 00161 virtual void pasteSelection(); 00162 virtual KURL::List selectedUrls(); 00163 void paste( const KURL &url ); 00164 00165 bool sortDirectoriesFirst() const; 00166 void setSortDirectoriesFirst( bool b ); 00167 00168 void setCaseInsensitiveSort( bool b ); 00169 bool caseInsensitiveSort() const; 00170 00174 const KURL::List & dragURLs() { return m_lstDragURLs; } 00175 00179 virtual void clear(); 00180 00184 virtual void takeItem( QIconViewItem *item ); 00185 00189 virtual void insertInGrid( QIconViewItem *item ); 00190 00194 virtual void setItemTextPos( ItemTextPos pos ); 00195 00199 virtual void visualActivate(QIconViewItem *); 00200 00201 bool isDesktop() const { return m_bDesktop; } 00202 00206 virtual void setWallpaper(const KURL&) { } 00207 00208 bool maySetWallpaper(); 00209 void setMaySetWallpaper(bool b); 00210 00211 void disableIcons( const KURL::List & lst ); 00212 00213 QString iconPositionGroupPrefix() const { return m_iconPositionGroupPrefix; } 00214 QString dotDirectoryPath() const { return m_dotDirectoryPath; } 00215 00216 void setPreviewSettings(const QStringList& mimeTypes); 00217 const QStringList& previewSettings(); 00218 void setNewURL( const QString& url ); 00219 00220 public slots: 00224 virtual void slotSelectionChanged(); 00225 00226 void slotSaveIconPositions(); 00227 00228 void renameSelectedItem(); 00229 00230 void slotToolTipPreview( const KFileItem *, const QPixmap & ); 00231 void slotToolTipPreviewResult(); 00232 signals: 00236 void enableAction( const char * name, bool enabled ); 00237 00238 void dropped(); 00239 void imagePreviewFinished(); 00240 00241 void incIconSize(); 00242 void decIconSize(); 00243 00244 protected slots: 00245 virtual void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & ); 00246 00247 void slotItemRenamed(QIconViewItem *item, const QString &name); 00248 00249 void slotIconChanged(int); 00250 void slotOnItem(QIconViewItem *); 00251 void slotOnViewport(); 00252 void slotStartSoundPreview(); 00253 void slotPreview(const KFileItem *, const QPixmap &); 00254 void slotPreviewResult(); 00255 00256 void slotMovieUpdate( const QRect& rect ); 00257 void slotMovieStatus( int status ); 00258 void slotReenableAnimation(); 00259 00260 void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> &files); 00261 void doubleClickTimeout(); 00262 00263 private slots: 00264 void slotRearrangeIcons(); 00265 00266 protected: 00267 virtual QDragObject *dragObject(); 00268 KonqIconDrag *konqDragObject( QWidget * dragSource = 0L ); 00269 bool mimeTypeMatch( const QString& mimeType, const QStringList& mimeList ) const; 00270 00271 virtual void drawBackground( QPainter *p, const QRect &r ); 00277 virtual void drawBackground( QPainter *p, const QRect &r, 00278 const QPoint &pt ); 00279 virtual void contentsDragEnterEvent( QDragEnterEvent *e ); 00280 virtual void contentsDropEvent( QDropEvent *e ); 00281 virtual void contentsMousePressEvent( QMouseEvent *e ); 00282 virtual void contentsMouseReleaseEvent ( QMouseEvent * e ); 00283 virtual void contentsMouseMoveEvent( QMouseEvent *e ); 00284 virtual void backgroundPixmapChange( const QPixmap & ); 00285 virtual void wheelEvent( QWheelEvent* ); 00286 void readAnimatedIconsConfig(); 00287 void mousePressChangeValue(); 00288 00289 private: 00290 KURL m_url; 00291 const KFileItem * m_rootItem; 00292 00293 KURL::List m_lstDragURLs; 00294 00295 int m_size; 00296 00298 KonqFMSettings * m_pSettings; 00299 00300 bool m_bMousePressed; 00301 QPoint m_mousePos; 00302 00303 QColor iColor; 00304 00305 bool m_bSortDirsFirst; 00306 00307 QString m_iconPositionGroupPrefix; 00308 QString m_dotDirectoryPath; 00309 00310 int m_LineupMode; 00311 QRect m_IconRect; 00312 00313 bool m_bDesktop; 00314 bool m_bSetGridX; 00315 00316 private: 00317 struct KonqIconViewWidgetPrivate *d; 00318 00319 }; 00320 00321 #endif
KDE Logo
This file is part of the documentation for libkonq Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Aug 31 00:02:07 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003