kicondialog.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __KIconDialog_h__
00017 #define __KIconDialog_h__
00018
00019 #include <qstring.h>
00020 #include <qstringlist.h>
00021 #include <qpushbutton.h>
00022
00023 #include <kicontheme.h>
00024 #include <kdialogbase.h>
00025 #include <kiconview.h>
00026
00027 class QComboBox;
00028 class QTimer;
00029 class QKeyEvent;
00030 class QRadioButton;
00031 class KProgress;
00032 class KIconLoader;
00033
00034
00035
00039 class KIconCanvas: public KIconView
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 KIconCanvas(QWidget *parent=0L, const char *name=0L);
00045 ~KIconCanvas();
00046
00050 void loadFiles(const QStringList& files);
00051
00055 QString getCurrent() const;
00056
00057 public slots:
00058 void stopLoading();
00059
00060 signals:
00064 void nameChanged(QString);
00065
00066
00067 void startLoading(int);
00068 void progress(int);
00069 void finished();
00070
00071 private slots:
00072 void slotLoadFiles();
00073 void slotCurrentChanged(QIconViewItem *item);
00074
00075 private:
00076 QStringList mFiles;
00077 QTimer *mpTimer;
00078 KIconLoader *mpLoader;
00079 protected:
00080 virtual void virtual_hook( int id, void* data );
00081 private:
00082 class KIconCanvasPrivate;
00083 KIconCanvasPrivate *d;
00084 };
00085
00086
00093 class KIconDialog: public KDialogBase
00094 {
00095 Q_OBJECT
00096
00097 public:
00101 KIconDialog(QWidget *parent=0L, const char *name=0L);
00105 KIconDialog(KIconLoader *loader, QWidget *parent=0,
00106 const char *name=0);
00110 ~KIconDialog();
00111
00118 void setStrictIconSize(bool b);
00122 bool strictIconSize() const;
00127 void setCustomLocation( const QString& location );
00128
00134 void setIconSize(int size);
00135
00140 int iconSize() const;
00141
00142 #ifndef KDE_NO_COMPAT
00143
00146 QString selectIcon(KIcon::Group group=KIcon::Desktop, KIcon::Context
00147 context=KIcon::Application, bool user=false);
00148 #endif
00149
00154 void setup( KIcon::Group group,
00155 KIcon::Context context = KIcon::Application,
00156 bool strictIconSize = false, int iconSize = 0,
00157 bool user = false );
00158
00165 QString openDialog();
00166
00171 void showDialog();
00172
00190 static QString getIcon(KIcon::Group group=KIcon::Desktop,
00191 KIcon::Context context=KIcon::Application,
00192 bool strictIconSize=false, int iconSize = 0,
00193 bool user=false, QWidget *parent=0,
00194 const QString &caption=QString::null);
00195
00196 signals:
00197 void newIconName(const QString&);
00198
00199 protected slots:
00200 void slotOk();
00201
00202 private slots:
00203 void slotButtonClicked(int);
00204 void slotContext(int);
00205 void slotStartLoading(int);
00206 void slotProgress(int);
00207 void slotFinished();
00208 void slotAcceptIcons();
00209 private:
00210 void init();
00211 void showIcons();
00212
00213 int mGroupOrSize;
00214 KIcon::Context mContext;
00215 int mType;
00216
00217 QStringList mFileList;
00218 QComboBox *mpCombo;
00219 QPushButton *mpBrowseBut;
00220 QRadioButton *mpRb1, *mpRb2;
00221 KProgress *mpProgress;
00222 KIconLoader *mpLoader;
00223 KIconCanvas *mpCanvas;
00224 protected:
00225 virtual void virtual_hook( int id, void* data );
00226 private:
00227 class KIconDialogPrivate;
00228 KIconDialogPrivate *d;
00229 };
00230
00231
00240 class KIconButton: public QPushButton
00241 {
00242 Q_OBJECT
00243
00244 public:
00248 KIconButton(QWidget *parent=0L, const char *name=0L);
00249
00253 KIconButton(KIconLoader *loader, QWidget *parent, const char *name=0L);
00257 ~KIconButton();
00258
00264 void setStrictIconSize(bool b);
00268 bool strictIconSize() const;
00269
00274 void setIconType(KIcon::Group group, KIcon::Context context, bool user=false);
00275
00279 void setIcon(const QString& icon);
00280
00284 void resetIcon();
00285
00289 QString icon() const { return mIcon; }
00290
00296 void setIconSize( int size );
00297
00302 int iconSize() const;
00303
00304 signals:
00308 void iconChanged(QString icon);
00309
00310
00311 private slots:
00312 void slotChangeIcon();
00313 void newIconName(const QString& name);
00314
00315 private:
00316 bool mbUser;
00317 KIcon::Group mGroup;
00318 KIcon::Context mContext;
00319
00320 QString mIcon;
00321 KIconDialog *mpDialog;
00322 KIconLoader *mpLoader;
00323 class KIconButtonPrivate;
00324 KIconButtonPrivate *d;
00325 };
00326
00327
00328 #endif // __KIconDialog_h__
This file is part of the documentation for kio Library Version 3.2.3.