KIO
kicondialog.h
Go to the documentation of this file.
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 <kio/kio_export.h> 00018 00019 #include <QtCore/QStringList> 00020 #include <QtGui/QPushButton> 00021 00022 #include <kdialog.h> 00023 #include <klistwidget.h> 00024 00025 class KIconLoader; 00026 00030 class KIO_EXPORT KIconCanvas: public KListWidget 00031 { 00032 Q_OBJECT 00033 00034 public: 00040 explicit KIconCanvas(QWidget *parent=0L); 00041 00045 ~KIconCanvas(); 00046 00050 void loadFiles(const QStringList& files); 00051 00055 QString getCurrent() const; 00056 00057 public Q_SLOTS: 00061 void stopLoading(); 00062 00063 Q_SIGNALS: 00067 void nameChanged(const QString&); 00068 00075 void startLoading(int count); 00076 00082 void progress(int number); 00083 00088 void finished(); 00089 00090 private: 00091 class KIconCanvasPrivate; 00092 KIconCanvasPrivate* const d; 00093 00094 Q_DISABLE_COPY(KIconCanvas) 00095 00096 Q_PRIVATE_SLOT(d, void _k_slotLoadFiles()) 00097 Q_PRIVATE_SLOT(d, void _k_slotCurrentChanged(QListWidgetItem *item)) 00098 }; 00099 00100 00107 class KIO_EXPORT KIconDialog: public KDialog 00108 { 00109 Q_OBJECT 00110 00111 public: 00117 explicit KIconDialog(QWidget *parent=0L); 00118 00125 explicit KIconDialog(KIconLoader *loader, QWidget *parent=0); 00126 00130 ~KIconDialog(); 00131 00138 void setStrictIconSize(bool b); 00142 bool strictIconSize() const; 00146 void setCustomLocation( const QString& location ); 00147 00153 void setIconSize(int size); 00154 00159 int iconSize() const; 00160 00168 void setup( KIconLoader::Group group, 00169 KIconLoader::Context context = KIconLoader::Application, 00170 bool strictIconSize = false, int iconSize = 0, 00171 bool user = false, bool lockUser = false, 00172 bool lockCustomDir = false ); 00173 00180 QString openDialog(); 00181 00186 void showDialog(); 00187 00206 static QString getIcon(KIconLoader::Group group=KIconLoader::Desktop, 00207 KIconLoader::Context context=KIconLoader::Application, 00208 bool strictIconSize=false, int iconSize = 0, 00209 bool user=false, QWidget *parent=0, 00210 const QString &caption=QString()); 00211 00212 Q_SIGNALS: 00213 void newIconName(const QString&); 00214 00215 protected Q_SLOTS: 00216 void slotOk(); 00217 00218 private: 00219 class KIconDialogPrivate; 00220 KIconDialogPrivate* const d; 00221 00222 Q_DISABLE_COPY(KIconDialog) 00223 00224 Q_PRIVATE_SLOT(d, void _k_slotContext(int)) 00225 Q_PRIVATE_SLOT(d, void _k_slotStartLoading(int)) 00226 Q_PRIVATE_SLOT(d, void _k_slotProgress(int)) 00227 Q_PRIVATE_SLOT(d, void _k_slotFinished()) 00228 Q_PRIVATE_SLOT(d, void _k_slotAcceptIcons()) 00229 Q_PRIVATE_SLOT(d, void _k_slotBrowse()) 00230 Q_PRIVATE_SLOT(d, void _k_slotOtherIconClicked()) 00231 Q_PRIVATE_SLOT(d, void _k_slotSystemIconClicked()) 00232 }; 00233 00234 00243 class KIO_EXPORT KIconButton: public QPushButton 00244 { 00245 Q_OBJECT 00246 Q_PROPERTY( QString icon READ icon WRITE setIcon RESET resetIcon ) 00247 Q_PROPERTY( int iconSize READ iconSize WRITE setIconSize) 00248 Q_PROPERTY( bool strictIconSize READ strictIconSize WRITE setStrictIconSize ) 00249 00250 public: 00256 explicit KIconButton(QWidget *parent=0L); 00257 00264 KIconButton(KIconLoader *loader, QWidget *parent); 00268 ~KIconButton(); 00269 00275 void setStrictIconSize(bool b); 00279 bool strictIconSize() const; 00280 00285 void setIconType(KIconLoader::Group group, KIconLoader::Context context, bool user=false); 00286 00290 void setIcon(const QString& icon); 00291 00292 void setIcon(const QIcon& icon); 00293 00297 void resetIcon(); 00298 00302 const QString &icon() const; 00303 00309 void setIconSize( int size ); 00310 00315 int iconSize() const; 00316 00323 void setButtonIconSize( int size ); 00324 00329 int buttonIconSize() const; 00330 00331 00332 Q_SIGNALS: 00336 void iconChanged(const QString &icon); 00337 00338 private: 00339 class KIconButtonPrivate; 00340 KIconButtonPrivate* const d; 00341 00342 Q_DISABLE_COPY(KIconButton) 00343 00344 Q_PRIVATE_SLOT(d, void _k_slotChangeIcon()) 00345 Q_PRIVATE_SLOT(d, void _k_newIconName(const QString&)) 00346 }; 00347 00348 00349 #endif // KICONDIALOG_H
KDE 4.6 API Reference