# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# 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__

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:23:59 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003