kio Library API Documentation

kicondialog.h

00001 /* vi: ts=8 sts=4 sw=4 00002 * 00003 * This file is part of the KDE project, module kfile. 00004 * Copyright (C) 2000 Geert Jansen <jansen@kde.org> 00005 * (C) 2000 Kurt Granroth <granroth@kde.org> 00006 * (C) 1997 Christoph Neerfeld <chris@kde.org> 00007 * (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org> 00008 * 00009 * This is free software; it comes under the GNU Library General 00010 * Public License, version 2. See the file "COPYING.LIB" for the 00011 * exact licensing terms. 00012 */ 00013 00014 #ifndef __KIconDialog_h__ 00015 #define __KIconDialog_h__ 00016 00017 #include <qstring.h> 00018 #include <qstringlist.h> 00019 #include <qpushbutton.h> 00020 00021 #include <kicontheme.h> 00022 #include <kdialogbase.h> 00023 #include <kiconview.h> 00024 00025 class QComboBox; 00026 class QTimer; 00027 class QKeyEvent; 00028 class QRadioButton; 00029 class KProgress; 00030 class KIconLoader; 00031 00035 class KIO_EXPORT KIconCanvas: public KIconView 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 KIconCanvas(QWidget *parent=0L, const char *name=0L); 00041 ~KIconCanvas(); 00042 00046 void loadFiles(const QStringList& files); 00047 00051 QString getCurrent() const; 00052 00053 public slots: 00054 void stopLoading(); 00055 00056 signals: 00060 void nameChanged(QString); 00061 /* KDE 4: Make it const QString & */ 00062 00063 void startLoading(int); 00064 void progress(int); 00065 void finished(); 00066 00067 private slots: 00068 void slotLoadFiles(); 00069 void slotCurrentChanged(QIconViewItem *item); 00070 00071 private: 00072 QStringList mFiles; 00073 QTimer *mpTimer; 00074 KIconLoader *mpLoader; 00075 00076 protected: 00077 virtual void virtual_hook( int id, void* data ); 00078 00079 private: 00080 class KIconCanvasPrivate; 00081 KIconCanvasPrivate *d; 00082 }; 00083 00084 00091 class KIO_EXPORT KIconDialog: public KDialogBase 00092 { 00093 Q_OBJECT 00094 00095 public: 00099 KIconDialog(QWidget *parent=0L, const char *name=0L); 00103 KIconDialog(KIconLoader *loader, QWidget *parent=0, 00104 const char *name=0); 00108 ~KIconDialog(); 00109 00116 void setStrictIconSize(bool b); 00120 bool strictIconSize() const; 00125 void setCustomLocation( const QString& location ); 00126 00132 void setIconSize(int size); 00133 00138 int iconSize() const; 00139 00140 #ifndef KDE_NO_COMPAT 00141 00144 QString selectIcon(KIcon::Group group=KIcon::Desktop, KIcon::Context 00145 context=KIcon::Application, bool user=false); 00146 #endif 00147 00152 void setup( KIcon::Group group, 00153 KIcon::Context context = KIcon::Application, 00154 bool strictIconSize = false, int iconSize = 0, 00155 bool user = false ); 00156 00166 void setup( KIcon::Group group, KIcon::Context context, 00167 bool strictIconSize, int iconSize, bool user, bool lockUser, 00168 bool lockCustomDir ); 00169 00176 QString openDialog(); 00177 00182 void showDialog(); 00183 00203 static QString getIcon(KIcon::Group group=KIcon::Desktop, 00204 KIcon::Context context=KIcon::Application, 00205 bool strictIconSize=false, int iconSize = 0, 00206 bool user=false, QWidget *parent=0, 00207 const QString &caption=QString::null); 00208 00209 signals: 00210 void newIconName(const QString&); 00211 00212 protected slots: 00213 void slotOk(); 00214 00215 private slots: 00216 void slotButtonClicked(int); 00217 void slotContext(int); 00218 void slotStartLoading(int); 00219 void slotProgress(int); 00220 void slotFinished(); 00221 void slotAcceptIcons(); 00222 private: 00223 void init(); 00224 void showIcons(); 00225 00226 int mGroupOrSize; 00227 KIcon::Context mContext; 00228 int mType; 00229 00230 QStringList mFileList; 00231 QComboBox *mpCombo; 00232 QPushButton *mpBrowseBut; 00233 QRadioButton *mpRb1, *mpRb2; 00234 KProgress *mpProgress; 00235 KIconLoader *mpLoader; 00236 KIconCanvas *mpCanvas; 00237 00238 protected: 00239 virtual void virtual_hook( int id, void* data ); 00240 private: 00241 class KIconDialogPrivate; 00242 KIconDialogPrivate *d; 00243 }; 00244 00245 00254 class KIO_EXPORT KIconButton: public QPushButton 00255 { 00256 Q_OBJECT 00257 Q_PROPERTY( QString icon READ icon WRITE setIcon RESET resetIcon ) 00258 Q_PROPERTY( int iconSize READ iconSize WRITE setIconSize) 00259 Q_PROPERTY( bool strictIconSize READ strictIconSize WRITE setStrictIconSize ) 00260 00261 public: 00265 KIconButton(QWidget *parent=0L, const char *name=0L); 00266 00270 KIconButton(KIconLoader *loader, QWidget *parent, const char *name=0L); 00274 ~KIconButton(); 00275 00281 void setStrictIconSize(bool b); 00285 bool strictIconSize() const; 00286 00291 void setIconType(KIcon::Group group, KIcon::Context context, bool user=false); 00292 00296 void setIcon(const QString& icon); 00297 00301 void resetIcon(); 00302 00306 QString icon() const { return mIcon; } 00307 00313 void setIconSize( int size ); 00314 00319 int iconSize() const; 00320 00321 signals: 00325 void iconChanged(QString icon); 00326 /* KDE 4: Make it const QString & */ 00327 00328 private slots: 00329 void slotChangeIcon(); 00330 void newIconName(const QString& name); 00331 00332 private: 00333 void init( KIconLoader *loader ); 00334 00335 bool mbUser; 00336 KIcon::Group mGroup; 00337 KIcon::Context mContext; 00338 00339 QString mIcon; 00340 KIconDialog *mpDialog; 00341 KIconLoader *mpLoader; 00342 class KIconButtonPrivate; 00343 KIconButtonPrivate *d; 00344 }; 00345 00346 00347 #endif // __KIconDialog_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 Tue Apr 12 23:09:14 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003