• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

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

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal