KIO
kicondialog.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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