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 00112 void lineupIcons( QIconView::Arrangement arrangement ); 00113 00123 void setIcons( int size, const QStringList& stopImagePreviewFor = QStringList() ); 00124 00128 void refreshMimeTypes(); 00129 00130 int iconSize() { return m_size; } 00131 00132 void calculateGridX(); 00137 int gridXValue() const; 00138 00150 void gridValues( int* x, int* y, int* dx, int* dy, int* nx, int* ny ); 00151 00158 void startImagePreview( const QStringList &ignored, bool force ); 00159 void stopImagePreview(); 00160 bool isPreviewRunning() const; 00161 // unused 00162 void setThumbnailPixmap( KFileIVI * item, const QPixmap & pixmap ); 00163 void disableSoundPreviews(); 00164 00165 void setURL ( const KURL & kurl ); 00166 // ### KDE4: make const 00167 const KURL & url() { return m_url; } 00168 QString urlString() const { return m_url.url(); } 00169 void setRootItem ( const KFileItem * item ) { m_rootItem = item; } 00170 00174 KFileItemList selectedFileItems(); 00175 00176 void setItemColor( const QColor &c ); 00177 QColor itemColor() const; 00178 00179 virtual void cutSelection(); 00180 virtual void copySelection(); 00181 virtual void pasteSelection(); 00182 virtual KURL::List selectedUrls(); 00183 void paste( const KURL &url ); 00184 00185 bool sortDirectoriesFirst() const; 00186 void setSortDirectoriesFirst( bool b ); 00187 00188 void setCaseInsensitiveSort( bool b ); 00189 bool caseInsensitiveSort() const; 00190 00194 const KURL::List & dragURLs() { return m_lstDragURLs; } 00195 00199 virtual void clear(); 00200 00204 virtual void takeItem( QIconViewItem *item ); 00205 00209 virtual void insertInGrid( QIconViewItem *item ); 00210 00214 virtual void setItemTextPos( ItemTextPos pos ); 00215 00219 virtual void visualActivate(QIconViewItem *); 00220 00221 bool isDesktop() const { return m_bDesktop; } 00222 00226 virtual void setWallpaper(const KURL&) { } 00227 00228 bool maySetWallpaper(); 00229 void setMaySetWallpaper(bool b); 00230 00231 void disableIcons( const KURL::List & lst ); 00232 00233 QString iconPositionGroupPrefix() const { return m_iconPositionGroupPrefix; } 00234 QString dotDirectoryPath() const { return m_dotDirectoryPath; } 00235 00236 void setPreviewSettings(const QStringList& mimeTypes); 00237 const QStringList& previewSettings(); 00238 void setNewURL( const QString& url ); 00239 00240 public slots: 00244 virtual void slotSelectionChanged(); 00245 00246 void slotSaveIconPositions(); 00247 00248 void renameSelectedItem(); 00249 void renameCurrentItem(); 00250 00251 void slotToolTipPreview( const KFileItem *, const QPixmap & ); 00252 void slotToolTipPreviewResult(); 00253 signals: 00257 void enableAction( const char * name, bool enabled ); 00258 00259 void dropped(); 00260 void imagePreviewFinished(); 00261 00262 void incIconSize(); 00263 void decIconSize(); 00264 00268 void dragEntered(); 00269 void dragLeft(); 00274 void dragFinished(); 00275 00276 protected slots: 00277 virtual void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & ); 00278 00279 void slotItemRenamed(QIconViewItem *item, const QString &name); 00280 00281 void slotIconChanged(int); 00282 void slotOnItem(QIconViewItem *); 00283 void slotOnViewport(); 00284 void slotStartSoundPreview(); 00285 void slotPreview(const KFileItem *, const QPixmap &); 00286 void slotPreviewResult(); 00287 void slotStartTooltip(); 00288 00289 void slotMovieUpdate( const QRect& rect ); 00290 void slotMovieStatus( int status ); 00291 void slotReenableAnimation(); 00292 00293 void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> &files); 00294 void doubleClickTimeout(); 00295 00296 protected: 00297 virtual QDragObject *dragObject(); 00298 KonqIconDrag *konqDragObject( QWidget * dragSource = 0L ); 00299 bool mimeTypeMatch( const QString& mimeType, const QStringList& mimeList ) const; 00300 00301 virtual void drawBackground( QPainter *p, const QRect &r ); 00307 virtual void drawBackground( QPainter *p, const QRect &r, 00308 const QPoint &pt ); 00309 virtual void contentsDragEnterEvent( QDragEnterEvent *e ); 00310 virtual void contentsDragLeaveEvent( QDragLeaveEvent *e ); 00311 virtual void contentsDropEvent( QDropEvent *e ); 00312 virtual void contentsMousePressEvent( QMouseEvent *e ); 00313 virtual void contentsMouseReleaseEvent ( QMouseEvent * e ); 00314 virtual void contentsMouseMoveEvent( QMouseEvent *e ); 00315 virtual void backgroundPixmapChange( const QPixmap & ); 00316 virtual void wheelEvent( QWheelEvent* ); 00317 void readAnimatedIconsConfig(); 00318 void mousePressChangeValue(); 00319 00320 bool boostPreview() const; 00321 int previewIconSize( int size ) const; 00322 int largestPreviewIconSize( int size ) const; 00323 bool canPreview( KFileItem* item ); 00324 void updatePreviewMimeTypes(); 00325 00326 private: 00327 KURL m_url; 00328 const KFileItem * m_rootItem; 00329 00330 KURL::List m_lstDragURLs; 00331 00332 int m_size; 00333 00335 KonqFMSettings * m_pSettings; 00336 00337 bool m_bMousePressed; 00338 QPoint m_mousePos; 00339 00340 QColor iColor; 00341 00342 bool m_bSortDirsFirst; 00343 00344 QString m_iconPositionGroupPrefix; 00345 QString m_dotDirectoryPath; 00346 00347 int m_LineupMode; 00348 QRect m_IconRect; 00349 00350 bool m_bDesktop; 00351 bool m_bSetGridX; 00352 00353 private: 00354 struct KonqIconViewWidgetPrivate *d; 00355 00356 }; 00357 00358 #endif
KDE Logo
This file is part of the documentation for libkonq Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 13 21:46:59 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003