kdelibs/kio/kfile/kimagefilepreview.h
Ivailo Monev 95dc492b25 kio: use KImageFilePreview directly for previews
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-30 16:53:14 +03:00

82 lines
1.9 KiB
C++

/*
*
* This file is part of the KDE project.
* Copyright (C) 2001 Martin R. Jones <mjones@kde.org>
* 2001 Carsten Pfeiffer <pfeiffer@kde.org>
* 2008 Rafael Fernández López <ereslibre@kde.org>
*
* You can Freely distribute this program under the GNU Library General Public
* License. See the file "COPYING" for the exact licensing terms.
*/
#ifndef KIMAGEFILEPREVIEW_H
#define KIMAGEFILEPREVIEW_H
#include <QtGui/QPixmap>
#include <kurl.h>
#include <kpreviewwidgetbase.h>
class KFileItem;
class KJob;
namespace KIO { class PreviewJob; }
/**
* Image preview widget for the file dialog.
*/
class KIO_EXPORT KImageFilePreview : public KPreviewWidgetBase
{
Q_OBJECT
public:
/**
* Creates a new image file preview.
*
* @param parent The parent widget.
*/
explicit KImageFilePreview(QWidget *parent = 0);
/**
* Destroys the image file preview.
*/
~KImageFilePreview();
/**
* Returns the size hint for this widget.
*/
virtual QSize sizeHint() const;
public Q_SLOTS:
/**
* Shows a preview for the given @p url.
*/
virtual void showPreview(const KUrl &url);
/**
* Clears the preview.
*/
virtual void clearPreview();
protected Q_SLOTS:
void showPreview();
void showPreview( const KUrl& url, bool force );
virtual void gotPreview( const KFileItem&, const QPixmap& );
protected:
virtual void resizeEvent( QResizeEvent *event );
virtual KIO::PreviewJob * createJob( const KUrl& url, int width, int height );
private:
class KImageFilePreviewPrivate;
KImageFilePreviewPrivate *const d;
Q_DISABLE_COPY(KImageFilePreview)
Q_PRIVATE_SLOT( d, void _k_slotResult( KJob* ) )
Q_PRIVATE_SLOT( d, void _k_slotFailed( const KFileItem& ) )
Q_PRIVATE_SLOT( d, void _k_slotStepAnimation( int frame ) )
Q_PRIVATE_SLOT( d, void _k_slotFinished( ) )
};
#endif // KIMAGEFILEPREVIEW_H